使用安全标记

本文档介绍了如何创建安全标记、将其关联到 Managed Service for Apache Spark 集群,然后使用这些标记来保护集群网络。

使用安全标记的优势

安全标记与网络标记存在关键区别,包括 Identity and Access Management 访问权限控制、标记继承和单一 VPC 网络绑定,这些区别带来了以下主要优势:

增强的访问权限控制和安全功能
安全标记通过提供受 IAM 控制的访问权限来解决网络标记固有的安全问题。与网络标记不同,安全标记可防止未经授权的用户修改标记,而避免防火墙规则的意外更改。

在 IAM 政策中使用安全标记可启用条件式访问权限控制,通过根据标记的存在与否授予或拒绝角色来增强安全性。

简化的防火墙管理
全球和区域网络防火墙政策支持安全标记。此支持简化了 Managed Service for Apache Spark 在共享网络中的防火墙管理。

与 VPC 防火墙规则不同,通过安全标记增强的网络防火墙政策使您能够高效地分组并同时更新多条规则,所有规则都由 IAM 访问权限控制管理。与使用网络标记的 VPC 防火墙规则相比,安全标记可在网络防火墙政策中提供更强大的安全和管理功能。

分层资源继承,实现高效管理
安全标记继承自 Google Cloud 层次结构中的父级资源。这种继承机制可让您在更高级别(例如组织级别)定义标记,以便标记自动传播到子资源(例如文件夹和项目),从而简化管理。这样一来,您就可以在整个组织中保持一致的标记。如需了解详情,请参阅标记继承

改进了跨共享 VPC 和对等 VPC 的网络管理
网络标记用于标识指定 VPC 网络内的防火墙规则中的来源或目标。当使用安全标记为网络防火墙政策中的入站流量规则指定来源时,安全标记会同时识别 Managed Service for Apache Spark 集群 VPC 网络和对等互连 VPC 网络中的流量来源。当安全标记用于指定入站流量或出站流量规则的目标时,它们仅识别自己 VPC 网络中的目标。

如需详细了解 Resource Manager 标记和网络标记之间的区别,请参阅标记和网络标记对比

如需详细了解 Resource Manager 标记和标签之间的区别, 请参阅 标记和标签

准备工作

您需要拥有某些 IAM 角色才能运行本页上的示例。根据组织政策,这些角色可能已授予。如需检查角色授予情况,请参阅 是否需要授予角色?

如需详细了解如何授予角色,请参阅 管理对项目、文件夹和组织的访问权限

用户角色

如需获得创建标记所需的权限,请让您的管理员为您授予 Resource Manager 标记的Tag Administrator (roles/resourcemanager.tagAdmin) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。

服务账号角色

如需确保 Managed Service for Apache Spark 服务代理服务帐号 拥有将安全标记关联到 Managed Service for Apache Spark 集群所需的权限,请让您的管理员为项目中的 Managed Service for Apache Spark 服务代理服务账号 授予 Managed Service for Apache Spark 服务代理角色 (roles/dataproc.serviceAgent) IAM 角色。

限制

  • 安全标记只能在创建集群时关联到集群。
  • 不支持更新和删除安全标记。

创建安全标记

如需将安全标记关联到 Managed Service for Apache Spark 集群,您必须先 使用指定的键和一个或多个值创建 Resource Manager 标记

将安全标记关联到 Managed Service for Apache Spark 集群

创建 Managed Service for Apache Spark 集群,并指定安全标记 TAG_KEY:TAG_VALUE 对。

Google Cloud CLI

如需创建 Managed Service for Apache Spark 集群并向 集群添加安全标记,请运行带有 --resource-manager-tags 标志的 gcloud Managed Service for Apache Spark clusters create 命令。

gcloud dataproc clusters create CLUSTER_NAME \
  --region REGION \
  --resource-manager-tags=TAG_KEY=TAG_VALUE

替换以下内容:

  • CLUSTER_NAME:新集群的名称。
  • REGION:要将集群放置在其中的 Compute Engine 区域
  • TAG_KEYTAG_VALUE:您创建的 Resource Manager 标记的键和值。 标记键可以采用命名空间格式或非命名空间格式指定,如下所示:
    • 命名空间格式:PROJECT-ID/KEY_NAME=PROJECT-ID/KEY_NAME/KEY_VALUE

      示例:

      --resource-manager-tags="test-project/testkey"=test-project/testkey/testvalue
    • 非命名空间格式:tagKeys/TAG_KEY_ID=tagValues/TAG_VALUE_ID

      示例:

      --resource-manager-tags=tagKeys/123456789012=tagValues/987654321098

REST

如需创建 Managed Service for Apache Spark 集群并向 集群添加安全标记,请将 resourceManagerTags 字段作为 clusters.create 请求的一部分,该请求包括将 "TAG_KEY":"TAG_VALUE" 安全标记关联到集群。

{
  "clusterName": "CLUSTER_NAME",
  "config": {
    "gceClusterConfig": {
      "resourceManagerTags": {
        "TAG_KEY":"TAG_VALUE"
      }
    }
  }
}

替换以下内容:

  • CLUSTER_NAME:新集群的名称。
  • TAG_KEYTAG_VALUE:您创建的 Resource Manager 标记的键和值。 标记键可以采用命名空间格式或非命名空间格式指定,如下所示:
    • 命名空间格式:PROJECT-ID/KEY_NAMEPROJECT-ID/KEY_NAME/KEY_VALUE

      示例:

      "test-project/testkey":"test-project/testkey/testvalue"
    • 非命名空间格式:tagKeys/TAG_KEY_ID:tagValues/TAG_VALUE_ID

      示例:

      "tagKeys/123456789012":"tagValues/987654321098"

对集群网络使用安全标记

将安全标记关联到集群后,请使用安全标记来配置集群网络:

后续步骤