亚马逊 S3 存储桶策略:拒绝公共访问

28

我想将我的S3存储桶设置为公共访问,但是添加以下策略时出现了“拒绝访问”的错误:

{
   "Version":"2012-10-17",
   "Statement":[{
      "Sid":"AddPerm",
      "Effect":"Allow",
      "Principal":"*",
      "Action":[
         "s3:GetObject"
      ],
      "Resource":[
         "arn:aws:s3:::emergencydatascience.org/*"
      ]
    }]
}

潜在的[duplicate](https://dev59.com/cnE85IYBdhLWcg3w64EA) - openwonk
如果您想将其用作网站,您应该启用静态网站托管并创建一个CloudFront分发,其中S3作为源。 - openwonk
也许我没有 root 访问权限?该帐户归同事所有。我已被授予管理员访问权限,这应该足以工作。 - Richard Trinh
5
已解决。默认情况下,S3存储桶似乎会阻止新的公共策略。在公共访问设置中将其更改为false,然后您就可以再次编辑存储桶策略。 - Richard Trinh
3
这是一项名为S3 Block Public Access的新的AWS安全功能,截至21小时前已推出。详情请参考:https://aws.amazon.com/blogs/aws/amazon-s3-block-public-access-another-layer-of-protection-for-your-accounts-and-buckets/。 - jarmod
显示剩余5条评论
4个回答

35

进入您的存储桶 > 权限 > 公共访问设置 > 编辑 > 取消选中 阻止新的公共 ACL 和上传公共对象 和 移除通过公共 ACL 授予的公共访问(警告)

输入图像描述


11

2
为了让对象可以公开访问, 需要修改账户的公共访问权限,如下图所示: enter image description here 同时,在存储桶级别也需开启相同权限,如下图所示: enter image description here 若未进行以上更改,则无法添加新的公共策略。

0

虽然AWS策略非常灵活,但请注意以下的回答仅适用于我提供它时的日期,并且随着时间的推移可能会发生变化。 创建具有公共访问策略的新桶所需的是更改帐户级别的“阻止公共访问”配置如下: 在此输入图像描述

完成此更改后,还需要执行Bucket级别的常规设置-添加策略并更改Bucket级别的“阻止公共访问”(与帐户级别的方式相同)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接