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

问题描述 投票:0回答:1

我以aws帐户的root用户身份登录。为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

amazon-web-services amazon-s3
1个回答
0
投票

我按照你的步骤,它对我来说很好:

  • 我创建了一个新桶
  • 我点击了存储桶,进入了权限选项卡并编辑了公共访问设置
  • 我关闭了此存储桶的管理公共存储桶策略下的两个设置
  • 我通过采取您的策略(上面)添加了一个Bucket Policy,并更改了桶名以匹配我的存储桶
  • 我成功保存了Bucket Policy

然后它给了我一个警告说明:

这个桶有公共访问权限

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

我不明白为什么你会收到Access Denied。我唯一的建议是尝试使用不同的浏览器以防万一有一些奇怪的问题。

您还可以通过AWS CLI添加Bucket Policy:put-bucket-policy — AWS CLI Command Reference

这也成功地将Bucket Policy添加到我的存储桶中。

© www.soinside.com 2019 - 2024. All rights reserved.