为什么预先签名的帖子需要s3:PutObjectAcl权限?

时间:2015-05-27 19:49:00

标签: amazon-web-services amazon-s3

我认为它只需要s3:PutObject权限,因为尚未创建对象。

我做了类似的事情:

post = bucket.presigned_post({
  key: "/uploads/${filename}",
  acl: 'public-read'
})

然后,我使用结果创建一个HTML表单来上传文件。

IAM用户(我使用的凭据)需要s3:PutObjectAcl权限才能执行此操作。没有这个许可,我被拒绝访问。

https://forums.aws.amazon.com/thread.jspa?threadID=180012

1 个答案:

答案 0 :(得分:2)

您仍然在不是默认值的对象上放置ACL。

我无法在文档中找到引文,但是有理由认为"你可以把一个对象放在这个桶中#34;与"不同的权限(或信任级别);您可以指定谁可以访问此存储桶中的对象,"您是否现在通过上传带有固定ACL的对象或稍后通过修改对象的ACL来指定它。

将对象设置为public的能力绝对代表不同级别的权限。