2017-10-04 111 views
0

我想在两个s3存储桶之间同步数据。如何在不同配置文件拥有的两个s3存储桶之间同步数据

问题是每个人都拥有不同的AWS账户(即访问密钥ID和秘密访问密钥)。

我试图让目的地斗公开可写的,但我仍然得到

fatal error: An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied 

如何解决这个问题?

+0

中的IAM角色之一启用跨帐户的访问(假设账户A )。在第二个帐户(比如说帐户B)存储桶中,设置存储桶策略以启用帐户A的IAM角色写入(s3:PutObject)。 –

+0

S3存储桶由根AWS账户拥有,而不是特定的IAM用户/角色/配置文件。另外,S3存储桶并不具体具有访问密钥/密钥,这些密钥是分配给根AWS账户或IAM账户的访问凭证。那么你是否说这些存储桶是由不同的AWS账户拥有的?或者您是否只是说您目前在单个AWS账户下使用不同的IAM用户访问存储桶? –

+0

是@MarkB。你是对的,由不同的AWS账户拥有两个桶。顺便说一句,我解决了授予源桶帐户的权限。 – gc5

回答

0

我通过授权将目标存储区写入源存储桶的AWS账户来解决此问题。

我去了目标存储桶的“权限”标签页,“访问其他AWS账户”,我使用账户电子邮件为源存储桶的AWS账户授予权限。

然后,我通过使用AWS CLI复制的文件(不要忘记给予完全访问收件人帐户!):

aws s3 cp s3://<source_bucket>/<folder_path>/ s3://<destination_bucket> --recursive --profile <source_AWSaccount_profile> --grants full=emailaddress=<destination_account_emailaddress> 
相关问题