防火墙的安全标记

Cloud 新一代防火墙规则使用标记来指定来源和目标。这种灵活的方法避免了对 IP 地址的依赖。

代码类型

Cloud NGFW 支持两种类型的标记:

  • 由 Identity and Access Management (IAM) 治理的标记(也称为安全标记)在 Resource Manager 中创建和管理,形式为标记键和标记值。安全标记值可用于在分层防火墙政策、全球网络防火墙政策或区域级网络防火墙政策中指定入站流量规则的来源以及入站或出站流量规则的目标。

  • 网络标记是不受访问控制的字符串,可以添加到虚拟机 (VM) 实例或实例模板中。网络标记可用于为入站 Virtual Private Cloud (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 网络。

    创建标记键后,purposepurpose-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 政策中被授予标记管理员角色 (roles/resourcemanager.tagAdmin) 的 IAM 主账号可以创建以项目为父级的标记键。

    • 具有 Tag User 角色 (roles/resourcemanager.tagUser) 的 IAM 主账号可以将标记值绑定到虚拟机实例,或在分层防火墙政策、全球网络防火墙政策或区域级网络防火墙政策的防火墙规则中使用标记值。

      • 在组织的 IAM 政策中被授予“标记用户”角色 (roles/resourcemanager.tagUser) 的 IAM 主账号可以使用以组织为父级的标记键中的标记值。

      • 在组织、文件夹或项目的 IAM 政策中被授予“标记用户”角色 (roles/resourcemanager.tagUser) 的 IAM 主账号可以使用以项目作为父级的标记键中的标记值。

    • 开发者、数据库管理员或运营团队等 IAM 主账号可以被授予 Tag User 角色 (roles/resourcemanager.tagUser) 和其他适当的角色,而无需被授予 Compute Security Admin 角色 (roles/compute.securityAdmin)。这样,运营团队可以控制哪些防火墙规则适用于其管理的虚拟机实例的网络接口,但无法修改这些防火墙规则。

    如需详细了解所需权限,请参阅 IAM 角色

  • 防火墙规则支持:分层防火墙政策、全球网络防火墙政策和区域级网络防火墙政策中的规则支持将标记键作为来源安全标记或目标安全标记。VPC 防火墙规则不支持安全标记。如需了解详情,请参阅安全标记与网络标记的比较

  • 虚拟机绑定和适用的防火墙规则:将安全标记值绑定到虚拟机实例时,使用该标记值的适用防火墙规则会将虚拟机网络接口作为来源或目标:

    • 如果绑定到实例的安全标记值来自 purpose-data 属性指定单个 VPC 网络的标记键:

      • 使用该标记值作为来源安全标记的入站流量防火墙规则的来源包括指定 VPC 网络中虚拟机的网络接口。

      • 使用该标记值作为目标安全标记的入站和出站防火墙规则的目标包括指定 VPC 网络中虚拟机的网络接口。

    • 如果绑定到实例的安全标记值来自 purpose-data 属性指定了组织的标记键:

      • 使用该标记值作为来源安全标记的入站防火墙规则的来源包括组织中任何 VPC 网络内的虚拟机的网络接口。

      • 使用该标记值作为安全标记的入站和出站防火墙规则的目标包括组织中任何 VPC 网络中虚拟机的网络接口。

  • 适用防火墙规则如何识别数据包:Cloud NGFW 将来源安全标记和目标安全标记映射到网络接口,而不是 IP 地址:

    • 当入站流量防火墙规则的来源安全标记将虚拟机网络接口作为来源时, Google Cloud 与从该网络接口发送的任何数据包匹配。

    • 当入站流量防火墙规则的目标安全标记将虚拟机网络接口作为目标时, Google Cloud 会匹配该网络接口接收到的任何数据包。

    • 当出站流量防火墙规则的目标安全标记包含虚拟机网络接口作为目标时, Google Cloud 匹配从该网络接口发送的任何数据包。

  • 每个实例的标记值数量:您可以将每个标记值绑定到不限数量的虚拟机实例。每个实例支持的标记值数量各不相同。 Google Cloud 强制限制应用于虚拟机每个网络接口的标记值数量为 10 个。 Google Cloud 如果某个虚拟机实例的一个或多个网络接口应用了 10 个以上的标记值,则阻止您将其他标记值绑定到该虚拟机实例。如需了解详情,请参阅绑定安全标记

  • 支持 VPC 网络对等互连:防火墙政策的入站规则中的来源安全标记可以标识对等互连 VPC 网络中的来源虚拟机网络接口。对于使用专用服务访问通道的已发布服务的使用方,此功能非常有用。通过使用具有来源安全标记的入站流量防火墙规则,使用方可以控制哪些服务提供方虚拟机可以向其使用方虚拟机发送数据包。

  • 使用 Google Kubernetes Engine (GKE) 保护标记:GKE 集群和节点池不支持使用 purpose-data=organization=auto 配置创建的安全标记。因此,请为每个 VPC 网络创建一个安全标记键。如需了解详情,请参阅创建和管理安全标记

绑定安全标记

如需将安全标记与 Cloud NGFW 搭配使用,您必须将标记值绑定到虚拟机实例。每个安全标记键都支持多个标记值;不过,对于每个标记键,您只能将其一个标记值绑定到实例。如需详细了解 IAM 权限以及如何绑定安全标记,请参阅绑定安全标记

本部分中的示例展示了绑定标记值如何应用于虚拟机网络接口。以具有两个网络接口的 instance1 虚拟机实例为例:

  • nic0 已连接到 network1 VPC 网络
  • nic1 已连接到 network2 VPC 网络

这两个 VPC 网络位于同一组织中。

具有两个网络接口的虚拟机实例,每个接口都连接到不同的 VPC 网络。
图 1. 具有两个网络接口的虚拟机实例,每个接口都连接到不同的 VPC 网络(点击可放大)。

相应标记键的 purpose-data 属性决定了绑定标记值与虚拟机网络接口之间的关系。

purpose-data 属性指定 VPC 网络的标记键

假设您创建了两个具有以下 purpose-data 属性和标记值的标记键:

  • tag_key1 具有一个 purpose-data 属性,用于指定 network1 VPC 网络和两个标记值 tag_value1tag_value2

  • tag_key2 具有一个 purpose-data 属性,用于指定 network2 VPC 网络和一个标记值 tag_value3

每个标记键的 `purpose-data` 属性都指定一个 VPC 网络。
图 2. 每个标记键的 purpose-data 属性都指定了一个 VPC 网络(点击可放大)。

将安全标记值 tag_value1tag_value3 绑定到 instance1 时:

  • tag_value1 适用于 nic0 网络接口,因为其父级 tag_key1 具有指定 network1 VPC 网络的 purpose-data 属性,并且 nic0 网络接口位于 network1 中。

  • tag_value3 适用于 nic1 网络接口,因为其父级 tag_key2 具有指定 network2 VPC 网络的 purpose-data 属性,并且 nic1 网络接口位于 network2 中。

下图显示了来自标记键的绑定标记值,这些标记键的 purpose-data 属性指定了单个 VPC 网络。

来自 `purpose-data` 属性指定单个 VPC 网络的标记键的绑定标记值。
图 3. purpose-data 属性指定单个 VPC 网络的标记键的绑定标记值(点击可放大)。

purpose-data 属性指定组织的标记键

假设您创建了两个具有以下 purpose-data 属性和标记值的标记键:

  • tag_key3 具有 purpose-data 属性,该属性用于指定父组织,并具有两个标记值 tag_value4tag_value5

  • tag_key4 具有 purpose-data 属性,用于指定父组织,并具有一个标记值 tag_value6

每个标记键的 `purpose-data` 属性用于指定父级组织。
图 4. 每个标记键的 purpose-data 属性用于指定父组织(点击可放大)。

将标记值 tag_value4 绑定到 instance1 时:

  • tag_value4 适用于 nic0 网络接口,因为其父级 tag_key3 具有 purpose-data 属性,该属性指定了包含 network1 VPC 网络的父级组织,而 nic0 网络接口位于 network1 中。

  • tag_value4 也适用于 nic1 网络接口,因为其父级 tag_key3 包含一个 purpose-data 属性,用于指定包含 network2 VPC 网络的父级组织。nic1 网络接口位于 network2 中。

下图显示了如何绑定来自标记键的标记值,这些标记键的 purpose-data 属性指定了父组织。

来自标记键的绑定标记值,这些标记键的“purpose-data”属性指定了父组织。
图 5. purpose-data 属性指定父组织的标记键的绑定标记值(点击可放大)。

配置安全标记

以下工作流提供了在防火墙政策中配置安全标记所需的简要步骤。

  1. 您可以在组织或项目级层创建安全标记。如需在组织级层创建标记,您必须先获得组织管理员授予的 IAM 权限。如需了解详情,请参阅授予安全标记权限

  2. 如需创建安全标记,您必须先创建标记键。此标记键用于描述您正在创建的标记。如需了解详情,请参阅创建安全标记键和值

  3. 创建安全标记键后,您必须向其添加相关的安全标记值。如需了解详情,请参阅创建安全标记键和值。 如需向用户授予管理安全标记键以及向资源附加标记值的特定权限,请使用 Google Cloud 控制台。如需了解详情,请参阅管理对标记的访问权限

  4. 创建安全标记后,您可以在网络防火墙政策或分层防火墙政策中使用该标记。如需了解详情,请参阅创建分层防火墙政策创建网络防火墙政策

  5. 如需允许具有来源标记键和目标标记键的虚拟机之间传输所选流量,请创建具有特定来源标记值和目标标记值的防火墙政策规则(网络或分层)。如需了解详情,请参阅创建具有安全标记的防火墙政策规则

  6. 创建标记键并为该标记键和资源授予相应的访问权限后,该标记键可以绑定到虚拟机实例。如需了解详情,请参阅绑定安全标记

安全标记与网络标记的比较

下表总结了安全标记和网络标记之间的区别。 对勾标记表示支持相应属性, 符号表示不支持相应属性。

属性 具有 purpose-data 属性的安全标记,用于指定 VPC 网络 带有 purpose-data 属性(用于指定组织)的安全标记 广告联盟代码
父级资源 项目或组织 项目或组织 项目
结构和格式 最多具有 1,000 个值的标记键 最多具有 1,000 个值的标记键 简单字符串
访问权限控制 使用 IAM 使用 IAM 无访问权限控制
适用的网络接口
  • 具有来源安全标记值的入站防火墙规则:来源包括标记键的 purpose-data 属性指定的 VPC 网络中的虚拟机网络接口。
  • 具有目标安全标记值的入站或出站防火墙规则:目标包括标记键的 purpose-data 属性指定的 VPC 网络中的虚拟机网络接口。
  • 具有来源安全标记值的入站防火墙规则:来源包括父组织的任何 VPC 网络中的虚拟机网络接口。
  • 具有目标安全标记值的入站或出站防火墙规则:目标包括父组织的任何 VPC 网络中的虚拟机网络接口。
  • 具有来源网络标记的入站流量防火墙规则:来源包括虚拟机使用的任何 VPC 网络中的虚拟机网络接口,前提是该网络具有使用来源网络标记的 VPC 防火墙规则。
  • 具有目标网络标记的入站或出站防火墙规则:目标包括虚拟机使用的任何 VPC 网络中的虚拟机网络接口,前提是该网络具有使用目标网络标记的 VPC 防火墙规则。
受分层防火墙政策中的规则支持
受全球和区域级网络防火墙政策中的规则支持
受 VPC 防火墙规则支持
入站流量防火墙规则可以包含使用 VPC 网络对等互连连接的 VPC 网络中的来源 1 1
入站防火墙规则可以包含 Network Connectivity Center hub 上其他 VPC spoke 中的来源
1如果满足以下两个条件,来源安全标记值可以识别另一个 VPC 网络中的网络接口:
  • 标记键 purpose-data 属性指定了其他 VPC 网络(或包含其他 VPC 网络的父组织)
  • 另一个 VPC 网络与使用防火墙政策的 VPC 网络通过 VPC 网络对等互连建立连接

IAM 角色

如需详细了解创建和管理安全标记所需的 IAM 角色和权限,请参阅管理资源上的标记

后续步骤