托管静态网站的S3存储桶策略

时间:2017-01-06 03:51:20

标签: amazon-web-services amazon-s3 permissions amazon-iam

我有一个用于托管静态网站的S3存储桶。 This example显示的政策授予所有人对指定存储区中对象的访问权限(即公开网站):

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

但是,我想让网站只能访问特定的亚马逊用户。因此,在this documentation之后,我在Principal中指定了这些用户:

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

虽然这可以正确启用谁可以通过S3控制台访问资源的权限,但它会导致403 所有人尝试访问托管网站。

是否可以让用户级权限限制对托管存储区的访问?

1 个答案:

答案 0 :(得分:2)

不可以,在S3中无法将用户级权限应用于静态网站存储桶。来自Permissions Required for Website Access

  

将存储桶配置为网站时,必须使要提供的对象公开可读。