【问题标题】:Cloudfront restricting to IPs in bucket policyCloudfront 限制存储桶策略中的 IP
【发布时间】: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 访问列表?如果是这样,我该怎么做?

【问题讨论】:

    标签: amazon-s3 amazon-cloudfront


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2021-12-21
      • 2018-05-05
      • 1970-01-01
      • 2018-10-20
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      • 2017-09-14
      • 1970-01-01
      相关资源
      最近更新 更多