A 有一个带有公共读取策略的存储桶。现在我想限制对某些对象的访问,以便只能从某些 IP 地址访问。这可能吗?
我还计划添加 CloudFront。我应该怎么做才能在每个对象上保持相同的设置?
谢谢!
A 有一个带有公共读取策略的存储桶。现在我想限制对某些对象的访问,以便只能从某些 IP 地址访问。这可能吗?
我还计划添加 CloudFront。我应该怎么做才能在每个对象上保持相同的设置?
谢谢!
您可以使用 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。
注意:请先在非生产存储桶上尝试。