更改root用户的存储桶策略时,aws s3访问被拒绝

时间:2019-04-17 17:22:07

标签: amazon-web-services amazon-s3

我以root用户的身份登录aws帐户。已为static website hosting创建了一个存储桶。我还取消选中了Public access Settings上的所有选项,如下图所示。 enter image description here

之后,我尝试从docs

更新存储桶策略
{
  "Version":"2012-10-17",
  "Statement":[{
    "Sid":"PublicReadGetObject",
        "Effect":"Allow",
      "Principal": "*",
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::example-bucket/*"
      ]
    }
  ]
}

但是我不断收到Access denied错误。我不明白我错过了什么。我尝试了以下操作。

  • 我发现了其他SO帖子this,该帖子告诉您取消选中block new public bucket policies option我已经做过,但是 为什么对我不起作用?

  • 我销毁了存储桶并重做了所有内容,但问题相同 持续存在。

  • 我还创建了一个新的IAM用户,其角色可以访问所有内容。这也没有解决问题。

  • 不过,我可以通过public选项卡下s3菜单中的Make Public选项将s3对象手动更改为s3 Overview。这暂时暂时解决了我的问题,但是每次重新上传文件时,我都必须继续这样做。

所以我的问题是。 为什么即使root用户也拒绝访问?

enter image description here

1 个答案:

答案 0 :(得分:0)

我按照您的步骤进行,对我来说很好:

  • 我创建了一个新存储桶
  • 我点击了存储桶,进入了权限标签,并编辑了公共访问设置
  • 我关闭了关闭 管理该存储桶的公共存储桶策略
  • 下的两个设置
  • 我通过接受您的政策(上方)添加了存储桶策略,并更改了存储桶名称以匹配我的存储桶
  • 我成功保存存储桶政策

然后它给了我一个警告提示:

  

此存储桶具有公共访问权限

     

您已提供对此存储桶的公共访问权限。我们强烈建议您不要授予对S3存储桶的任何公开访问权限。

我看不到为什么您会收到拒绝访问。我唯一的建议是在出现一些奇怪问题的情况下,使用其他浏览器进行尝试。

您还可以通过AWS CLI 添加存储桶策略put-bucket-policy — AWS CLI Command Reference

这也成功将存储桶策略添加到了我的存储桶中。