使用分层防火墙政策和规则

本页面假定您熟悉分层防火墙政策概览中所述的概念。如需查看分层防火墙政策实施的示例,请参阅分层防火墙政策示例

限制

  • 分层防火墙政策规则不支持使用网络标记来定义目标。您必须改用目标虚拟私有云 (VPC) 网络或目标服务账号。
  • 防火墙规则可以在文件夹级层和组织级层应用,但不能在 VPC 网络级层应用。VPC 网络支持常规 VPC 防火墙规则。
  • 只有一个防火墙政策可以与资源(文件夹或组织)关联,但文件夹中的虚拟机 (VM) 实例可以从虚拟机上方的整个资源层次结构中继承规则。
  • 防火墙规则日志记录支持 allowdeny 规则,但不支持 goto_next 规则。
  • 防火墙规则不支持 IPv6 逐跳协议。

防火墙政策任务

本部分介绍了如何创建和管理分层防火墙政策。

如需查看本部分所列任务所产生的操作的进度,请确保您的 IAM 主账号除了每项任务所需的权限或角色之外,还具有以下权限或角色。

创建防火墙政策

创建分层防火墙政策时,您可以将其父级设置为组织或组织内的文件夹。创建政策后,您可以将政策与组织或组织中的文件夹相关联

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器菜单中,选择您的组织 ID 或组织内的文件夹。

  3. 点击创建防火墙政策

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

  5. 可选:如果您要为政策创建规则,请点击继续

  6. 添加规则部分中,点击创建防火墙规则。如需详细了解如何创建防火墙规则,请参阅以下内容:

  7. (可选)如果您要将政策与资源关联,请点击继续

  8. 将政策与资源相关联部分中,点击添加

    如需了解详情,请参阅将政策与组织或文件夹相关联

  9. 点击创建

gcloud

运行以下命令以创建父级为组织的分层防火墙政策:

gcloud compute firewall-policies create \
    --organization ORG_ID \
    --short-name SHORT_NAME

运行以下命令可创建父级为组织内文件夹的分层防火墙政策:

gcloud compute firewall-policies create \
    --folder FOLDER_ID \
    --short-name SHORT_NAME

替换以下内容:

  • ORG_ID:您的组织的 ID

    指定组织 ID 以创建父级为组织的政策。政策可以与组织或组织内的文件夹相关联。

  • SHORT_NAME:政策的名称

    使用 Google Cloud CLI 创建的政策有两个名称:系统生成的名称和您提供的简称。使用 gcloud CLI 更新现有政策时,您可以提供系统生成的名称或简称以及组织 ID。使用 API 更新政策时,您必须提供系统生成的名称。

  • FOLDER_ID:文件夹的 ID

    指定文件夹 ID 以创建父级为文件夹的政策。 该政策可以与包含相应文件夹的组织或该组织内的任何文件夹相关联。

将政策与组织或文件夹相关联

将分层防火墙政策与组织或组织中的文件夹关联后,该防火墙政策的规则(已停用的规则除外,但需遵守每条规则的目标)将应用于关联的组织或文件夹的项目中 VPC 网络内的资源。

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器菜单中,选择您的组织 ID 或包含政策的文件夹。

  3. 点击您的政策。

  4. 点击关联标签页。

  5. 点击添加关联

  6. 选择组织根目录或组织内的文件夹。

  7. 点击添加

gcloud

默认情况下,如果您尝试将关联插入到已有关联的组织或文件夹,则该方法将失败。如果指定此 --replace-association-on-target 标志,则在创建新关联的同时删除现有关联。这可防止资源在转换期间没有政策。

gcloud compute firewall-policies associations create \
    --firewall-policy POLICY_NAME \
    --organization ORG_ID \
    [ --folder FOLDER_ID ] \
    [ --name ASSOCIATION_NAME ] \
    [ --replace-association-on-target ]

替换以下内容:

  • POLICY_NAME:政策的简称或系统生成的名称
  • ORG_ID:您的组织的 ID
  • FOLDER_ID:如果要将政策与文件夹相关联,请在此处指定;如果要将政策关联到组织级层,请省略
  • ASSOCIATION_NAME:关联的可选名称;如果未指定,则将名称设置为“组织 ORG_ID”或“文件夹 FOLDER_ID

将政策从一个资源移动到另一个资源

移动政策只会更改政策的父级。更改政策的父级可能会改变以下情况:哪些 IAM 主账号可以在政策中创建和更新规则,以及哪些 IAM 主账号可以创建未来的关联。

移动政策不会更改任何现有政策关联或政策中规则的评估。

控制台

使用 Google Cloud CLI 执行此过程。

gcloud

运行以下命令,将分层防火墙政策移至组织:

gcloud compute firewall-policies move POLICY_NAME \
    --organization ORG_ID

运行以下命令,将分层防火墙政策移至组织中的文件夹:

gcloud compute firewall-policies move POLICY_NAME \
    --folder FOLDER_ID

替换以下内容:

  • POLICY_NAME:您要迁移的政策的简称或系统生成的名称
  • ORG_ID:政策要移至的组织的 ID
  • FOLDER_ID:政策要移至的文件夹 ID

更新政策说明

唯一可以更新的政策字段是说明字段。

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器菜单中,选择您的组织 ID 或包含政策的文件夹。

  3. 点击您的政策。

  4. 点击修改

  5. 修改说明。

  6. 点击保存

gcloud

gcloud compute firewall-policies update POLICY_NAME \
    --description DESCRIPTION \
    --organization ORG_ID

列出政策

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器菜单中,选择您的组织 ID 或包含政策的文件夹。

    对于组织,与该组织关联的防火墙政策部分会显示关联政策。位于该组织的防火墙政策部分会列出该组织拥有的政策。

    对于文件夹,与该文件夹关联或由该文件夹继承的防火墙政策部分会显示与该文件夹关联或由该文件夹继承的政策。位于该文件夹的防火墙政策部分会列出该文件夹拥有的政策。

gcloud

gcloud compute firewall-policies list \
    [--organization ORG_ID | --folder FOLDER_ID]

描述政策

您可以查看分层防火墙政策的详细信息,包括政策规则和关联的规则属性。所有这些规则属性都计入规则属性配额。如需了解详情,请参阅每个防火墙政策表格中的“每个分层防火墙政策的规则属性”。

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器菜单中,选择您的组织 ID 或包含政策的文件夹。

  3. 点击您的政策。

gcloud

gcloud compute firewall-policies describe POLICY_NAME \
    --organization ORG_ID

删除政策

在删除分层防火墙政策之前,您必须删除其所有关联

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器菜单中,选择您的组织 ID 或包含政策的文件夹。

  3. 点击您要删除的政策。

  4. 点击关联标签页。

  5. 选择所有关联。

  6. 点击移除关联

  7. 移除所有关联后,点击删除

gcloud

使用以下命令删除政策:

gcloud compute firewall-policies delete POLICY_NAME \
    --organization ORG_ID

列出资源的关联

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器菜单中,选择您的组织 ID 或包含政策的文件夹。

  3. 对于所选资源(组织或文件夹),系统会显示关联和继承的政策的列表。

gcloud

gcloud compute firewall-policies associations list \
    [--organization ORG_ID | --folder FOLDER_ID]

删除关联

如果您需要更改与组织或文件夹关联的分层防火墙政策,建议您关联新政策,而不是删除现有的关联政策。您只需一步即可关联新政策,这有助于确保分层防火墙政策始终与组织或文件夹相关联。

如需删除分层防火墙政策与组织或文件夹之间的关联,请按照本部分中提到的步骤操作。分层防火墙政策中的规则在关联被删除后不适用于新连接。

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器菜单中,选择您的组织 ID 或包含政策的文件夹。

  3. 点击您的政策。

  4. 点击关联标签页。

  5. 选择要删除的关联。

  6. 点击移除关联

gcloud

gcloud compute firewall-policies associations delete ASSOCIATION_NAME \
    --firewall-policy POLICY_NAME \
    --organization ORG_ID

防火墙政策规则任务

本部分介绍了如何创建和管理分层防火墙政策规则。

为虚拟机目标创建入站规则

本部分介绍如何创建适用于 Compute Engine 实例的网络接口的入站规则

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器列表中,选择包含分层防火墙政策的组织或文件夹。

  3. 如有必要,请在层次结构索引部分中选择一个子文件夹。

  4. 防火墙政策部分中,点击要在其中创建规则的分层防火墙政策的名称。

  5. 防火墙规则部分,点击创建防火墙规则,然后指定以下配置参数:

    1. 优先级:规则的数字评估顺序。

      这些规则按照从最高到最低的优先级进行评估,其中 0 是最高优先级。每条规则的优先级都必须唯一。 建议您将规则优先级值之间的差值设为大于 1(例如 100200300),以便日后在现有规则之间创建新规则。

    2. 说明:提供说明(可选)。

    3. 流量方向:选择入站

    4. 对匹配项执行的操作:选择以下选项之一:

      • 允许:允许与规则参数匹配的连接。
      • 拒绝:用于屏蔽与规则参数匹配的连接。
      • 转到下一层:继续执行防火墙规则评估流程
      • 应用安全配置文件组:根据您选择的用途,将数据包发送到防火墙端点拦截端点组
        • 如需将数据包发送到 Cloud NGFW 防火墙端点,请选择 Cloud NGFW Enterprise,然后选择安全配置文件组。如需启用数据包的 TLS 检查,请选择启用 TLS 检查
        • 如需将数据包发送到网络安全集成拦截端点组以进行带内集成,请选择 NSI 带内,然后选择安全配置文件组

    5. 日志:选择启用可启用防火墙规则日志记录;选择关闭可针对相应规则停用防火墙规则日志记录。

    6. 目标网络:您可以选择将防火墙政策应用于特定 VPC 网络中的目标,为此请点击添加网络,然后选择项目网络

    7. 目标:选择以下选项之一:

      • 应用于所有实例:Cloud NGFW 使用最广泛的实例目标
      • 服务账号:将最大范围的实例目标缩小到使用您在目标服务账号中指定的服务账号的虚拟机实例的网络接口。
      • 安全标记:将最大范围的实例目标缩小为绑定到您指定的至少一个安全标记值的虚拟机实例的网络接口。点击选择标记范围,然后选择包含要匹配的标记值的组织或项目。如需添加更多标记值,请点击添加标记

    8. 来源网络类型:指定网络类型

      • 如需跳过按网络类型过滤入站流量,请选择所有网络类型
      • 如需过滤到特定网络类型的入站流量,请选择特定网络类型,然后选择一种网络类型:

    9. 来源过滤条件:指定其他来源参数。某些来源参数不能一起使用,并且您选择的来源广告资源网类型会限制您可以使用的来源参数。如需了解详情,请参阅入站流量规则的来源以及入站流量规则来源组合

      • 如需按来源 IPv4 范围过滤入站流量,请选择 IPv4,然后在 IP 范围字段中输入 CIDR 地址块。如需选择所有 IPv4 来源,请使用 0.0.0.0/0
      • 如需按来源 IPv6 范围过滤入站流量,请选择 IPv6,然后在 IPv6 范围字段中输入 CIDR 地址块。如需选择所有 IPv6 来源,请使用 ::/0
      • 如需按来源安全标记值过滤入站流量,请在安全标记部分中选择选择标记范围。然后,提供标记键和标记值。如需添加更多标记值,请点击添加标记
      • 如需按来源 FQDN 过滤入站流量,请在 FQDN 字段中输入 FQDN。如需了解详情,请参阅 FQDN 对象
      • 如需按来源地理位置过滤入站流量,请从地理位置字段中选择一个或多个位置。如需了解详情,请参阅地理定位对象
      • 如需按来源地址组过滤入站流量,请从地址组字段中选择一个或多个地址组。如需了解详情,请参阅防火墙政策的地址组
      • 如需按来源 Google 威胁情报列表过滤入站流量,请从 Google Cloud 威胁情报字段中选择一个或多个 Google 威胁情报列表。如需了解详情,请参阅防火墙政策规则的 Google Threat Intelligence

    10. 目的地:指定可选的目的地参数。如需了解详情,请参阅入站流量规则的目的地

      • 如需跳过按目标 IP 地址过滤入站流量,请选择
      • 如需按目标 IP 地址过滤入站流量,请选择 IPv4IPv6,然后输入一个或多个 CIDR,所用格式与来源 IPv4 范围或来源 IPv6 范围的格式相同。

    11. 协议和端口:指定流量要匹配规则所用的协议和目标端口。如需了解详情,请参阅协议和端口

    12. 强制执行:指定是否强制执行防火墙规则:

      • 已启用:创建规则并开始对新连接强制执行该规则。
      • 已停用:创建规则,但不针对新连接强制执行该规则。
  6. 点击创建

gcloud

gcloud compute firewall-policies rules create PRIORITY \
    --firewall-policy=POLICY_NAME \
    --organization=ORG_ID | --folder=FOLDER_ID \
    --description=DESCRIPTION \
    --direction=INGRESS \
    --action=ACTION \
    [--enable-logging | --no-enable-logging] \
    [--disabled | --no-disabled] \
    [--target-resources=TARGET_NETWORKS] \
    [--target-secure-tags=TARGET_SECURE_TAGS] \
    [--target-service-accounts=TARGET_SERVICE_ACCOUNTS] \ [--layer4-configs=LAYER_4_CONFIGS] \ [--src-network-type=SRC_NETWORK_TYPE] \
    [--src-networks=SRC_VPC_NETWORKS] \ [--src-ip-ranges=SRC_IP_RANGES] \
    [--src-address-groups=SRC_ADDRESS_GROUPS] \
    [--src-fqdns=SRC_DOMAIN_NAMES] \
    [--src-secure-tags=SRC_SECURE_TAGS] \
    [--src-region-codes=SRC_COUNTRY_CODES] \
    [--src-threat-intelligence=SRC_THREAT_LIST_NAMES] \ [--dest-ip-ranges=DEST_IP_RANGES]

替换以下内容:

  • PRIORITY:政策中规则的数字评估顺序。这些规则按照从最高到最低的优先级进行评估,其中 0 是最高优先级。每条规则的优先级都必须唯一。建议您将规则优先级值之间的差值设为大于 1(例如 100200300),以便日后在现有规则之间创建新规则。
  • POLICY_NAME:您要在其中创建规则的分层防火墙政策的名称。
  • ORG_ID:如果分层防火墙政策的父级是组织,则为包含该政策的组织 ID。
  • FOLDER_ID:包含分层防火墙政策的文件夹 ID(如果其父级是文件夹)。
  • DESCRIPTION:新规则的可选说明。
  • ACTION:指定以下操作之一:

    • allow:允许与规则匹配的连接。
    • deny:拒绝与规则匹配的连接。
    • goto_next:继续执行防火墙规则评估流程
    • apply_security_profile_group:将数据包发送到防火墙端点拦截端点组
      • 当操作为 apply_security_profile_group 时,您必须包含 --security-profile-group SECURITY_PROFILE_GROUP,其中 SECURITY_PROFILE_GROUP安全配置文件组的名称。
      • 安全配置文件组的安全配置文件可以引用 Cloud NGFW 防火墙端点或网络安全集成拦截端点组,以实现带内集成。
      • 如果安全配置文件组的安全配置文件引用了 Cloud NGFW 防火墙端点,请添加 --tls-inspect--no-tls-inspect 以启用或停用 TLS 检查。
  • --enable-logging--no-enable-logging 标志用于启用或停用防火墙规则日志记录。
  • --disabled--no-disabled 标志用于控制规则是处于停用(不强制执行)状态还是启用(强制执行)状态。
  • 指定目标

    • 如果您省略 --target-resources--target-secure-tags--target-service-accounts 标志,Cloud NGFW 将使用最广泛的实例目标
    • TARGET_NETWORKS:以英文逗号分隔的 VPC 网络列表,其中每个 VPC 网络都以网络资源网址的形式指定,格式为 https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME--target-resources 标志可以单独使用,也可以与其他一个目标标志结合使用。如需了解详情,请参阅特定目标组合
    • TARGET_SECURE_TAGS安全标记值列表(以英文逗号分隔),用于将最广泛的实例目标范围缩小到绑定到至少一个安全标记值的虚拟机实例的网络接口。
    • TARGET_SERVICE_ACCOUNTS:服务账号的英文逗号分隔列表,用于将最大范围的实例目标缩小到使用其中一个服务账号的虚拟机实例的网络接口。
  • LAYER_4_CONFIGS:以英文逗号分隔的第 4 层配置列表。每个第 4 层配置可以是以下项之一:
    • 不含任何目标端口的 IP 协议名称 (tcp) 或 IANA IP 协议编号 (17)。
    • 以英文冒号 (tcp:80) 分隔的 IP 协议名称和目标端口。
    • IP 协议名称和目标端口范围,以英文冒号分隔,并使用英文短划线分隔起始目标端口和结束目标端口 (tcp:5000-6000)。如需了解详情,请参阅协议和端口
  • 为入站规则指定来源。 如需了解详情,请参阅入站流量规则来源组合

    • SRC_NETWORK_TYPE:定义要与另一个受支持的来源参数结合使用的来源网络类型,以生成来源组合。当值为 --target-type=INSTANCES 时,有效值为:INTERNETNON_INTERNETVPC_NETWORKSINTRA_VPC。如需了解详情,请参阅网络类型
    • SRC_VPC_NETWORKS:以英文逗号分隔的 VPC 网络列表,其中包含由其网址标识符指定的 VPC 网络。仅当 --src-network-typeVPC_NETWORKS 时,才应指定此标志。
    • SRC_IP_RANGES:以英文逗号分隔的 IP 地址范围列表(采用 CIDR 格式)。列表中的范围必须全部是 IPv4 CIDR 或 IPv6 CIDR,不能同时使用这两者。
    • SRC_ADDRESS_GROUPS:以英文逗号分隔的地址组列表,其中每个地址组都由其唯一网址标识符指定。列表中的地址组必须包含所有 IPv4 地址或所有 IPv6 地址,而不能同时包含这两种地址。
    • SRC_DOMAIN_NAMES:以英文逗号分隔的 FQDN 对象列表,格式如域名格式中所述。
    • SRC_SECURE_TAGS:以英文逗号分隔的标记列表。如果 --src-network-typeINTERNET,则不能使用 --src-secure-tags 标志。
    • SRC_COUNTRY_CODES:以英文逗号分隔的双字母国家/地区代码列表。如需了解详情,请参阅地理定位对象。 如果 --src-network-typeNON_INTERNETVPC_NETWORKSINTRA_VPC,则无法使用 --src-region-codes 标志。
    • SRC_THREAT_LIST_NAMES:Google 威胁情报列表名称的逗号分隔列表。如需了解详情,请参阅防火墙政策规则的 Google Threat Intelligence。 如果 --src-network-typeNON_INTERNETVPC_NETWORKSINTRA_VPC,则无法使用 --src-threat-intelligence 标志。
  • (可选)指定入站规则的目标

    • DEST_IP_RANGES:以英文逗号分隔的 IP 地址范围列表(采用 CIDR 格式)。列表中的范围必须全部是 IPv4 CIDR 或 IPv6 CIDR,不能同时使用这两者。

为虚拟机目标创建出站规则

以下说明展示了如何创建出站规则。出站规则仅适用于作为 Compute Engine 实例网络接口的目标。

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器列表中,选择包含分层防火墙政策的组织或文件夹。

  3. 如有必要,请在层次结构索引部分中选择一个子文件夹。

  4. 防火墙政策部分中,点击要在其中创建规则的分层防火墙政策的名称。

  5. 防火墙规则部分,点击创建防火墙规则,然后指定以下配置参数:

    1. 优先级:规则的数字评估顺序。

      这些规则按照从最高到最低的优先级进行评估,其中 0 是最高优先级。每条规则的优先级都必须唯一。 建议您将规则优先级值之间的差值设为大于 1(例如 100200300),以便日后在现有规则之间创建新规则。

    2. 说明:提供说明(可选)。

    3. 流量方向:选择出站

    4. 对匹配项执行的操作:选择以下选项之一:

      • 允许:允许与规则参数匹配的连接。
      • 拒绝:用于屏蔽与规则参数匹配的连接。
      • 转到下一层:继续执行防火墙规则评估流程
      • 应用安全配置文件组:根据您选择的用途,将数据包发送到防火墙端点拦截端点组
        • 如需将数据包发送到 Cloud NGFW 防火墙端点,请选择 Cloud NGFW Enterprise,然后选择安全配置文件组。如需启用数据包的 TLS 检查,请选择启用 TLS 检查
        • 如需将数据包发送到网络安全集成拦截端点组以进行带内集成,请选择 NSI 带内,然后选择安全配置文件组

    5. 日志:选择启用可启用防火墙规则日志记录;选择关闭可针对相应规则停用防火墙规则日志记录。

    6. 目标网络:您可以选择将防火墙政策应用于特定 VPC 网络中的目标,为此请点击添加网络,然后选择项目网络

    7. 目标:选择以下选项之一:

      • 应用于所有实例:Cloud NGFW 使用最广泛的实例目标
      • 服务账号:将最大范围的实例目标缩小到使用您在目标服务账号中指定的服务账号的虚拟机实例的网络接口。
      • 安全标记:将最大范围的实例目标缩小为绑定到您指定的至少一个安全标记值的虚拟机实例的网络接口。点击选择标记范围,然后选择包含要匹配的标记值的组织或项目。如需添加更多标记值,请点击添加标记

    8. 目标网络类型:指定网络类型

    9. 目标过滤条件:指定其他目标参数。某些目标参数不能一起使用,并且您选择的目标广告资源网类型会限制您可以使用的目标过滤条件。如需了解详情,请参阅出站流量规则的目的地出站流量规则目的地组合

      • 如需按目标 IPv4 范围过滤传出的流量,请选择 IPv4,然后在 IP 范围字段中输入 CIDR 地址块。对于任何 IPv4 目标,请使用 0.0.0.0/0
      • 如需按目标 IPv6 范围过滤传出的流量,请选择 IPv6,然后在 IPv6 范围字段中输入 CIDR 地址块。对于任何 IPv6 目标,请使用 ::/0
      • 如需按目标 FQDN 过滤传出的流量,请在 FQDN 字段中输入 FQDN。如需了解详情,请参阅 FQDN 对象
      • 如需按目标地理位置过滤传出的流量,请从地理位置字段中选择一个或多个位置。如需了解详情,请参阅地理定位对象
      • 如需按目标地址组过滤出站流量,请从地址组字段中选择一个或多个地址组。如需了解详情,请参阅防火墙政策的地址组
      • 如需按目的地 Google Threat Intelligence 列表过滤出站流量,请从 Google Cloud 威胁情报字段中选择一个或多个 Google Threat Intelligence 列表。如需了解详情,请参阅防火墙政策规则的 Google Threat Intelligence

    10. 来源:指定可选的来源参数。如需了解详情,请参阅出站流量规则的来源

      • 如需跳过按来源 IP 地址过滤传出流量,请选择
      • 如需按来源 IP 地址过滤传出的流量,请选择 IPv4IPv6,然后输入一个或多个 CIDR,格式与目标 IPv4 范围或目标 IPv6 范围所用的格式相同。

    11. 协议和端口:指定流量要匹配规则所用的协议和目标端口。如需了解详情,请参阅协议和端口

    12. 强制执行:指定是否强制执行防火墙规则:

      • 已启用:创建规则并开始对新连接强制执行该规则。
      • 已停用:创建规则,但不针对新连接强制执行该规则。
  6. 点击创建

gcloud

gcloud compute firewall-policies rules create PRIORITY \
    --firewall-policy=POLICY_NAME \
    --organization=ORG_ID | --folder=FOLDER_ID \
    --description=DESCRIPTION \
    --direction=EGRESS \
    --action=ACTION \
    [--enable-logging | --no-enable-logging] \
    [--disabled | --no-disabled] \
    [--target-resources=TARGET_NETWORKS] \
    [--target-secure-tags=TARGET_SECURE_TAGS] \
    [--target-service-accounts=TARGET_SERVICE_ACCOUNTS] \ [--layer4-configs=LAYER_4_CONFIGS] \ [--dest-network-type=DEST_NETWORK_TYPE] \ [--dest-ip-ranges=DEST_IP_RANGES] \
    [--dest-address-groups=DEST_ADDRESS_GROUPS] \
    [--dest-fqdns=DEST_DOMAIN_NAMES] \
    [--dest-region-codes=DEST_COUNTRY_CODES] \
    [--dest-threat-intelligence=DEST_THREAT_LIST_NAMES] \ [--src-ip-ranges=SRC_IP_RANGES]

替换以下内容:

  • PRIORITY:政策中规则的数字评估顺序。这些规则按照从最高到最低的优先级进行评估,其中 0 是最高优先级。每条规则的优先级都必须唯一。建议您将规则优先级值之间的差值设为大于 1(例如 100200300),以便日后在现有规则之间创建新规则。
  • POLICY_NAME:您要在其中创建规则的分层防火墙政策的名称。
  • ORG_ID:如果分层防火墙政策的父级是组织,则为包含该政策的组织 ID。
  • FOLDER_ID:包含分层防火墙政策的文件夹 ID(如果其父级是文件夹)。
  • DESCRIPTION:新规则的可选说明。
  • ACTION:指定以下操作之一:

    • allow:允许与规则匹配的连接。
    • deny:拒绝与规则匹配的连接。
    • goto_next:继续执行防火墙规则评估流程
    • apply_security_profile_group:将数据包发送到防火墙端点拦截端点组
      • 当操作为 apply_security_profile_group 时,您必须添加 --security-profile-group SECURITY_PROFILE_GROUP,其中 SECURITY_PROFILE_GROUP安全配置文件组的名称。
      • 安全配置文件组的安全配置文件可以引用 Cloud NGFW 防火墙端点或网络安全集成拦截端点组,以实现带内集成。
      • 如果安全配置文件组的安全配置文件引用了 Cloud NGFW 防火墙端点,请添加 --tls-inspect--no-tls-inspect 以启用或停用 TLS 检查。
  • --enable-logging--no-enable-logging 标志用于启用或停用防火墙规则日志记录。
  • --disabled--no-disabled 标志用于控制规则是处于停用(不强制执行)状态还是启用(强制执行)状态。
  • 指定目标

    • 如果您省略 --target-resources--target-secure-tags--target-service-accounts 标志,Cloud NGFW 将使用最广泛的实例目标
    • TARGET_NETWORKS:以英文逗号分隔的 VPC 网络列表,其中每个 VPC 网络都以网络资源网址的形式指定,格式为 https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME--target-resources 标志可以单独使用,也可以与其他一个目标标志结合使用。如需了解详情,请参阅特定目标组合
    • TARGET_SECURE_TAGS安全标记值列表(以英文逗号分隔),用于将最广泛的实例目标范围缩小到绑定到至少一个安全标记值的虚拟机实例的网络接口。
    • TARGET_SERVICE_ACCOUNTS:服务账号的英文逗号分隔列表,用于将最大范围的实例目标缩小到使用其中一个服务账号的虚拟机实例的网络接口。
  • LAYER_4_CONFIGS:以英文逗号分隔的第 4 层配置列表。每个第 4 层配置可以是以下项之一:
    • 不含任何目标端口的 IP 协议名称 (tcp) 或 IANA IP 协议编号 (17)。
    • 以英文冒号 (tcp:80) 分隔的 IP 协议名称和目标端口。
    • IP 协议名称和目标端口范围,以英文冒号分隔,并使用英文短划线分隔起始目标端口和结束目标端口 (tcp:5000-6000)。如需了解详情,请参阅协议和端口
  • 为出站规则指定目的地。 如需了解详情,请参阅出站流量规则目的地组合

    • DEST_NETWORK_TYPE:定义要与另一个受支持的目标参数结合使用的目标网络类型,以生成目标组合。有效值为 INTERNETNON_INTERNET。如需了解详情,请参阅网络类型
    • DEST_IP_RANGES:以英文逗号分隔的 IP 地址范围列表(采用 CIDR 格式)。列表中的范围必须全部是 IPv4 CIDR 或 IPv6 CIDR,不能同时使用这两者。
    • DEST_ADDRESS_GROUPS:以英文逗号分隔的地址组列表,其中每个地址组都由其唯一网址标识符指定。
    • DEST_DOMAIN_NAMES:以英文逗号分隔的 FQDN 对象列表,格式如域名格式中所述。
    • DEST_COUNTRY_CODES:以英文逗号分隔的双字母国家/地区代码列表。如需了解详情,请参阅地理定位对象
    • DEST_THREAT_LIST_NAMES:Google 威胁情报列表名称的逗号分隔列表。如需了解详情,请参阅防火墙政策规则的 Google Threat Intelligence
  • (可选)指定出站流量规则的来源

    • SRC_IP_RANGES:以英文逗号分隔的 IP 地址范围列表(采用 CIDR 格式)。列表中的范围必须全部是 IPv4 CIDR 或 IPv6 CIDR,不能同时使用这两者。

列出政策中的所有规则

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器菜单中,选择您的组织 ID 或包含政策的文件夹。

  3. 点击您的政策。规则列在防火墙规则标签页中。

gcloud

gcloud compute firewall-policies list-rules POLICY_NAME \
    --organization=ORG_ID

替换以下内容:

  • POLICY_NAME:包含相应规则的分层防火墙政策的名称。
  • ORG_ID:包含分层防火墙政策的组织 ID。

描述规则

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器菜单中,选择您的组织 ID 或包含政策的文件夹。

  3. 点击您的政策。

  4. 点击规则的优先级。

gcloud

gcloud compute firewall-policies rules describe PRIORITY \
    --firewall-policy=POLICY_NAME \
    --organization=ORG_ID

替换以下内容:

  • POLICY_NAME:包含新规则的分层防火墙政策的名称。
  • ORG_ID:包含分层防火墙政策的组织 ID。

更新规则

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器菜单中,选择包含分层防火墙政策的组织或文件夹。

  3. 点击包含要更新的规则的分层防火墙政策的名称。

  4. 点击规则的优先级。

  5. 点击修改

  6. 修改要更改的防火墙规则字段。如需查看各个字段的说明,请参阅以下内容之一:

  7. 点击保存

gcloud

gcloud compute firewall-policies rules update PRIORITY \
    --firewall-policy=POLICY_NAME \
    --organization ORG_ID \
    [...other flags that you want to modify...]

替换以下内容:

  • PRIORITY:唯一标识规则的优先级编号。
  • POLICY_NAME:包含规则的政策的名称。
  • ORG_ID:包含分层防火墙政策的组织 ID。

提供要修改的标志。如需了解标志说明,请参阅以下内容之一:

将规则从一个政策克隆到另一个政策

从目标政策中移除所有规则,并将其替换为来源政策中的规则。

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器菜单中,选择您的组织 ID 或包含政策的文件夹。

  3. 点击要从中复制规则的政策。

  4. 点击屏幕顶部的克隆

  5. 提供目标政策的名称。

  6. 如果您想立即关联新政策,请点击继续以打开将政策与资源相关联部分。

  7. 点击克隆

gcloud

gcloud compute firewall-policies clone-rules POLICY_NAME \
    --source-firewall-policy=SOURCE_POLICY \
    --organization=ORG_ID \

替换以下内容:

  • POLICY_NAME:接收所复制规则的政策
  • SOURCE_POLICY:从中复制规则的政策;必须是资源的网址
  • ORG_ID:包含分层防火墙政策的组织 ID。

删除规则

从政策中删除规则会导致该规则不再适用于与该规则的目标建立的新连接。

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器菜单中,选择您的组织 ID 或包含政策的文件夹。

  3. 点击您的政策。

  4. 选择要删除的规则。

  5. 点击删除

gcloud

gcloud compute firewall-policies rules delete PRIORITY \
    --firewall-policy=POLICY_NAME \
    --organization=ORG_ID

替换以下内容:

  • PRIORITY:您要从政策中删除的规则的优先级。
  • POLICY_NAME:包含相应规则的分层防火墙政策的名称。
  • ORG_ID:包含分层防火墙政策的组织 ID。

获取网络的有效防火墙规则

您可以查看应用于 VPC 网络所有区域的所有分层防火墙政策规则、VPC 防火墙规则和全球网络防火墙政策规则。

控制台

  1. 在 Google Cloud 控制台中,前往 VPC 网络页面。

    进入 VPC 网络页面

  2. 点击要查看其防火墙政策规则的网络。

  3. 点击防火墙

  4. 展开每个防火墙政策以查看适用于此网络的规则。

gcloud

gcloud compute networks get-effective-firewalls NETWORK_NAME

NETWORK_NAME 替换为您要查看有效规则的网络。

您还可以在防火墙页面中查看网络的有效防火墙规则。

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 防火墙政策列在此项目继承的防火墙政策部分中。

  3. 点击每项防火墙政策以查看适用于此网络的规则。

获取虚拟机接口的有效防火墙规则

您可以查看适用于 Compute Engine 虚拟机的网络接口的所有防火墙规则(包括所有适用的防火墙政策和 VPC 防火墙规则)。

控制台

  1. 在 Google Cloud 控制台中,前往虚拟机实例页面。

    转到虚拟机实例

  2. 在项目选择器菜单中,选择包含虚拟机的项目。

  3. 点击虚拟机。

  4. 对于网络接口,请点击接口。

  5. 有效防火墙规则会显示在网络配置分析部分中的防火墙标签页中。

gcloud

gcloud compute instances network-interfaces get-effective-firewalls INSTANCE_NAME \
    [--network-interface INTERFACE] \
    [--zone ZONE]

替换以下内容:

  • INSTANCE_NAME:您要查看其有效规则的虚拟机;如果未指定接口,该命令会返回主要接口 (nic0) 的规则。
  • INTERFACE:您要查看其有效规则的虚拟机接口;默认值为 nic0
  • ZONE:虚拟机的可用区;如果已将所选可用区设置为默认可用区,则此行为可选。

问题排查

本部分包含您可能遇到的错误消息的说明。

  • FirewallPolicy may not specify a name. One will be provided.

    您不能指定政策名称。分层防火墙政策“名称”是创建政策时 Google Cloud 生成的数字 ID。但是,您可以在多种上下文中指定好友的简称

  • FirewallPolicy may not specify associations on creation.

    只有在创建分层防火墙政策后才能创建关联。

  • Can't move firewall policy to a different organization.

    分层防火墙政策移动必须位于同一个组织内。

  • The attachment already has an association. Please set the option of replacing existing association to true if you want to replace the old one.

    如果资源已附加分层防火墙政策,则附加操作将失败,除非替换现有关联的选项设置为 true。

  • Can't have rules with the same priorities.

    在分层防火墙政策中,规则的优先级必须是唯一的。

  • Direction must be specified for a firewall policy rule.

    通过直接发送 REST 请求创建分层防火墙政策规则时,必须指定规则的方向。如果使用 Google Cloud CLI 且未指定方向,则默认为 INGRESS

  • Can't specify enable_logging on a goto_next rule.

    具有 goto_next 操作的规则不允许使用防火墙日志记录,因为 goto_next 操作用于表示不同防火墙政策的评估顺序,并且不是终端操作(例如 ALLOW 或 DENY)。

  • Must specify at least one destination on Firewall policy rule.

    防火墙政策规则中的 layer4Configs 标志必须至少指定一个协议或协议和目标端口。

    如需详细了解如何对防火墙政策规则进行问题排查,请参阅 VPC 防火墙规则问题排查

后续步骤