Cloudfront 限制存储桶策略中的 IP
Posted
技术标签:
【中文标题】Cloudfront 限制存储桶策略中的 IP【英文标题】:Cloudfront restricting to IPs in bucket policy 【发布时间】:2018-04-24 05:35:18 【问题描述】:我正在使用 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 访问列表?如果是这样,我该怎么做?
【问题讨论】:
【参考方案1】:您可以从 S3 存储桶策略中删除 IP 黑名单/白名单,并将具有所需访问规则的 AWS WAF 附加到 CloudFront 分配。
注意:确保在将 S3 存储桶设为私有时,在 CloudFront 和 S3 中正确设置源访问身份用户。此外,如果存储桶位于与北弗吉尼亚不同的区域,则 DNS 传播可能需要一些时间。
【讨论】:
谢谢阿山。我目前正在尝试使用我认为不包括 WAF 的 AWS 免费套餐。有其他选择吗? 使用 CloudFront,白名单的唯一选项是 WAF。 好的,我可能不得不退回到这个。与 IP 相比,基本身份验证可能是一种选择,但我不确定这是否会更容易。【参考方案2】:一个 lambda 函数,可根据已发布的 IP 列表Here 的变化更改存储桶策略
该功能可以被SNS主题监控IP列表调用。 Here is the documentation on that.
这是它的 SNS 主题。
arn:aws:sns:us-east-1:806199016981:AmazonIpSpaceChanged
【讨论】:
以上是关于Cloudfront 限制存储桶策略中的 IP的主要内容,如果未能解决你的问题,请参考以下文章