繁体   English   中英

如何将bucket-owner-full-control授权给从一个帐户中的redshift卸载到另一个帐户的s3存储桶的文件?

[英]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存储桶中对象的内容。

  1. 用户的IAM策略:

用户(或用户所属的组)是否具有附加的IAM策略,允许其列出/读取AWS桶中的对象? 您可以通过转到IAM控制台并检查用户来检查这一点。

  1. S3存储桶的访问控制列表:

存储桶ACL是否允许主机帐户的列表/读取权限? 它可能是存储桶授予远程帐户的权限,但不授予主机帐户。 您可以通过转到S3控制台,选择存储桶,然后单击滑入窗口中的“权限”来进行检查。

  1. S3存储桶的存储策略:

S3存储桶策略是否明确拒绝任何人的列表/读取权限? 如果是这样,您的用户可能就是那个人。 一个空白的政策是可以的。 通过与#2相同的方法检查。

  1. 单个对象的权限:

每个S3对象都有权限设置。 可能是帐户A中的Redshift服务未设置授予帐户B列表/读取访问权限所需的权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM