本页面假定您熟悉全球网络防火墙政策概览中所述的概念。
防火墙政策任务
创建全球网络防火墙政策
您可以为项目中的任何虚拟私有云 (VPC) 网络创建政策。创建政策后,您可以将它与项目中的任何 VPC 网络相关联。将政策与 VPC 网络关联后,政策的规则将对关联网络中的虚拟机 (VM) 实例生效。
控制台
- 在 Google Cloud 控制台中,前往防火墙政策页面。 
- 在项目选择器列表中,选择您的组织内的项目。 
- 点击创建防火墙政策。 
- 在名称字段中,输入政策的名称。 
- 在部署范围字段中,选择全球。 
- 如需为政策创建规则,请点击继续,然后点击添加规则。 - 如需了解详情,请参阅创建全球网络防火墙规则。 
- 如果要将政策与网络关联,请点击继续,然后点击将政策与 VPC 网络关联。 - 如需了解详情,请参阅将政策与网络关联。 
- 点击创建。 
gcloud
gcloud compute network-firewall-policies create \
    NETWORK_FIREWALL_POLICY_NAME \
    --description DESCRIPTION --global
替换以下内容:
- NETWORK_FIREWALL_POLICY_NAME:政策的名称
- DESCRIPTION:政策的说明
将政策与网络关联
将政策与网络关联,以激活网络中任何虚拟机的政策规则。
控制台
- 在 Google Cloud 控制台中,前往防火墙政策页面。 
- 在项目选择器菜单中,选择包含该政策的项目。 
- 点击您的政策。 
- 点击关联标签页。 
- 点击添加关联。 
- 选择项目中的网络。 
- 点击关联。 
gcloud
gcloud compute network-firewall-policies associations create \
    --firewall-policy POLICY_NAME \
    --network NETWORK_NAME \
    [ --name ASSOCIATION_NAME ] \
    --global-firewall-policy
替换以下内容:
- POLICY_NAME:政策的简称或系统生成的名称
- NETWORK_NAME:网络的名称。
- ASSOCIATION_NAME:关联的可选名称;如果未指定,则将名称设置为- network-NETWORK_NAME。
描述全球网络防火墙政策
您可以查看政策的所有详细信息,包括其所有防火墙规则。此外,您还可以查看政策中的所有规则中的特性。这些特性会计入每个政策的限制。
控制台
- 在 Google Cloud 控制台中,前往防火墙政策页面。 
- 在项目选择器菜单中,选择包含全球网络防火墙政策的项目。 
- 点击您的政策。 
gcloud
gcloud compute network-firewall-policies describe POLICY_NAME \
    --global
更新全球网络防火墙政策说明
唯一可以更新的政策字段是说明字段。
控制台
- 在 Google Cloud 控制台中,前往防火墙政策页面。 
- 在项目选择器菜单中,选择包含全球网络防火墙政策的项目。 
- 点击您的政策。 
- 点击修改。 
- 在说明字段中,更改文本。 
- 点击保存。 
gcloud
gcloud compute network-firewall-policies update POLICY_NAME \
    --description DESCRIPTION \
    --global
列出全球网络防火墙政策
您可以查看项目中可用政策的列表。
控制台
- 在 Google Cloud 控制台中,前往防火墙政策页面。 
- 在项目选择器菜单中,选择包含该政策的项目。 - 网络防火墙政策部分显示项目中可用的政策。 
gcloud
gcloud compute network-firewall-policies list --global
删除全球网络防火墙政策
您必须先删除全球网络防火墙政策的所有关联,然后才能删除政策。
控制台
- 在 Google Cloud 控制台中,前往防火墙政策页面。 
- 在项目选择器菜单中,选择包含该政策的项目。 
- 点击您要删除的政策。 
- 点击关联标签页。 
- 选择所有关联。 
- 点击 Remove Associations(移除关联)。 
- 移除所有关联后,点击删除。 
gcloud
- 列出与防火墙政策关联的所有网络: - gcloud compute network-firewall-policies describe POLICY_NAME \ --global
- 删除各个关联。如需移除关联,您必须具有针对全球网络防火墙政策的 - compute.SecurityAdmin角色,以及针对关联的 VPC 网络的- compute.networkAdmin角色。- gcloud compute network-firewall-policies associations delete \ --name ASSOCIATION_NAME \ --firewall-policy POLICY_NAME \ --global-firewall-policy
- 删除政策: - gcloud compute network-firewall-policies delete POLICY_NAME \ --global
删除关联
如需停止对网络强制执行防火墙政策,请删除关联。
但是,如果您打算将一项防火墙政策替换为另一项防火墙政策,则无需先删除现有关联。删除此关联后,系统会在一段时间内不强制执行任何政策。请改为在关联新政策时替换现有政策。
控制台
- 在 Google Cloud 控制台中,前往防火墙政策页面。 
- 在项目选择器菜单中,选择包含政策的项目或文件夹。 
- 点击您的政策。 
- 点击关联标签页。 
- 选择要删除的关联。 
- 点击 Remove Associations(移除关联)。 
gcloud
gcloud compute network-firewall-policies associations delete ASSOCIATION_NAME \
    --name ASSOCIATION_NAME \
    --firewall-policy POLICY_NAME \
    --global-firewall-policy
防火墙政策规则任务
创建全球网络防火墙规则
全球网络防火墙政策规则必须在全球网络防火墙政策中创建。在将包含规则的政策与 VPC 网络关联之前,这些规则处于无效状态。
每条全球网络防火墙政策规则可以包含 IPv4 或 IPv6 范围,但不能同时包含这两者。
控制台
- 在 Google Cloud 控制台中,前往防火墙政策页面。 
- 在项目选择器菜单中,选择包含该政策的项目。 
- 点击您的全球政策的名称。 
- 在防火墙规则标签页上,点击创建。 
- 填写规则字段: - 在优先级字段中,设置规则的顺序编号,其中 0是最高优先级。每条规则的优先级都必须唯一。最好是向规则提供允许之后插入操作的优先级编号(例如100、200或300)。
- 选择“入站流量”或“出站流量”作为流量方向。
- 在对匹配项执行的操作部分中,选择以下选项之一:- 允许:允许与规则匹配的连接。
- 拒绝:拒绝与规则匹配的连接。
- 转到下一层:将连接的评估传递到层次结构中的下一层防火墙规则。
- 转到 L7 检查:将数据包发送到已配置的防火墙端点以进行第 7 层检查和防御。
- 在安全配置文件组列表中,选择一个安全配置文件组的名称。
- 如需启用数据包的 TLS 检查,请选择启用 TLS 检查。
 
 
- 将日志集合设置为开启或关闭。
- 指定规则的目标。在目标类型字段中,选择以下选项之一:
- 如果您希望将规则应用于网络中的所有实例,请选择网络中的所有实例。
- 如果您希望按标记将规则应用于部分实例,请选择安全标记。点击选择范围,然后选择要在其中创建标记的组织或项目。输入规则应应用于的键值对。如需添加更多键值对,请点击添加标记。
- 如果您希望按关联的服务账号将规则应用于部分实例,请先选择服务账号,然后在服务账号范围中指明该服务账号属于当前项目还是其他项目,最后在目标服务账号字段中选择或输入服务账号名称。
 
- 对于入站流量规则,请指定来源过滤条件: - 如需按来源 IPv4 范围过滤传入的流量,请选择 IPv4,然后在 IP 范围字段中输入 CIDR 地址块。如需选择所有 IPv4 来源,请使用 0.0.0.0/0。
- 如需按来源 IPv6 范围过滤传入的流量,请选择 IPv6,然后在 IP 范围字段中输入 CIDR 地址块。如需选择所有 IPv6 来源,请使用 ::/0。
- 如需按标记限制来源,请在标记部分中点击选择范围。选择要为其创建标记的组织或项目。输入规则应应用于的键值对。如需添加更多键值对,请点击添加标记。
 
- 如需按来源 IPv4 范围过滤传入的流量,请选择 IPv4,然后在 IP 范围字段中输入 CIDR 地址块。如需选择所有 IPv4 来源,请使用 
- 对于出站流量规则,请指定目标过滤条件: - 如需按目标 IPv4 范围过滤传出的流量,请选择 IPv4,然后在 IP 范围字段中输入 CIDR 地址块。对于任何 IPv4 目标,请使用 0.0.0.0/0。
- 如需按目标 IPv6 范围过滤传出的流量,请选择 IPv6,然后在 IP 范围字段中输入 CIDR 地址块。对于任何 IPv6 目标,请使用 ::/0。
 
- 如需按目标 IPv4 范围过滤传出的流量,请选择 IPv4,然后在 IP 范围字段中输入 CIDR 地址块。对于任何 IPv4 目标,请使用 
- 可选:如果您要创建入站流量规则,请指定此规则适用的来源 FQDN。如果要创建出站流量规则,请选择此规则适用的目标 FQDN。如需详细了解域名对象,请参阅 FQDN 对象。 
- 可选:如果您要创建入站流量规则,请选择此规则适用的来源地理位置。如果要创建出站流量规则,请选择此规则适用的目标地理位置。如需详细了解地理位置对象,请参阅地理位置对象。 
- 可选:如果您要创建入站流量规则,请选择此规则适用的来源地址组。如果要创建出站流量规则,请选择此规则适用的目标地址组。如需详细了解地址组,请参阅防火墙政策的地址组。 
- 可选:如果您要创建入站流量规则,请选择此规则适用的 Google Cloud 威胁情报来源列表。如果要创建出站流量规则,请选择此规则适用的目标 Google Cloud 威胁情报列表。如需详细了解 Google Threat Intelligence,请参阅防火墙政策规则的 Google Threat Intelligence。 
- 可选:对于入站流量规则,请指定目标过滤条件: - 如需按目标 IPv4 范围过滤传入的流量,请选择 IPv4,然后在 IP 范围字段中输入 CIDR 地址块。对于任何 IPv4 目标,请使用 0.0.0.0/0。
- 如需按目标 IPv6 范围过滤传入的流量,请选择 IPv6 范围,然后在目标 IPv6 范围字段中输入 CIDR 地址块。对于任何 IPv6 目标,请使用 ::/0。 如需了解详情,请参阅入站流量规则的目的地。
 
- 如需按目标 IPv4 范围过滤传入的流量,请选择 IPv4,然后在 IP 范围字段中输入 CIDR 地址块。对于任何 IPv4 目标,请使用 
- 可选:对于出站流量规则,请指定来源过滤条件: - 如需按来源 IPv4 范围过滤传出的流量,请选择 IPv4,然后在 IP 范围字段中输入 CIDR 地址块。如需选择所有 IPv4 来源,请使用 0.0.0.0/0。
- 如需按来源 IPv6 范围过滤传出的流量,请选择 IPv6,然后在 IP 范围字段中输入 CIDR 地址块。如需选择所有 IPv6 来源,请使用 ::/0。 如需了解详情,请参阅出站流量规则的来源。
 
- 如需按来源 IPv4 范围过滤传出的流量,请选择 IPv4,然后在 IP 范围字段中输入 CIDR 地址块。如需选择所有 IPv4 来源,请使用 
- 对于协议和端口,指定规则适用于所有协议和所有目标端口,或指定应用哪些协议和端口。 
- 点击创建。 
 
- 在优先级字段中,设置规则的顺序编号,其中 
- 点击添加规则以添加其他规则。 
- 如需将政策与网络关联,请点击继续 > 将政策与 VPC 网络关联,或点击创建以创建政策。 
gcloud
gcloud compute network-firewall-policies rules create PRIORITY \
    --action ACTION \
    --firewall-policy POLICY_NAME \
    [--security-profile-group SECURITY_PROFILE_GROUP]  \
    [--tls-inspect | --no-tls-inspect] \
    --description DESCRIPTION \
    [--target-secure-tags TARGET_SECURE_TAG[,TARGET_SECURE_TAG,...]] \
    [--target-service-accounts=SERVICE_ACCOUNT[,SERVICE_ACCOUNT,...]] \
    [--direction DIRECTION] \
    [--src-network-type SRC_NETWORK_TYPE] \
    [--src-networks SRC_VPC_NETWORK,[SRC_VPC_NETWORK,...]] \
    [--dest-network-type DEST_NETWORK_TYPE] \
    [--src-ip-ranges IP_RANGES] \
    [--src-secure-tags SRC_SECURE_TAG[,SRC_SECURE_TAG,...]] \
    [--dest-ip-ranges IP_RANGES] \
    [--src-region-codes COUNTRY_CODE,[COUNTRY_CODE,...]] \
    [--dest-region-codes COUNTRY_CODE,[COUNTRY_CODE,...]] \
    [--src-threat-intelligence LIST_NAMES[,LIST_NAME,...]] \
    [--dest-threat-intelligence LIST_NAMES[,LIST_NAME,...]] \
    [--src-address-groups ADDR_GRP_URL[,ADDR_GRP_URL,...]] \
    [--dest-address-groups ADDR_GRP_URL[,ADDR_GRP_URLL,...]] \
    [--dest-fqdns DOMAIN_NAME[,DOMAIN_NAME,...]] \
    [--src-fqdns DOMAIN_NAME[,DOMAIN_NAME,...]] \
    [--layer4-configs PROTOCOL_PORT] \
    [--enable-logging | --no-enable-logging] \
    [--disabled | --no-disabled] \
    --global-firewall-policy
替换以下内容:
- PRIORITY:规则的数字评估顺序- 这些规则按照从最高到最低的优先级进行评估,其中 - 0是最高优先级。每条规则的优先级都必须唯一。最好向规则提供允许稍后插入的优先级编号(如- 100、- 200、- 300)。
- ACTION:以下操作之一:- allow:允许与规则匹配的连接
- deny:拒绝与规则匹配的连接
- apply_security_profile_group:以透明方式将数据包发送到已配置的防火墙端点,以进行第 7 层检查。
- goto_next:将连接评估传递到层次结构中的下一个级别(文件夹或网络)
 
- POLICY_NAME:全球网络防火墙政策的名称
- SECURITY_PROFILE_GROUP:用于第 7 层检查的安全配置文件组的名称;仅在选择了- apply_security_profile_group操作时才指定此参数
- --tls-inspect:在规则中选择- apply_security_profile_group操作时,使用 TLS 检查政策检查 TLS 流量。默认情况下,TLS 检查处于停用状态,您也可以指定- --no-tls-inspect
- SERVICE_ACCOUNT:用于定义目标的服务账号列表(以英文逗号分隔)
- DIRECTION:指明规则是- INGRESS规则还是- EGRESS规则;默认值为- INGRESS- 添加 --src-ip-ranges以指定流量来源的 IP 地址范围。
- 添加 --dest-ip-ranges以指定流量目的地的 IP 地址范围。
 
- 添加 
- SRC_NETWORK_TYPE:表示要应用入站流量规则的来源网络流量的类型。您可以将此参数设置为以下某个值:- INTERNET
- NON_INTERNET
- VPC_NETWORKS
- INTRA_VPC
 - 如需清除此参数的值,请使用空字符串。空值表示所有网络类型。如需了解详情,请参阅网络类型。 
- SRC_VPC_NETWORK:以英文逗号分隔的 VPC 网络列表- 仅当 - --src-network-type设置为- VPC_NETWORKS时,您才能使用- --src-networks。
- DEST_NETWORK_TYPE:表示出站流量规则适用的目标网络流量的类型。您可以将此参数设置为以下某个值:- INTERNET
- NON_INTERNET
 - 如需清除此参数的值,请使用空字符串。空值表示所有网络类型。如需了解详情,请参阅网络类型。 
- IP_RANGES:采用 CIDR 格式的 IP 地址范围(所有 IPv4 地址范围或所有 IPv6 地址范围)的英文逗号分隔列表,例如:- --src-ip-ranges=10.100.0.1/32,10.200.0.0/24
 - --src-ip-ranges=2001:0db8:1562::/96,2001:0db8:1723::/96
- SRC_SECURE_TAG:以英文逗号分隔的标记列表- 如果网络类型设置为 - INTERNET,则无法使用来源安全标记。
- COUNTRY_CODE:以英文逗号分隔的双字母国家/地区代码列表- 对于入站流量方向,请在 --src-region-code标志中指定国家/地区代码。您无法将--src-region-code标志用于出站方向,也无法在--src-network-type设置为NON_INTERNET、VPC_NETWORK或INTRA_VPC时使用此标志。
- 对于出站流量方向,在 --dest-region-code标志中指定国家/地区代码;不能将--dest-region-code标志用于入站流量方向
 
- 对于入站流量方向,请在 
- LIST_NAMES:Google Threat Intelligence 列表名称的逗号分隔列表- 对于入站流量方向,请在 --src-threat-intelligence标志中指定来源 Google Threat Intelligence 列表。您无法将--src-threat-intelligence标志用于出站方向,也无法在--src-network-type设置为NON_INTERNET、VPC_NETWORK或INTRA_VPC时使用此标志。
- 对于出站流量方向,请在 --dest-threat-intelligence标志中指定目标 Google Threat Intelligence 列表;不能将--dest-threat-intelligence标志用于入站流量方向
 
- 对于入站流量方向,请在 
- ADDR_GRP_URL:地址组的唯一网址标识符- 对于入站流量方向,请在 --src-address-groups参数中指定来源地址组;不能将--src-address-groups标志用于出站流量方向
- 对于出站流量方向,请在 --dest-address-groups标志中指定目标地址组;不能将--dest-address-groups标志用于入站流量方向
 
- 对于入站流量方向,请在 
- DOMAIN_NAME:以英文逗号分隔的域名列表,格式如域名格式中所述- 对于入站流量方向,请在 --src-fqdns标志中指定来源域名;不能将--src-fqdns标志用于出站流量方向
- 对于出站流量方向,请在 --dest-fqdns标志中指定目标地址组;不能将--dest-fqdns标志用于入站流量方向
 
- 对于入站流量方向,请在 
- PROTOCOL_PORT:协议名称或数字 (- tcp,17)、协议和目的地端口 (- tcp:80) 或者协议和目的地端口范围 (- tcp:5000-6000) 的英文逗号分隔列表- 您不能指定不含协议的端口或端口范围。对于 ICMP,不能指定端口或端口范围 - 例如: - --layer4-configs tcp:80,tcp:443,udp:4000-5000,icmp。- 如需了解详情,请参阅协议和端口。 
- --enable-logging和- --no-enable-logging:为给定规则启用或停用防火墙规则日志记录
- --disabled:指明在处理连接时不予考虑防火墙规则(如果存在);忽略此标志将启用规则,也可以指定- --no-disabled
更新规则
如需了解字段说明,请参阅创建全球网络防火墙规则。
控制台
- 在 Google Cloud 控制台中,前往防火墙政策页面。 
- 在项目选择器菜单中,选择包含该政策的项目。 
- 点击您的政策。 
- 点击规则的优先级。 
- 点击修改。 
- 修改要更改的字段。 
- 点击保存。 
gcloud
gcloud compute network-firewall-policies rules update RULE_PRIORITY \
    --firewall-policy POLICY_NAME \
    --global-firewall-policy \
    [...fields you want to modify...]
描述规则
控制台
- 在 Google Cloud 控制台中,前往防火墙政策页面。 
- 在项目选择器菜单中,选择包含该政策的项目。 
- 点击您的政策。 
- 点击规则的优先级。 
gcloud
gcloud compute network-firewall-policies rules describe PRIORITY \
    --firewall-policy POLICY_NAME --global-firewall-policy
替换以下内容:
- PRIORITY:要查看的规则的优先级;因为每条规则必须具有唯一的优先级,所以此设置唯一标识规则
- POLICY_NAME:包含规则的政策的名称
从政策中删除规则
从政策中删除规则会从所有继承该规则的虚拟机中移除该规则。
控制台
- 在 Google Cloud 控制台中,前往防火墙政策页面。 
- 在项目选择器菜单中,选择包含该政策的项目。 
- 点击您的政策。 
- 选择要删除的规则。 
- 点击删除。 
gcloud
gcloud compute network-firewall-policies rules delete PRIORITY \
    --firewall-policy POLICY_NAME \
    --global-firewall-policy
替换以下内容:
- PRIORITY:您要从政策中删除的规则的优先级
- POLICY_NAME:包含规则的政策
将规则从一个政策克隆到另一个政策
从目标政策中移除所有规则,并将其替换为来源政策中的规则。
控制台
- 在 Google Cloud 控制台中,前往防火墙政策页面。 
- 在项目选择器菜单中,选择包含该政策的项目。 
- 点击要从中复制规则的政策。 
- 点击屏幕顶部的克隆。 
- 提供目标政策的名称。 
- 如果您想立即关联新政策,请点击继续 > 将网络政策与资源关联。 
- 点击克隆。 
gcloud
gcloud compute network-firewall-policies clone-rules POLICY_NAME \
    --source-firewall-policy SOURCE_POLICY \
    --global
替换以下内容:
- POLICY_NAME:您要将规则替换为克隆后规则所采用的目标政策。
- SOURCE_POLICY:要从中克隆规则的来源政策的资源网址。
获取网络的有效防火墙规则
您可以查看应用于指定 VPC 网络的所有分层防火墙政策规则、VPC 防火墙规则和全球网络防火墙政策。
控制台
- 在 Google Cloud 控制台中,前往 VPC 网络页面。 
- 点击要查看其防火墙政策规则的网络。 
- 点击防火墙政策。 
- 展开每个防火墙政策以查看适用于此网络的规则。 
gcloud
gcloud compute networks get-effective-firewalls NETWORK_NAME
替换以下内容:
- NETWORK_NAME:您要查看其有效规则的网络。
您还可以在防火墙页面中查看网络的有效防火墙规则。
控制台
- 在 Google Cloud 控制台中,前往防火墙政策页面。 
- 防火墙政策列在此项目继承的防火墙政策部分中。 
- 点击每项防火墙政策以查看适用于此网络的规则。 
获取虚拟机接口的有效防火墙规则
您可以查看应用于指定 Compute Engine 虚拟机接口的所有分层防火墙政策规则、VPC 防火墙规则和全球网络防火墙政策规则。
控制台
- 在 Google Cloud 控制台中,前往虚拟机实例页面。 
- 在项目选择器菜单中,选择包含虚拟机的项目。 
- 点击虚拟机。 
- 对于网络接口,请点击接口。 
- 在防火墙和路由详情中查看有效防火墙规则。 
gcloud
gcloud compute instances network-interfaces get-effective-firewalls INSTANCE_NAME \
    [--network-interface INTERFACE] \
    [--zone ZONE]
替换以下内容:
- INSTANCE_NAME:您要查看其有效规则的虚拟机;如果未指定接口,该命令会返回主要接口 (- nic0) 的规则。
- INTERFACE:您要查看其有效规则的虚拟机接口;默认值为- nic0。
- ZONE:虚拟机的可用区;如果已将所选可用区设置为默认可用区,则此行为可选。