我正在使用AWS S3开发一个演示网站,并且使用存储桶策略限制使用一定数量的IP(例如)。
{
"Id": "S3PolicyId1",
"Statement": [
{
"Sid": "IPDeny",
"Effect": "Deny",
"Principal": {
"AWS": "*"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::my-wicked-awesome-bucket/*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": "XX.XX.XX.XX/XX"
}
}
}
]
}
这很好用。现在,我想使用CloudFront在自定义域上通过HTTPS为网站提供服务。我已经创建了分发,并且已经修改了存储桶策略(允许CloudFront访问)但是当我尝试访问CloudFront URL时,我一直收到拒绝访问的错误。
是否仍然可以使用CloudFront使用存储桶策略IP访问列表?如果是这样,我该怎么做?
答案 0 :(得分:2)
您可以从S3存储桶策略中删除IP黑名单/白名单,并将具有所需访问规则的AWS WAF附加到CloudFront分配。
注意:确保在将S3存储桶设为私有时,在CloudFront和S3中正确设置Origin Access Identity User。此外,如果存储桶位于与北弗吉尼亚州不同的区域,则DNS传播可能需要一些时间。
答案 1 :(得分:1)
一个lambda函数,它根据已发布的IP列表Here
中的更改来更改Bucket策略可以通过SNS主题监控IP列表来调用该功能。 Here is the documentation on that.
以下是SNS主题。
arn:aws:sns:us-east-1:806199016981:AmazonIpSpaceChanged