使用assumeRule在3个AWS帐户之间进行跨帐户访问



我们在AWS-Account-A中有一项服务,它将把一些带有ACL: 'bucket-owner-full-control'的文件复制到AWS-Account-B的s3存储桶中。现在有一个AWS-Account-C,它已经有一个来自AWS-Account-B的assumeRule(它附加了一个S3读取访问策略(,并且S3 bucket策略已经提供了对AWS-Account-C规则的读取访问,所以问题是,AWS-Account-C:Can't读取从AWS-Account-A上传的文件,并且仅CAN阅读使用AWS-Account-B本身上传的文件。

我知道这是房地产公司的同谋,但据我所知,这是一个所有权问题。bucket策略只适用于bucket所有者拥有的对象,所以这就像X拥有一些文件,他将其复制到Y,现在Z无法从Y获得它,因为它不属于Y

如果有人以前面对过这种sencarios并有解决方案,我真的很感激它能提供一些指导。

您的问题是使用Account-A将文件复制到Account-B拥有的存储桶中,但现在复制的文件归Account-A所有。这就是为什么Account-C无法访问它们。Account-C没有所需的权限。

正确的程序是在账户B中创建一个由账户a承担的角色。然后,在Account-A将文件复制到Account-B中的bucket之前,它将承担Account-B的角色。现在,复制到bucket的文件将归Account-B所有。

对于当前在Account-B存储桶中的文件,在使用Account-B的凭据时执行就地复制。这将把所有权切换到Account-B。

这是一个就地复制的例子。注意:S3中没有数据通过互联网传输,因此执行速度很快。

aws s3 cp s3://mybucket/mykey s3://mybucket/mykey --storage-class STANDARD

要应用于整个密钥文件夹的"--recursive"参数。

警告:

1( 所有自定义元数据和现有权限都将丢失。

2( 在执行这样的命令之前,请确保您有数据备份。

相关内容

  • 没有找到相关文章

最新更新