Google Cloud Armor 的已命名 IP 地址列表

利用 Google Cloud Armor 的已命名 IP 地址列表,您可以引用第三方提供商维护的 IP 地址和 IP 地址范围列表。您可以在安全政策中配置已命名的 IP 地址列表。您不必手动指定每个 IP 地址或 IP 地址范围。

在 Beta 版期间,已命名的 IP 地址列表可供所有人使用。当已命名的 IP 地址列表正式发布时,只有注册了 Google Cloud Armor Managed Protection Plus 层级的项目才能访问它们。

在本文档中,术语“IP 地址”和“IP 地址列表”包括“IP 地址范围”。

已命名的 IP 地址列表是以不同的名称分组的 IP 地址列表。该名称通常是指提供商。已命名的 IP 地址列表不受制于每个规则的 IP 地址数量配额限制。

已命名的 IP 地址列表不是安全政策。您可以像引用预配置的规则一样,将已命名的 IP 地址列表作为表达式引用,从而将它们整合到一项安全政策中。

例如,如果第三方提供商的 IP 地址列表 {ip1, ip2, ip3....ip_N_} 的名称为 provider-a,那么您可以创建一个安全规则,以允许列表 provider-a 中的所有 IP 地址,并排除该列表以外的 IP 地址:

gcloud beta compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluatePreconfiguredExpr('provider-a')" \
    --action "allow"

仅允许来自允许的第三方提供商的流量

典型的使用场景是创建一个许可名单以包含允许的第三方合作伙伴的 IP 地址,从而确保只有来自该合作伙伴的流量才能访问负载平衡器和后端。

例如,CDN 提供商需要定期从来源服务器拉取内容,以将其分发到自己的缓存。与 Google 合作有助于 CDN 提供商与 Google 广告网络边缘建立直接联系。Google Cloud 上的 CDN 用户可以在来源拉取期间使用此直接联系。在这种情况下,CDN 用户可能希望构建一项安全政策,以仅允许来自该特定 CDN 提供商的流量。

在此示例中,CDN 提供商发布其 IP 地址列表 23.235.32.0/20, 43.249.72.0/22, ⋯,。CDN 用户配置了一条安全规则以仅允许来自这些 IP 地址的流量。因此,允许两个 CDN 提供商接入点(23.235.32.1043.249.72.10),从而允许其流量。来自未经授权的接入点 198.51.100.1 的流量已被阻止。

Google Cloud Armor 的已命名 IP 地址
Google Cloud Armor 的已命名 IP 地址(点击可放大)

使用预配置规则简化配置和管理

CDN 提供商通常使用众所周知的 IP 地址,许多 CDN 用户都需要使用这些地址。当提供商添加、移除和更新 IP 地址时,这些列表会随时间而变化。

在安全政策规则中使用已命名的 IP 地址列表可简化 IP 地址的配置和管理过程,因为 Google Cloud Armor 每天都会自动同步 CDN 提供商的信息。这样一来,您不必再手动维护大型 IP 地址列表,这个过程既耗时又容易出错。

以下是允许来自一个提供商的所有流量的预配置规则示例:

evaluatePreconfiguredExpr('provider-a') => allow traffic

IP 地址列表提供商

Google Cloud Armor 支持下表中的 IP 地址列表提供者。这些提供商是与 Google 合作的 CDN 提供商。其 IP 地址列表通过各个公共网址发布。

这些合作伙伴提供单独的 IPv4 地址和 IPv6 地址列表。Google Cloud Armor 使用提供的网址提取列表,然后将列表转换为已命名的 IP 地址列表。您可以通过表中的名称引用列表。

例如,以下代码会在优先级为 750 的安全政策 POLICY_NAME 中创建规则,将来自 Cloudflare 的已命名 IP 地址列表整合在一起,并允许访问这些 IP 地址:

gcloud beta compute security-policies rules create 750 \
    --security-policy POLICY_NAME \
    --expression "evaluatePreconfiguredExpr('sourceiplist-cloudflare')" \
    --action "allow"
提供方 网址 IP 地址列表名称
Fastly https://api.fastly.com/public-ip-list sourceiplist-fastly
Cloudflare

https://www.cloudflare.com/ips-v4

https://www.cloudflare.com/ips-v6

sourceiplist-cloudflare
Imperva

https://my.imperva.com/api/integration/v1/ips

如需访问 Imperva 的列表,请发出 POST 请求。您还可以使用以下命令:

curl -d "" https://my.imperva.com/api/integration/v1/ips

sourceiplist-imperva

同步 IP 地址列表

仅当检测到使用有效格式的更改时,Google Cloud Armor 才会与每个提供商同步 IP 地址列表。Google Cloud Armor 会对所有列表中的 IP 地址执行基本语法验证。

后续步骤