AWS S3存储桶策略引发访问被拒绝错误

时间:2019-05-18 16:14:46

标签: amazon-web-services amazon-s3 amazon-iam policy bucket

按照链接https://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html->我试图在AWS S3上创建和托管静态页面。但是我在使用存储桶策略向我的存储桶提供公共访问时遇到了麻烦。

所以,一旦我粘贴

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

这使我拒绝访问错误。

在IAM中,我已将以下自定义策略与用户ID相关联,但是仍然收到错误消息。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::mybucket-name.com",
                "arn:aws:s3:::mybucket-name.com/*"
            ]
        }
    ]
}

我也已将此策略链接到我的用户名和角色。 创建存储桶时,我的“阻止公共访问”如下所示。 Block Public Access 我的ACL按钮也提供了“仅列出”的公共访问权限。 ACL

因此,任何人都可以帮助我在这里所缺少的东西,我已经研究了这里提供的不同建议,但还是没有运气。谁能给我任何方向,例如不会迷路?

1 个答案:

答案 0 :(得分:2)

您仅为自己分配了在存储桶中编辑内容的权限。有关权限的列表,请参见S3 docs

您至少希望将s3:PutBucketPolicy添加到用户权限列表中。但是s3:PutBucketAcls3:PutBucketWebsite也可能有用。

就我个人而言,我可能只将s3:*交给设置此设置的用户,否则您可能最终再次遇到这个绊脚石。