Amazon web services 使用assumeRule在3个AWS帐户之间进行跨帐户访问
我们在Amazon web services 使用assumeRule在3个AWS帐户之间进行跨帐户访问,amazon-web-services,amazon-s3,aws-sdk,amazon-iam,Amazon Web Services,Amazon S3,Aws Sdk,Amazon Iam,我们在AWS-Account-a中提供了一项服务,该服务将使用ACL:'bucket owner full control'将一些文件复制到AWS-Account-B中的s3 bucket中。现在有一个AWS-Account-C已经从AWS-Account-B获得了一个assumeRule(附加了S3读访问策略),并且S3 bucket策略已经授予了AWS-Account-C规则的读访问权,所以问题是,AWS-Account-C:无法读取从AWS-Account-A上载的文件,只有可以读取使用A
AWS-Account-a
中提供了一项服务,该服务将使用ACL:'bucket owner full control'
将一些文件复制到AWS-Account-B
中的s3 bucket中。现在有一个AWS-Account-C已经从AWS-Account-B获得了一个assumeRule(附加了S3读访问策略),并且S3 bucket策略已经授予了AWS-Account-C规则的读访问权,所以问题是,AWS-Account-C:无法读取从AWS-Account-A上载的文件,只有可以读取使用AWS-Account-B本身上载的文件
我知道这是一场真正的比赛,但据我所知,这是一个所有权问题。bucket策略仅适用于bucket所有者拥有的对象,因此它就像,X
拥有一些文件,他将其复制到Y
,现在Z
无法从Y
获取它,因为它不属于Y
如果以前有人遇到过这种问题,并且有了解决方案,我真的很感谢您能提供一些指导。您的问题是,您使用Account-A将文件复制到Account-B拥有的存储桶中,但现在复制的文件归Account-A所有。这就是Account-C无法访问它们的原因。帐户-C没有所需的权限
正确的步骤是在Account-B中创建一个由Account-a承担的角色。然后在Account-a将文件复制到Account-B中的bucket之前,它承担Account-B角色。现在复制到bucket的文件将由Account-B拥有
对于当前在Account-B存储桶中的文件,在使用Account-B的凭据时执行就地复制。这将把所有权切换到帐户B
这里有一个就地复制的例子。注意:S3中没有数据通过互联网传输,因此执行速度很快
aws s3 cp s3://mybucket/mykey s3://mybucket/mykey --storage-class STANDARD
“--recursive”参数应用于整个密钥文件夹
警告:
1) 所有自定义元数据和现有权限都将丢失
2) 在执行此类命令之前,请确保您有数据备份。您的问题是,您使用Account-a将文件复制到Account-B拥有的存储桶中,但现在复制的文件归Account-a所有。这就是Account-C无法访问这些文件的原因。帐户-C没有所需的权限
正确的步骤是在Account-B中创建一个由Account-a承担的角色。然后在Account-a将文件复制到Account-B中的bucket之前,它承担Account-B角色。现在复制到bucket的文件将由Account-B拥有
对于当前在Account-B存储桶中的文件,在使用Account-B的凭据时执行就地复制。这将把所有权切换到帐户B
这里有一个就地复制的例子。注意:S3中没有数据通过互联网传输,因此执行速度很快
aws s3 cp s3://mybucket/mykey s3://mybucket/mykey --storage-class STANDARD
“--recursive”参数应用于整个密钥文件夹
警告:
1) 所有自定义元数据和现有权限都将丢失
2) 在执行此类命令之前,请确保您有数据备份。以便我们可以尝试再现您的情况,请显示您使用的策略(您可以删除敏感名称)以及复制文件时所采取的确切步骤(例如发出的命令)。以便我们可以尝试再现您的情况,请显示您使用的策略(您可以删除敏感名称)以及复制文件时采取的确切步骤(如发出的命令)。这是一个可能的答案。但是,如果您不能从帐户B中担任角色,那么在推送文件时,您必须从帐户a向帐户B授予完全权限。帐户B可以添加一条规则,拒绝任何不包含该权限的推送。请参阅使用S3对象所有权控制上载对象的所有权:这是一个可能的答案。但是,如果您不能从帐户B中担任角色,那么在推送文件时,您必须从帐户a向帐户B授予完全权限。帐户B可以添加一条规则,拒绝任何不包含该权限的推送。请参阅使用S3对象所有权控制上载对象的所有权: