如何允许其他IAM用户将内容上传到我的公共S3存储桶而不会弄乱权限

时间:2017-07-11 19:43:31

标签: amazon-web-services amazon-s3

我有一个S3存储桶配置了这样的存储桶策略:

{
    "Effect": "Allow",
    "Principal": "*",
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::dotlabs-test/*"
}

此存储桶中的所有内容均可通过HTTP访问,无需身份验证。

直到现在它工作正常,但现在我必须创建一个IAM用户,他应该能够以同样的方式管理这个存储桶中的文件。

我碰到了几个路障:

1)我发现当我只是授予所有相关的R / W权限并且IAM用户使用aws s3 cp来复制文件时,它之后就不再公开了,甚至我也无法公开访问它。

2)似乎没有办法(这是一个巨大的无赖!)只是无法将正确的ACL设置为默认值。谷歌搜索建议用户需要始终指定--acl bucket-owner-full-control,我唯一能做的就是在我的策略中添加一条语句,如果没有设置此标志,则会拒绝上传。

3)使用--acl bucket-owner-full-control,我现在可以访问用户上传的文件。 但无法匿名访问浏览器。

如果还没找到解决问题的方法。

我的问题是:

A)[最重要的是:] IAM用户需要在aws s3 cp命令中放置什么才能让我完全访问该文件,并尊重授予每个人读取权限的存储桶策略,以便文件可以通过其URL公开访问吗?

B)如果问题是亚马逊总是只对上传者应用一个完全控制的默认ACL,而且每次上传都没有其他任何人的访问权限,那为什么它不会影响我自己完成的上传?存储桶策略适用于那些。为什么它对其他人不起作用?

C)为什么所有者显示为" amazon" (不是我)当我上传文件时,但作为其他人的上传者?

0 个答案:

没有答案