AWS:S3 Bucket AWS 您无法授予 public 访问权限,因为此帐户已启用阻止 public 访问设置

AWS: S3 Bucket AWS You can't grant public access because Block public access settings are turned on for this account

我想为每个人制作 S3 存储桶 public,但是当我这样做时我的访问被拒绝并且它说

You can't grant public access because Block public access settings 
are turned on for this account. To determine which settings are 
turned on, check your Block public access settings.

当我进入 public 访问设置时,一切都已关闭。

我确实设置了 IAM 用户并且用户有 AmazonS3FullAccess 策略

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": "s3:*",
        "Resource": "*"
    }
  ]
 }

我确实在存储桶上设置了策略

{
"Version": "2012-10-17",
"Id": "Policy1557294263403",
"Statement": [
    {
        "Sid": "Stmt1557294241958",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::726051891502:user/borroup-admin"
        },
        "Action": "s3:*",
        "Resource": [
            "arn:aws:s3:::borroup",
            "arn:aws:s3:::borroup/*"
        ]
      }
    ]
 }

我确实在存储桶上设置了 CORS 配置编辑器

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>

似乎必须在权限和阻止 public 访问(帐户设置)两个地方取消选中它。

我希望你已经解决了这个问题,如果没有,请去编辑 public 访问设置

然后在下一个屏幕中输入确认以继续更改

除了 walterc 的回答之外,如果有人仍然遇到问题,我必须单击进入我想要访问的特定文件,然后为该文件单击“制作 Public”,因为只是制作存储桶 public 不适用于特定文件 link 访问。

我在使用 AWS S3 存储桶存储图像的 Rails 项目中遇到了同样的挑战。

我是这样解决的:

  1. 单击并打开您想要 assets/images/files 所在的存储桶。

  1. 单击存储桶页面顶部菜单中的“权限”选项卡

  1. 单击 阻止 public 访问(存储桶设置) 部分中的编辑。然后取消勾选阻止所有public访问。然后保存您的更改。

注意:您可以从给定的选项中select您想要的public访问类型。

就这些了。

希望对您有所帮助