使用全球网络防火墙政策和规则
本页面假定您熟悉全球网络防火墙政策概览中所述的概念。
防火墙政策任务
创建全球网络防火墙政策
您可以为项目中的任何 VPC 网络创建政策。创建政策后,您可以将它与项目中的任何 VPC 网络相关联。关联政策后,政策的规则将对关联网络下的虚拟机有效。
控制台
在 Google Cloud Console 中,转到防火墙页面。
在项目选择器列表中,选择您的组织内的项目。
点击创建网络防火墙政策。
为政策指定名称。
在部署范围下,选择全球。
如需为政策创建规则,请点击继续,然后点击添加规则。
如需了解详情,请参阅创建防火墙规则。
如果要将政策与网络关联,请点击继续,然后点击关联。
如需了解详情,请参阅将政策与 VPC 网络关联。
点击创建。
gcloud
gcloud compute network-firewall-policies create \ NETWORK_FIREWALL_POLICY_NAME --description DESCRIPTION --global
替换以下内容:
NETWORK_FIREWALL_POLICY_NAME
:政策的名称。DESCRIPTION
:政策的说明。
将政策与网络关联
将政策与网络关联,以激活网络中任何虚拟机的政策规则。
控制台
在 Google Cloud Console 中,转到防火墙页面。
在项目选择器下拉菜单中,选择包含政策的项目。
点击您的政策。
点击关联对象标签页。
点击关联。
选择项目中的网络。
点击关联。
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
:关联的可选名称;如果未指定,则将名称设置为“组织ORG_ID
”或“文件夹FOLDER_ID
”。
描述全球网络防火墙政策
您可以查看政策的所有详细信息,包括其所有防火墙规则。此外,您还可以查看政策中的所有规则中的特性。这些特性会计入每个政策的限制。
控制台
在 Google Cloud Console 中,转到防火墙页面。
在项目选择器下拉菜单中,选择包含全球网络防火墙政策的项目。
点击您的政策。
gcloud
gcloud compute firewall-policies describe POLICY_NAME \ --global
更新全球网络防火墙政策说明
唯一可以更新的政策字段是说明字段。
控制台
在 Google Cloud 控制台中,前往防火墙页面。
在项目选择器下拉菜单中,选择您的组织 ID 或包含政策的文件夹。
点击修改。
在说明字段中,更改文本。
点击保存。
gcloud
gcloud compute network-firewall-policies update POLICY_NAME \ --description DESCRIPTION \ --global
列出全球网络防火墙政策
您可以查看项目中可用政策的列表。
控制台
在 Google Cloud 控制台中,前往防火墙页面。
在项目选择器下拉菜单中,选择包含政策的项目。
网络防火墙政策部分显示项目中可用的政策。
gcloud
gcloud compute network-firewall-policies list --global
删除全球网络防火墙政策
您必须先删除全球网络防火墙政策的所有关联,然后才能删除政策。
控制台
在 Google Cloud 控制台中,前往防火墙页面。
在项目选择器下拉菜单中,选择包含政策的项目。
点击您要删除的政策。
点击关联对象标签页。
选择所有关联。
点击移除。
移除所有关联后,点击删除。
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 Console 中,转到防火墙页面。
在项目选择器下拉菜单中,选择包含政策的项目或文件夹。
点击您的政策。
点击关联标签页。
选择要删除的关联。
点击移除。
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
)。 - 将日志集合设置为开启或关闭。
- 选择“入站”或“出站”作为流量方向。
- 在对匹配项执行的操作下,指定是允许(允许)还是拒绝(拒绝)与规则匹配的连接,还是将连接评估传递到层次结构中的下一个较低防火墙规则(转到下一个)。
- 选择“入站”或“出站”作为流量方向。
- 指定规则的目标。
- 如果您希望将规则应用于网络中的所有实例,请选择网络中的所有实例。
- 如果您希望按标记将规则应用于部分实例,请选择安全标记。点击添加标记,然后在标记值字段中输入应将规则应用于的标记值。
- 如果您希望按关联的服务帐号将规则应用于部分实例,请选择
Service account
,在服务帐号范围下指明该服务帐号属于当前项目还是其他项目,然后在目标服务帐号字段中选择或输入服务帐号名称。
- 对于入站规则,请指定来源过滤条件:
- 选择 IP 范围。如需按 IP 地址范围定义传入流量的来源,请在来源 IP 范围字段中输入 CIDR 地址块。使用
0.0.0.0/0
表示任意网络来源。 - 如需按网络标记限制来源,请选择来源标记,然后在来源标记字段中输入网络标记。如需了解针对来源标记数量的限制,请参阅每个网络的限制。只有在未按服务帐号指定目标时,才能按来源标记过滤。如需了解详情,请参阅按服务帐号过滤与按网络标记过滤。
- 如需按服务帐号限制来源,请选择服务帐号,在服务帐号范围下指明该服务帐号属于当前项目还是其他项目,然后在来源服务帐号字段中选择或输入服务帐号名称。只有在未通过网络标记指定目标时,才能按来源服务帐号过滤。如需了解详情,请参阅按服务帐号过滤与按网络标记过滤。
- 如果需要,请指定次要来源过滤条件。次要来源过滤条件不能与主要过滤条件相同。 来源 IP 地址范围可以与来源标记或来源服务帐号搭配使用。有效来源集是来源范围内的 IP 地址与网络标记或服务帐号所标识实例的并集。也就是说,如果来源 IP 地址范围或来源标记(或来源服务帐号)与过滤条件匹配,则来源会包含在有效来源集中。 来源标记与来源服务帐号不能同时使用。
- 选择 IP 范围。如需按 IP 地址范围定义传入流量的来源,请在来源 IP 范围字段中输入 CIDR 地址块。使用
- 对于出站规则,请指定目标过滤条件:
- 选择
IP ranges
,然后在目标 IP 地址范围字段中输入 CIDR 地址块,即可按 IP 地址范围定义传出流量的目的地。0.0.0.0/0
表示任意位置。
- 选择
- 可选:如果您要创建入站流量规则,请指定此规则适用的来源 FQDN。如果要创建出站流量规则,请选择此规则适用的目标 FQDN。如需详细了解域名对象,请参阅域名对象。
- 可选:如果您要创建入站流量规则,请选择此规则适用的来源地理位置。如果要创建出站流量规则,请选择此规则适用的目标地理位置。如需详细了解地理位置对象,请参阅地理位置对象。
- 可选:如果您要创建入站流量规则,请选择此规则适用的网络威胁情报来源列表。如果要创建出站流量规则,请选择此规则适用的目标网络威胁情报列表。如需详细了解威胁情报,请参阅防火墙政策规则的威胁情报。
- 在协议和端口下,指定规则适用于所有协议和所有目标端口,或指定应用哪些协议和端口。
- 点击创建。
- 在优先级字段中,设置规则的顺序编号,其中
点击添加规则以添加其他规则。
如需将政策与网络关联,请点击继续 > 关联,或点击创建以创建政策。
gcloud
gcloud compute network-firewall-policies rules create PRIORITY \ --action ACTION \ --firewall-policy POLICY_NAME \ --description DESCRIPTION \ [--target-secure-tags TARGET_SECURE_TAG[,TARGET_SECURE_TAG,...]] \ [--target-service-accounts=SERVICE_ACCOUNT[,SERVICE_ACCOUNT,...]] \ [--direction DIRECTION] [--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
:拒绝与规则匹配的连接goto_next
:将连接评估传递到层次结构中的下一个级别(文件夹或网络)
POLICY_NAME
:全球网络防火墙政策的名称SERVICE_ACCOUNT
:用于定义目标的服务帐号列表(以英文逗号分隔)DIRECTION
:指明规则是ingress
规则还是egress
规则;默认值为ingress
- 添加
--src-ip-ranges
以指定流量来源的 IP 地址范围。 - 添加
--dest-ip-ranges
以指定流量目的地的 IP 地址范围。
- 添加
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
:以英文逗号分隔的标记列表COUNTRY_CODE
:以英文逗号分隔的双字母国家/地区代码列表- 对于入站流量方向,请在
--src-region-code
参数中指定国家/地区代码;不能j将--src-region-code
参数用于出站流量方向 - 对于出站流量方向,在
--dest-region-code
参数中指定国家/地区代码;不能将--dest-region-code
参数用于入站流量方向
- 对于入站流量方向,请在
LIST_NAMES
:威胁情报列表名称的逗号分隔列表- 对于入站流量方向,请在
--src-threat-intelligence
参数中指定来源威胁情报列表;不能将--src-threat-intelligence
参数用于出站流量方向 - 对于出站流量方向,请在
--dest-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 Console 中,转到防火墙页面。
在项目选择器下拉菜单中,选择包含政策的项目。
点击您的政策。
选择要删除的规则。
点击删除。
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 Console 中,转到“虚拟机实例”页面。
在项目选择器下拉菜单中,选择包含虚拟机的项目。
点击虚拟机。
在网络接口下方,点击接口。
在防火墙和路由详情下查看有效防火墙规则。
gcloud
gcloud compute instances network-interfaces get-effective-firewalls INSTANCE_NAME \ [--network-interface INTERFACE \ [--zone ZONE]
请替换以下内容:
INSTANCE_NAME
:您要查看其有效规则的虚拟机;如果未指定接口,该命令会返回主要接口 (nic0
) 的规则。INTERFACE
:您要查看其有效规则的虚拟机接口;默认值为 nic0。ZONE
:虚拟机的可用区;如果所需的可用区已设置为默认值,则此行为可选。