将文件从一个存储区复制到另一个存储区仍然将s3文件所有者设置为源

时间:2017-11-13 22:19:42

标签: amazon-web-services amazon-s3 aws-sdk

我在一个帐户中有一个存储桶,我正在尝试将此存储桶中的内容复制到另一个帐户中的另一个存储桶中:

我在此发现:AWS S3 copy files and folders between two buckets

以下命令:

aws s3 sync s3://mybucket-src s3://mybucket-target

诀窍。但问题是当我在目标桶中复制图像时,我看到:

enter image description here

因此,您可以看到加密已更改为无拒绝访问。所以现在,当我甚至尝试手动公开图像时,它不起作用,我甚至无法打开图像。

任何人都可以帮助解决我的问题吗?

以下是我的目标政策:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAll", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::xxxxxxxxxxxx:root", "" ] }, "Action": "", "Resource": [ "arn:aws:s3:::test", "arn:aws:s3:::test/*" ] } ] }

两个存储桶上的默认加密都是无

更新: 还有一件事可能提供线索:我在另一个帐户上测试了同样的s3设置和工作,但这两个帐户的问题相同。我不确定是什么问题,因为我甚至没有在s3上使用加密。我认为在设置帐户时会发生一些事情,或者可能是aws中的错误

更新

我还注意到,在新帐户中复制的文件的所有者仍然是最后一个帐户。所以它引用了最后一个所有者

1 个答案:

答案 0 :(得分:1)

我的回答是假设您使用KMS管理密钥(SSE-KMS)加密了S3对象。

您有两种选择:

  1. 在将未加密的内容存储到目标存储区之前,重新复制解密文件的副本。
  2. 在帐户之间共享加密密钥。
  3. 如何启用对现有自定义键的跨帐户访问。

    在KMS控制台中,单击要为其启用跨帐户访问权限的自定义密钥别名。

    在“密钥用法”部分中,查找“外部帐户”子部分,然后单击“添加外部帐户”。键入您希望能够使用此密钥的帐户的12位AWS账户ID。对要添加的每个其他外部帐户重复此过程。完成后单击“保存更改”。

    Share Custom Encryption Keys