S3未检测到存储桶策略

时间:2017-06-13 16:30:21

标签: amazon-web-services amazon-s3

我创建了一个Amazon S3存储桶,我希望提供对所有公司用户的访问权限,这意味着任何人都可以访问S3存储桶并下载对象。

我已经为IP限制编写了一个Bucket Policy:

{
  "Version": "2012-10-17",
  "Id": "S3PolicyIPRestrict",
  "Statement": [
    {
      "Sid": "IPAllow",
      "Effect": "Allow",
      "Principal": "",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::mybucket/*",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": [
            "10.0.8.10"
          ]
        }
      }
    }
  ]
}

当我为每个人添加ACL权限时,#34;阅读"然后只有我能够访问该对象。但是存储策略不适用。任何人都可以从网络外部访问。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您的存储分区策略授予源{IP地址10.0.8.10的权限。这是一个私人IP地址

但是,Amazon S3是一种坐在互联网上的公共服务。访问Amazon S3时,请求通过Internet(或至少访问Internet的AWS边缘),您的请求似乎来自公共IP地址。因此,该政策不允许访问,因为您的地址与政策中的地址不匹配。

您应该更改策略以使用公司流量访问Internet时使用的公共IP地址。您可以通过http://checkip.amazonaws.com发现此地址。

此外,如果您通过Bucket Policy授予访问权限,则通过ACL授予访问权限。