[英]How can I assign bucket-owner-full-control to millions of already existing files in a s3 bucket?
[英]How to grant bucket-owner-full-control to a file unloaded from redshift in one account to an s3 bucket in another account?
我在AWS账户“A”中有一个红移群集,在账户“B”中有一个S3桶。 我需要将数据从A中的redshift帐户卸载到B中的S3存储桶。
我已经提供了必要的存储桶策略和角色策略来卸载数据。 数据也会成功卸载。 现在的问题是,从此卸载创建的文件的所有者是帐户A,并且该文件需要由用户B使用。在尝试访问该对象时,我将被拒绝访问。 我该如何解决这个问题?
PS:Redshift IAM策略已授予ListBucket和GetObject权限。
这对我有用 - 链接IAM角色。
例如,假设公司A想要访问属于公司B的Amazon S3存储桶中的数据。公司A为名为RoleA的Amazon Redshift创建AWS服务角色,并将其附加到其集群。 公司B创建一个名为RoleB的角色,该角色有权访问公司B存储桶中的数据。 要访问公司B存储桶中的数据,公司A使用链接RoleA和RoleB的iam_role参数运行COPY命令。 在UNLOAD操作期间,RoleA临时假定RoleB可以访问Amazon S3存储桶。
更多详细信息: https : //docs.aws.amazon.com/redshift/latest/mgmt/authorizing-redshift-service.html#authorizing-redshift-service-chaining-roles
在我的脑海中,我可以想到四个可能阻止帐户B用户访问同一帐户中S3存储桶中对象的内容。
用户(或用户所属的组)是否具有附加的IAM策略,允许其列出/读取AWS桶中的对象? 您可以通过转到IAM控制台并检查用户来检查这一点。
存储桶ACL是否允许主机帐户的列表/读取权限? 它可能是存储桶授予远程帐户的权限,但不授予主机帐户。 您可以通过转到S3控制台,选择存储桶,然后单击滑入窗口中的“权限”来进行检查。
S3存储桶策略是否明确拒绝任何人的列表/读取权限? 如果是这样,您的用户可能就是那个人。 一个空白的政策是可以的。 通过与#2相同的方法检查。
每个S3对象都有权限设置。 可能是帐户A中的Redshift服务未设置授予帐户B列表/读取访问权限所需的权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.