首页 > 解决方案 > 更改 root 用户的存储桶策略时,AWS s3 访问被拒绝

问题描述

root以 aws 帐户的用户身份登录。已为 创建了一个存储桶static website hosting。我还取消了所有选项,Public access Settings如下图所示。 在此处输入图像描述

之后,我尝试从文档中将存储桶策略更新为此

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

但我不断收到Access denied错误。我不明白我错过了什么。我已经尝试过以下事情。

所以我的问题是。为什么即使对于 root 用户,我也一直被拒绝访问?

在此处输入图像描述

标签: amazon-web-servicesamazon-s3

解决方案


我按照您的步骤操作,对我来说效果很好:

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

然后它给了我一个警告:

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

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

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

您还可以通过 AWS CLI 添加存储桶策略put-bucket-policy — AWS CLI 命令参考

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


推荐阅读