Cloud Next Generation Firewall 规则使用标记来指定来源和目标。这种灵活的方法避免了对 IP 地址的依赖。
标记类型
Cloud NGFW 支持以下两种类型的标记:
由 Identity and Access Management (IAM) 治理的 标记, 也称为 安全标记,是在 Resource Manager 中作为 标记键和标记值创建和管理的。安全标记值可用于在分层防火墙政策、全球网络防火墙政策或区域级网络防火墙政策中为入站规则指定来源,以及为入站或出站规则指定目标。
网络标记是不受访问权限控制的字符串,可以 添加到虚拟机 (VM) 实例或 实例模板。网络标记可用于为入站虚拟私有云 (VPC) 防火墙规则指定来源,以及为入站或出站 VPC 防火墙规则指定目标。分层防火墙政策、全球网络防火墙政策或区域级网络防火墙政策中的规则无法使用网络标记。如需详细了解网络标记, 请参阅添加网络标记。
如需详细了解安全标记和网络 标记之间的区别,请参阅 安全标记和网络标记对比。
本页的下一部分介绍了防火墙政策中的安全标记。
规格
安全标记具有以下规范:
父级资源:父级资源是定义安全 标记键的资源。标记键可以在父级 项目或 组织中创建。 如需详细了解如何创建标记键,请参阅 创建和管理安全标记。
用途和用途数据:如需将安全标记键与 Cloud NGFW 搭配使用,您必须将标记键的
purpose属性设置为GCE_FIREWALL,并且必须指定purpose-data属性:您可以将标记键的
purpose-data属性设置为network,后跟单个 VPC 网络规范。对于具有父级项目的标记键,如果您将标记键的
purpose-data属性设置为network,则指定的 VPC 网络必须与标记键位于同一项目中。对于具有父级组织的标记键,如果您将标记键的
purpose-data属性设置为network,则指定的 VPC 网络必须与标记键位于同一组织中。
您可以将标记键的
purpose-data属性设置为organization=auto。这会标识组织中的所有 VPC 网络。
创建标记键后,
purpose和purpose-data属性都无法更改。如需详细了解如何在标记键的purpose-data属性中设置网络规范的格式,请参阅 Resource Manager API 文档中的 用途。结构和格式:一个安全标记键最多可以引用 1,000 个唯一的 标记值。具有 Tag Administrator 角色 (
roles/resourcemanager.tagAdmin) 的 IAM 正文为每个标记键创建标记键和标记值。如需详细了解安全标记限制,请参阅 限制。在组织之间移动项目:您可以将项目从一个 组织移动到另一个组织。在移动项目之前,请从原始组织中分离出任何具有
purpose-data属性的标记键,该属性指定了项目中使用的组织。如果您不先分离安全标记,则在移动过程中会收到错误消息。访问权限控制:IAM 政策决定了哪些 IAM 主账号可以管理和使用安全标记:
具有 Tag Administrator 角色 (
roles/resourcemanager.tagAdmin) 的 IAM 正文可以创建标记键并管理其标记值:在组织的 IAM 政策中被授予 Tag Administrator 角色 (
roles/resourcemanager.tagAdmin) 的 IAM 正文可以创建以组织为父级的标记键。在组织、文件夹或项目的 IAM 政策中被授予 Tag Administrator 角色 (
roles/resourcemanager.tagAdmin) 的 IAM 主账号可以创建以项目为父级的标记键。
具有 Tag User 角色 (
roles/resourcemanager.tagUser) 的 IAM 主账号可以将标记值绑定到虚拟机实例,或在分层防火墙政策、全球网络防火墙政策或区域级网络防火墙政策的防火墙规则中使用标记值。在组织的 IAM 政策中被授予 Tag User 角色 (
roles/resourcemanager.tagUser) 的 IAM 主账号可以使用以组织为父级的标记键中的标记值。在组织、文件夹或项目的 IAM 政策中被授予 Tag User 角色 (
roles/resourcemanager.tagUser) 的 IAM 主账号可以使用以项目为父级的标记键中的标记值。
开发者、数据库管理员或运营团队的 IAM 主账号可以被授予 Tag User 角色 (
roles/resourcemanager.tagUser) 和其他适当的角色,而无需被授予 Compute Security Admin 角色 (roles/compute.securityAdmin)。这样,运营团队就可以控制哪些防火墙规则适用于他们管理的虚拟机实例的网络接口,而无需能够修改这些防火墙规则。
如需详细了解所需权限,请参阅 IAM 角色。
防火墙规则支持:分层防火墙政策、全球 网络防火墙政策和区域级网络防火墙政策中的规则支持将标记 键作为来源安全标记或目标安全标记。VPC 防火墙规则不支持安全标记。如需了解详情,请参阅 安全标记和网络标记对比。
虚拟机绑定和适用的防火墙规则:当您将安全标记 值绑定到虚拟机实例时,使用该标记值的适用防火 firewall 规则 会将虚拟机网络接口作为来源或目标:
如果绑定到实例的安全标记值来自
purpose-data属性指定单个 VPC 网络的标记键:将该标记值用作来源安全标记的入站防火墙规则的来源包括指定 VPC 网络中的虚拟机的网络接口。
将该标记值用作目标安全标记的入站和出站防火墙规则的目标包括指定 VPC 网络中的虚拟机的网络接口。
如果绑定到实例的安全标记值来自
purpose-data属性指定组织的标记键:将该标记值用作来源安全标记的入站防火墙规则的来源包括组织中任何 VPC 网络中的虚拟机的网络接口。
将该标记值用作目标安全标记的入站和出站防火墙规则的目标包括组织中任何 VPC 网络中的虚拟机的网络接口。
适用防火墙规则如何识别数据包:Cloud NGFW 将 来源安全标记和目标安全标记映射到网络接口,而不是 IP 地址:
当入站防火墙规则的来源安全标记将虚拟机网络 接口作为来源时, Google Cloud 与从该网络接口发送的任何数据包匹配。
当入站防火墙规则的目标安全标记将虚拟机网络 接口作为目标时, Google Cloud 与该网络接口收到的任何数据包 匹配。
当出站防火墙规则的目标安全标记将虚拟机网络接口作为目标时, Google Cloud 与从该网络接口发送的任何数据包匹配。
每个实例的标记值数量:您可以将每个标记值绑定到 不限数量的虚拟机实例。每个实例支持的标记值数量是可变的。 Google Cloud 对适用于虚拟机每个网络接口的标记值数量强制执行 10 个的限制。 Google Cloud 如果超过 10 个标记值适用于一个或多个网络接口,则阻止您将其他标记值绑定到虚拟机实例。如需了解详情, 请参阅绑定安全标记。
网络对等互连和 NCC 支持:您可以使用安全标记来 识别对等互连网络中的虚拟机网络接口。这包括通过 VPC 网络对等互连连接的网络以及 Network Connectivity Center hub 上的 VPC spoke。此功能有助于使用专用服务访问通道的已发布 服务的消费者。 例如,您可以使用带有来源安全标记的入站防火墙规则来控制从服务提供方虚拟机到您的虚拟机的流量。
Google Kubernetes Engine (GKE) 的安全标记:您可以将安全标记绑定到 GKE 集群和节点池,以在网络防火墙 政策中使用。如需了解详情,请参阅 创建和管理安全标记。
绑定安全标记
如需将安全标记与 Cloud NGFW 搭配使用,您必须将标记值绑定到虚拟机实例。每个安全标记键都支持多个标记值;但是,对于每个标记键,您只能将其中的一个标记值绑定到实例。如需详细了解 IAM 权限以及如何绑定安全标记,请参阅绑定安全标记。
本部分中的示例展示了绑定的标记值如何应用于虚拟机网络接口。以具有两个网络接口的 instance1 虚拟机实例为例:
nic0连接到network1VPC 网络nic1连接到network2VPC 网络
这两个 VPC 网络都位于同一组织中。
相应标记键的 purpose-data 属性决定了绑定标记值与虚拟机网络接口之间的关系。
purpose-data 属性指定 VPC 网络的标记键
假设您创建了两个标记键,它们具有以下 purpose-data 属性和标记值:
tag_key1具有指定network1VPC 网络的purpose-data属性,以及两个标记值tag_value1和tag_value2。tag_key2具有指定network2VPC 网络的purpose-data属性,以及一个标记值tag_value3。
purpose-data 属性都指定一个 VPC 网络(点击可放大)。当您将安全标记值 tag_value1 和 tag_value3 绑定到 instance1 时:
tag_value1适用于nic0网络接口,因为其父级tag_key1具有指定network1VPC 网络的purpose-data属性,并且nic0网络接口位于network1中。tag_value3适用于nic1网络接口,因为其父级tag_key2具有指定network2VPC 网络的purpose-data属性,并且nic1网络接口位于network2中。
下图展示了如何绑定来自 purpose-data 属性指定单个 VPC 网络的标记键的标记值。
purpose-data 属性指定单个 VPC 网络
(点击可放大)。purpose-data 属性指定组织的标记键
假设您创建了两个标记键,它们具有以下 purpose-data 属性和标记值:
tag_key3具有指定父级组织的purpose-data属性,以及两个标记值tag_value4和tag_value5。tag_key4具有指定父级组织的purpose-data属性,以及一个标记值tag_value6。
purpose-data 属性都指定父级组织(点击可放大)。当您将标记值 tag_value4 绑定到 instance1 时:
tag_value4适用于nic0网络接口,因为其父级tag_key3具有指定包含network1VPC 网络的父级组织的purpose-data属性,并且nic0网络接口位于network1中。tag_value4也适用于nic1网络接口,因为其父级tag_key3包含指定包含network2VPC 网络的父级组织的purpose-data属性。nic1网络接口位于network2中。
下图展示了如何绑定来自 purpose-data 属性指定父级组织的标记键的标记值。
purpose-data 属性指定父级组织(点击可
放大)。配置安全标记
以下工作流提供了在防火墙政策中配置安全标记所需的简要步骤。
您可以在组织或项目级层创建安全标记。 如需在组织级层创建标记,您必须先获得组织管理员授予的 IAM 权限。 如需了解详情,请参阅 授予安全标记的权限。
如需创建安全标记,您必须先创建一个标记键。此标记键描述了您要创建的标记。如需了解详情,请参阅 创建安全标记键和值。
创建安全标记键后,您必须向其添加相关的安全标记值。如需了解详情,请参阅 创建安全标记键和值。 如需向用户授予管理安全标记键以及向资源附加标记值 的特定权限,请使用 Google Cloud 控制台。如需了解详情,请参阅 管理标记的访问权限。
创建安全标记后,您可以在网络防火墙政策或分层防火墙政策中使用该标记。 如需了解详情,请参阅 创建分层防火墙政策和 创建网络防火墙政策。
如需允许具有来源标记键和目标标记键的虚拟机之间进行所选流量,请创建具有特定来源标记值和目标标记值的防火墙政策规则(网络或分层)。 如需了解详情,请参阅 使用安全标记创建防火墙政策规则。
创建标记键并为该标记键和资源授予访问权限后,该标记键可以绑定到虚拟机实例。 如需了解详情,请参阅 绑定安全标记。
安全标记和网络标记对比
下表总结了安全标记和网络标记之间的区别。对勾标记表示支持该属性,否定符号表示不支持该属性。
| 属性 | 具有指定 VPC 网络的 purpose-data 属性的安全标记 |
具有指定组织的 purpose-data 属性的安全标记 |
网络标记 |
|---|---|---|---|
| 父级资源 | 项目或组织 | 项目或组织 | 项目 |
| 结构和格式 | 最多具有 1,000 个值的标记键 | 最多具有 1,000 个值的标记键 | 简单字符串 |
| 访问权限控制 | 使用 IAM | 使用 IAM | 无访问权限控制 |
| 适用的网络接口 |
|
|
|
| 受分层防火墙政策中的规则支持 | |||
| 受全球和区域级网络防火墙政策中的规则支持 | |||
| 受 VPC 防火墙规则支持 | |||
| 入站防火墙规则可以包含使用 VPC 网络对等互连连接的 VPC 网络中的来源 | 1 | 1 | |
| 入站防火墙规则可以包含 NCC hub 上的其他 VPC spoke 中的来源 | 1 | 1 |
- 标记键
purpose-data属性指定了另一个 VPC 网络(或包含另一个 VPC 网络的父级组织) - 另一个 VPC 网络和使用防火墙政策的 VPC 网络 使用 VPC 网络对等互连 连接,或者都是同一 NCC hub 上的 VPC spoke。
IAM 角色
如需详细了解创建和管理安全标记所需的 IAM 角色和权限,请参阅管理资源上的标记。
后续步骤
- 如需向安全标记授予权限以及创建安全标记键值对,请参阅 创建和管理安全标记。
- 如需在网络对等互连中使用安全标记,请参阅 跨对等互连网络使用安全标记。