跳至主要内容
S3NS
文档 技术领域
  • 应用开发
  • 应用托管
  • 计算
  • 数据分析和流水线
  • 数据库
  • 网络
  • 可观测性和监控
  • 安全
  • Storage
跨产品工具
  • 访问权限和资源管理
  • Google Cloud SDK、语言、框架和工具
  • 基础架构即代码
/
  • English
  • Deutsch
  • Español
  • Español – América Latina
  • Français
  • Indonesia
  • Italiano
  • Português
  • Português – Brasil
  • 中文 – 简体
  • 中文 – 繁體
  • 日本語
  • 한국어
  • Google Cloud Armor
  • Documentation
概览 指南 参考文档 支持 资源
S3NS
  • 文档
    • 概览
    • 指南
    • 参考文档
    • 支持
    • 资源
  • 技术领域
    • 更多
  • 跨产品工具
    • 更多
  • Discover
  • 产品概览
  • 与 Google 的其他产品集成
  • 最佳实践
  • Trusted Cloud 差异
  • 开始使用
  • 安全政策概览
  • 安全政策使用场景
  • 配置安全政策
  • 安全政策示例
  • 添加功能
  • 配置自定义规则语言属性
  • 应用预配置的 WAF 规则
    • 概览
    • 设置 WAF 规则
    • 调整 WAF 规则
  • 应用速率限制
    • 概览
    • 配置速率限制
  • 请求正文内容解析
  • 详细日志记录
  • 管理标签
  • 创建和管理标记
  • 监控和问题排查
  • 监控安全政策
  • 使用请求日志记录
  • 排查问题
  • 应用开发
  • 应用托管
  • 计算
  • 数据分析和流水线
  • 数据库
  • 网络
  • 可观测性和监控
  • 安全
  • Storage
  • 访问权限和资源管理
  • Google Cloud SDK、语言、框架和工具
  • 基础架构即代码
本页面上的部分或全部信息可能不适用于 Trusted Cloud by S3NS。 如需了解详情,请参阅与 Google Cloud 的区别。
  • Home
  • 文档
  • Google Cloud Armor
  • Documentation
  • 指南

安全政策示例

本页面介绍不同类型的负载均衡器和安全政策的示例安全政策配置。

创建安全政策

您可以使用 Trusted Cloud 控制台或 gcloud CLI 创建安全政策。本部分中的说明假设您要配置安全政策,以应用于现有全球外部应用负载均衡器或传统版应用负载均衡器和后端服务。如需查看如何完成字段的示例,请参阅创建示例。

控制台

创建 Cloud Armor 安全政策和规则并将安全政策附加到后端服务:

  1. 在 Trusted Cloud 控制台中,前往 Google Cloud Armor 政策页面。

    转到“Google Cloud Armor 政策”

  2. 点击创建政策。

  3. 在名称字段中,输入政策的名称。

  4. 可选:输入政策说明。

  5. 对于政策类型,选择后端安全政策或边缘安全政策。

  6. 对于默认规则操作,为允许访问的默认规则,选择允许;为禁止访问 IP 地址或 IP 地址范围的默认规则,选择拒绝。

    默认规则是最低优先级规则,仅在没有其他规则适用时才生效。

  7. 如果您要配置拒绝规则,请选择拒绝状态消息。这是 Cloud Armor 在没有访问权限的用户尝试获得访问权限时显示的错误消息。

  8. 无论您要配置何种规则类型,都请点击下一步。

添加更多规则:

  1. 点击添加规则。
  2. 可选:输入规则的说明。
  3. 选择模式:

    • 基本模式:根据 IP 地址或 IP 范围允许或拒绝流量。
    • 高级模式:根据规则表达式允许或拒绝流量。
  4. 在匹配字段中,指定适用规则的条件。

    • 基本模式:在规则中输入要匹配的 IP 地址或 IP 范围。
    • 高级模式:输入要根据传入请求进行评估的表达式或子表达式。如需了解如何编写表达式,请参阅配置自定义规则语言属性。
  5. 对于操作,请选择允许或拒绝,以便在规则匹配时允许或拒绝流量。

  6. 如要启用预览模式,请选中启用复选框。在预览模式下,您可以查看规则的行为,但是不启用规则。

  7. 输入该规则的优先级。这可以是 0 到 2,147,483,646(含)之间的任何正整数。如需详细了解评估顺序,请参阅规则评估顺序。

  8. 点击完成。

  9. 如要添加更多规则,请点击添加规则,然后重复上述步骤。否则,请点击下一步。

将政策应用于目标:

  1. 点击添加目标。
  2. 在目标列表中,选择一个目标。
  3. 如需添加更多目标,请点击添加目标。
  4. 点击完成。
  5. 点击创建政策。

gcloud

  1. 如需创建新的 Cloud Armor 安全政策,请使用 gcloud compute security-policies create 命令。

    在 type 字段中,使用 CLOUD_ARMOR 创建后端安全政策,或使用 CLOUD_ARMOR_EDGE 创建边缘安全政策。type 标志是可选的;如果未指定类型,则默认创建后端安全政策:

    gcloud compute security-policies create NAME \
       [--type=CLOUD_ARMOR|CLOUD_ARMOR_EDGE] \
       [--file-format=FILE_FORMAT | --description=DESCRIPTION] \
       [--file-name=FILE_NAME]
    
    

    替换以下内容:

    • NAME:安全政策的名称
    • DESCRIPTION:安全政策的说明

    以下命令会更新您之前创建的政策,启用 JSON 解析,并将日志级别更改为 VERBOSE:

    gcloud compute security-policies update my-policy \
        --json-parsing=STANDARD \
        --log-level=VERBOSE
    
  2. 如需向安全政策添加规则,请使用 gcloud compute security-policies rules create PRIORITY 命令。

    gcloud compute security-policies rules create PRIORITY  \
        [--security-policy POLICY_NAME] \
        [--description DESCRIPTION] \
        --src-ip-ranges IP_RANGE,... | --expression EXPRESSION \
        --action=[ allow | deny-403 | deny-404 | deny-502 ] \
        [--preview]
    

    将 PRIORITY 替换为政策中分配给规则的优先级。如要了解规则优先级的工作原理,请参阅规则评估顺序。

    例如,以下命令会添加一个规则,以阻止来自 IP 地址范围 192.0.2.0/24 和 198.51.100.0/24 的流量。该规则的优先级为 1000,它是名为 my-policy 的政策中的规则。

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --description "block traffic from 192.0.2.0/24 and 198.51.100.0/24" \
        --src-ip-ranges "192.0.2.0/24","198.51.100.0/24" \
        --action "deny-403"
    

    添加 --preview 标志后,会将规则添加到政策,但不会执行,并且仅记录触发规则的所有流量。

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --description "block traffic from 192.0.2.0/24 and 198.51.100.0/24" \
        --src-ip-ranges "192.0.2.0/24","198.51.100.0/24" \
        --action "deny-403" \
        --preview
    

    使用 --expression 标志指定自定义条件。如需了解详情,请参阅配置自定义规则语言属性。以下命令将添加一条规则,以允许来自 IP 地址 1.2.3.4 的流量,并且在用户代理标头中包含字符串 example:

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --expression "inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')" \
        --action allow \
        --description "Block User-Agent 'example'"
    

    如果请求的 Cookie 包含特定值,以下命令将添加一条规则以阻止请求:

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --expression "has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')" \
        --action "deny-403" \
        --description "Cookie Block"
    

    以下命令将添加一条规则,以阻止来自地区 AU 的请求:

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --expression "origin.region_code == 'AU'" \
        --action "deny-403" \
        --description "AU block"
    

    以下命令会添加一条规则,以阻止来自不在指定 IP 范围内的 AU 区域的请求:

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --expression "origin.region_code == 'AU' && !inIpRange(origin.ip, '1.2.3.0/24')" \
        --action "deny-403" \
        --description "country and IP block"
    

    以下命令将添加一条规则,以阻止具有与正则表达式匹配的 URI 的请求:

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --expression "request.path.matches('/example_path/')" \
        --action "deny-403" \
        --description "regex block"
    

    以下命令会添加一条规则,以便在 user-id 标头的 Base64 解码值包含特定值时阻止请求:

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --expression "has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')" \
        --action "deny-403" \
        --description "country and IP block"
    

    以下命令将添加一条规则,该规则使用预配置的表达式集来缓解 SQLi 攻击:

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --expression "evaluatePreconfiguredWaf('sqli-stable')" \
        --action "deny-403"
    

    以下命令将添加一条规则,该规则使用预配置的表达式以允许从已命名的 IP 地址列表中的所有 IP 地址访问:

    gcloud compute security-policies rules create 1000 \
        --security-policy my-policy \
        --expression "evaluatePreconfiguredWaf('sourceiplist-fastly')" \
        --action "allow"
    

为区域级外部应用负载均衡器配置安全政策

本部分介绍如何为区域级外部应用负载均衡器配置区域范围的 Cloud Armor 安全政策。

保护区域负载均衡的工作负载

请按照以下步骤配置安全政策以保护区域范围的后端服务:

  1. 创建区域范围的安全政策。

    gcloud compute security-policies create POLICY_NAME \
       --type=CLOUD_ARMOR \
       --region=REGION
    
  2. 将区域范围的安全政策附加到区域范围的后端服务。将 BACKEND_NAME 替换为现有区域范围后端服务的名称。

    gcloud compute backend-services update BACKEND_NAME \
       --security-policy=POLICY_NAME \
       --region=REGION
    

应用区域范围的 Cloud Armor 安全政策

举个例子,假设您是安全管理员,想要满足所有后端工作负载和 WAF 规则都部署在一个特定区域中的驻留要求。假设您已提前完成以下操作:

  1. 在区域中创建区域范围的负载均衡后端服务。
  2. 在部署中停用任何现有的全球范围安全政策。
  3. 在同一区域中创建并附加区域范围的安全政策(如上一部分中所述)。

您可以使用以下示例命令将 WAF 规则和其他高级规则添加到政策中,同时满足该要求:

  • 向政策添加 WAF 规则:

    gcloud compute security-policies rules create 1000 --action=deny-404 \
      --expression="evaluatePreconfiguredWaf('xss-v33-stable', ['owasp-crs-v030301-id941100-xss', 'owasp-crs-v030301-id941160-xss'])" \
      --security-policy=POLICY_NAME \
      --region=REGION
    
  • 向政策添加高级规则:

    gcloud compute security-policies rules create 1000 --action=allow \
      --expression="has(request.headers['cookie']) && request.headers['cookie'].contains('80=EXAMPLE')" \
      --security-policy=POLICY_NAME \
      --region=REGION
    
  • 向政策添加速率限制规则:

    gcloud compute security-policies rules create 1000 --action=throttle \
      --src-ip-ranges="1.1.1.1/32" \
      --rate-limit-threshold-count=1000 \
      --rate-limit-threshold-interval-sec=120 \
      --conform-action="allow" \
      --exceed-action="deny-429" \
      --enforce-on-key=IP \
      --ban-duration-sec=999 \
      --ban-threshold-count=5000 \
      --ban-threshold-interval-sec=60 \
      --security-policy=POLICY_NAME \
      --region=REGION
    

后续步骤

  • 配置 Cloud Armor 安全政策
  • 详细了解速率限制。

如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。

最后更新时间 (UTC):2025-09-22。

  • 条款
  • 隐私权政策
  • Manage cookies
  • English
  • Deutsch
  • Español
  • Español – América Latina
  • Français
  • Indonesia
  • Italiano
  • Português
  • Português – Brasil
  • 中文 – 简体
  • 中文 – 繁體
  • 日本語
  • 한국어