AWS s3跨账户网站AccessDenied

时间:2019-09-05 21:50:15

标签: amazon-web-services amazon-s3

我有2个AWS账户,即accountA和accountB。

我正在使用以下方式将一些静态网站文件从accountA发送到accountB:

aws s3 cp s3:BucketA s3://BucketB --recursive --acl bucket-owner-full-control

在遇到AccessDenied错误时,一切正常,直到尝试访问该网站为止。

如果acl不起作用,我该怎么办?

Ps。我的存储桶已配置为用作网站,如果我从帐户本身上传文件,则可以完美访问该网站。

1 个答案:

答案 0 :(得分:1)

问题在于accountB不拥有对象,因此存储桶策略不适用于那些对象。有两种解决方法:

  1. 该帐户复印机在复制时必须应用公开读取的ACL。
  2. accountB存储桶所有者将必须在复制后 (通过在其自身上复制每个对象,并可能进行一些较小的修改,例如元数据)来获取对象的所有权。

最简单的解决方案是#1,在这种情况下,我建议您在复制文件时同时应用 public-readbucket-owner-full-control ACL。