亚马逊s3存储桶策略限制访问无效

时间:2013-04-05 08:13:13

标签: amazon-s3

除了某些网站(使用referer)之外,我希望所有公共场所的亚马逊s3限制访问文件,
目前我有这个桶政策

{
"Id":"foosite-test",
"Statement":[
  {
     "Sid": "Allow from foosite admin",
     "Action": "s3:GetObject",
     "Effect": "Allow",
     "Resource": "arn:aws:s3:::mybucket/*",
     "Principal": {
        "AWS":["*"]
     },
     "Condition": {
        "StringLike": {
               "aws:Referer": [
              "http://www.foosite.co.uk/admin/*",
              "http://www.foosite.co.au/admin/*"
           ]
        }
     }
  }
  ]
}

但似乎这项政策没有效果。我可以复制粘贴s3对象网址,仍然可以访问该文件。 这个政策有什么问题?

1 个答案:

答案 0 :(得分:0)

您还需要为deny添加策略,即阻止所有其他引用者。我回答了类似的问题,但没有在该示例政策中包含拒绝部分。您可以在此处找到我更新的答案:Amazon S3 objects: is it possible to restrict public read policy to some IP adresses only ?

在您的情况下,您必须使用referer而不是IP。