在使用root用户(= bucket owner)的aws s3存储桶上放置存储桶策略时拒绝访问

Tij*_*out 4 policy amazon-s3 root bucket amazon-web-services

我有一个AWS root用户,我用它在Amazon上创建一个S3存储桶.
现在我想通过添加以下策略使这个桶公开:

{
   "Version": "2012-10-17",
   "Statement": [{
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::<my bucket name>/*"
   }]
}
Run Code Online (Sandbox Code Playgroud)

我的名字在哪里?
当我尝试保存此策略时,我获得了403拒绝访问权限.

我尝试明确设置putbucketpolicy权限,但它仍然给出403.
任何机构知道为什么?

这是图像错误:

aws错误消息的图像

Fed*_*o S 22

如果通过CloudFormationAWS SAM进行部署,您需要明确允许存储桶公开,如下所示:

  MyExampleBucket:
    Type: AWS::S3::Bucket
    Properties:
      PublicAccessBlockConfiguration:
        BlockPublicPolicy: false
        RestrictPublicBuckets: false
Run Code Online (Sandbox Code Playgroud)

然后,您可以指定允许公共访问的 AWS::S3::BucketPolicy。


Huu*_*yen 8

在我的AWS S3上捕获

取消选中2行以修复拒绝访问.但请记住清楚地阅读它并在创建新桶之前考虑它.许可非常重要.

  • @KenKrueger 这是 2018 年的 anwser,我已经 4 年没有使用 AWS 了。欢迎在下面分享您的解决方案。谢谢。 (4认同)
  • 这是不正确的。Tijl 设置的是存储桶策略,而不是 ACL。“阻止新的公共政策”复选标记是需要取消选中的复选标记 (2认同)

Tij*_*out 6

我尝试创建一个新存储桶,并通过将以下权限参数设置为未选中(假),现在可以调整存储桶策略以使存储桶对象公开。之后我勾选了之前的四个复选框,现在它可以工作了。

权限

在此输入图像描述


dpa*_*yas 6

对于使用aws-cdk现有存储桶来解决此错误的人们:

当您在存储桶属性中设置"blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL"或任何其他阻止时,请检查一下您是否不尝试修改存储桶策略。s3.BlockPublicAccess

如果您想修改策略,则必须将其关闭或删除该属性。部署(修改)策略后,您可以blockPublicAccess再次设置该属性。