0

A 有一个带有公共读取策略的存储桶。现在我想限制对某些对象的访问,以便只能从某些 IP 地址访问。这可能吗?

我还计划添加 CloudFront。我应该怎么做才能在每个对象上保持相同的设置?

谢谢!

4

1 回答 1

5

您可以使用 S3 存储桶策略。但是,它将应用于存储桶中的各个文件夹,而不是单个文件。您可以使用如下策略:

  {
        "Version": "2008-10-17",
        "Id": "testPolicy",
        "Statement": [

            {
                "Sid": "1",
                "Effect": "Allow",
                "Principal": {
                    "AWS": "*"
                },
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::bucketname/subfolder/subfolder2/*",
                "Condition": {
                    "IpAddress": {
                        "aws:SourceIp": [
                            "xxx.xxx.xxx.xxx/xx",
                            "xxx.xxx.xxx.xxx/xx"
                        ]
                    }
                }
            }
        ]
    }

使用您的存储桶名称和文件夹名称以及 IP。

注意:请先在非生产存储桶上尝试。

于 2013-01-31T09:48:24.397 回答