为 Cloud Workstations 资源添加标记

本文档介绍了如何使用标记来有条件地将 Identity and Access Management (IAM) 政策应用于 Cloud Workstations 集群。

标记是一种键值对,您可以将标记直接附加到 Cloud Workstations 集群。Cloud Workstations 集群还可以从其他Google Cloud 资源继承标记。您可以根据资源是否具有特定标记来有条件地应用政策。例如,您可以有条件地向主账号授予带有 environment:dev 标记的任何 Cloud Workstations 集群的 Cloud Workstations Creator 角色。

如需详细了解如何在 Google Cloud资源层次结构中使用标记,请参阅标记概览

准备工作

您需要授予 IAM 角色,以便为用户提供执行本文档中的每个任务所需的权限。您还需要创建要附加到资源的标记键和标记值。

所需的角色

以下角色提供了标记 Cloud Workstations 资源所需的权限:

将标记附加到 Cloud Workstations 集群

如需获得将标记附加到 Cloud Workstations 集群所需的权限,请让您的管理员为您授予以下 IAM 角色:

  • 创建 Cloud Workstations 集群:项目的 Cloud Workstations Admin (roles/workstations.admin)
  • 创建标记:项目的 Tag Administrator (roles/resourcemanager.tagAdmin)
  • 如需管理标记,请在标记值和 Cloud Workstations 集群上拥有 Tag User (roles/resourcemanager.tagUser)

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

这些预定义角色包含将标记附加到 Cloud Workstations 集群所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需将标记附加到 Cloud Workstations 集群,您需要拥有以下权限:

  • 集群的 workstations.workstationClusters.createTagBinding 权限
  • 针对标记值的 resourcemanager.tagValueBindings.create 权限
  • workstations.workstationClusters.create 在集群上,用于在创建集群时附加标记
  • workstations.workstationClusters.update ,用于在更新集群时附加标记

您也可以使用自定义角色或其他预定义角色来获取这些权限。

从 Cloud Workstations 集群中移除标记

如需获得从 Cloud Workstations 集群中移除标记所需的权限,请让您的管理员为您授予以下 IAM 角色:

这些预定义角色包含从 Cloud Workstations 集群中移除标记所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需从 Cloud Workstations 集群中移除标记,您需要具备以下权限:

  • workstations.workstationClusters.deleteTagBinding 针对集群的
  • 针对标记值的 resourcemanager.tagValueBindings.delete 权限
  • workstations.workstationClusters.update 在更新集群时,用于移除集群上的标记

列出附加到 Cloud Workstations 集群的标记

如需获得列出附加到 Cloud Workstations 集群的标记所需的权限,请让您的管理员为您授予以下 IAM 角色:

  • 如需列出附加到 Cloud Workstations 集群的标记,您需要具有以下角色: 项目的 Cloud Workstations Admin (roles/workstations.admin)
  • 列出标记: Tag Viewer (roles/resourcemanager.tagViewer) 上的标记值和 Cloud Workstations 集群

这些预定义角色包含列出附加到 Cloud Workstations 集群的标记所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需列出附加到 Cloud Workstations 集群的标记,需要具备以下权限:

  • resourcemanager.tagKeys.list 在标记键的父级上
  • resourcemanager.tagKeys.get 在标记键上
  • resourcemanager.tagValues.list 针对标记值父级的权限
  • 针对标记值的 resourcemanager.tagValues.get 权限
  • workstations.workstationClusters.listTagBindings 针对集群的
  • workstations.workstationClusters.listEffectiveTags 针对集群的

创建标记键和标记值

在附加标记之前,您需要创建标记并配置其值。如需创建标记键和标记值,请参阅创建标记添加标记值

为 Cloud Workstations 集群添加标记

以下部分介绍了如何将标记附加到新的和现有的 Cloud Workstations 集群、列出附加到 Cloud Workstations 集群的标记,以及从 Cloud Workstations 集群中分离标记。

在创建新的 Cloud Workstations 集群时附加标记

创建标记后,您可以将其附加到新的 Cloud Workstations 集群。对于每个标记键,您只能将一个标记值附加到 Cloud Workstations 集群。对于每个 Cloud Workstations 集群,您最多可以附加 50 个标记。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Workstations 页面。

    前往“工作站”

  2. 点击集群管理部分。

  3. 点击创建

  4. 输入新 Cloud Workstations 集群的信息。 如需了解详情,请参阅创建工作站集群

  5. 标记部分中,选择要添加到新 Cloud Workstations 集群的标记。

  6. 点击创建

gcloud

使用带有 --tags 标志的 gcloud workstations clusters create 命令

gcloud workstations clusters create WORKSTATIONS_CLUSTER_NAME \
    --region=LOCATION \
    --tags=TAG \
    --project=WORKSTATIONS_PROJECT_ID

替换以下内容:

  • WORKSTATIONS_CLUSTER_NAME:Cloud Workstations 集群的名称。
  • LOCATION:集群所在的区域。
  • TAG:要附加到新的 Cloud Workstations 集群的标记。多个标记之间以英文逗号分隔。例如 556741164180/env:prod,myProject/department:sales。每个标记必须具有命名空间键名称和值简称
  • WORKSTATIONS_PROJECT_ID:工作站项目的 ID。

API

调用 workstationClusters.create 方法。 在 WorkstationClustertags 字段中添加标记。

将标记附加到现有 Cloud Workstations 集群

创建标记后,您可以将其附加到现有的 Cloud Workstations 集群。 对于每个标记键,您只能将一个标记值附加到 Cloud Workstations 集群。对于每个 Cloud Workstations 集群,您最多可以附加 50 个标记。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Workstations 页面。

    前往“工作站”

  2. 点击集群管理部分。

  3. 点击要附加标记的 Cloud Workstations 集群。

  4. 点击修改

  5. 标记部分中,选择要添加到 Cloud Workstations 集群的标记。

  6. 点击保存

gcloud

如需使用命令行将标记附加到 Cloud Workstations 集群,请使用 gcloud resource-manager tags bindings create 命令创建标记绑定资源:

gcloud resource-manager tags bindings create \
    --tag-value=TAGVALUE_NAME \
    --parent=RESOURCE_ID \
    --location=LOCATION

替换以下内容:

  • TAGVALUE_NAME:要附加的标记值的永久 ID 或命名空间名称,例如 tagValues/45678901231234567/my_tag_key/my_tag_value
  • RESOURCE_ID:Cloud Workstations 集群的完整 ID,包括用于标识资源类型的 API 域名 (//workstations.googleapis.com/)。例如,//workstations.googleapis.com/projects/my_project/locations/us-central1/workstationClusters/my_cluster
  • LOCATION:Cloud Workstations 集群的区域。

API

调用 workstationClusters.patch 方法。 在 WorkstationClustertags 字段中添加标记。

列出附加到 Cloud Workstations 集群的标记

您可以列出直接附加到 Cloud Workstations 集群的标记。此过程不会列出从父级资源继承的标记。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Workstations 页面。

    前往“工作站”

  2. 点击集群管理部分。

  3. 点击要列出标记的 Cloud Workstations 集群。

  4. 这些标记会显示在标记部分中。

gcloud

如需获取附加到资源的标记绑定的列表,请使用 gcloud resource-manager tags bindings list 命令

gcloud resource-manager tags bindings list \
    --parent=RESOURCE_ID \
    --location=LOCATION

替换以下内容:

  • RESOURCE_ID:Cloud Workstations 集群的完整 ID,包括用于标识资源类型的 API 域名 (//workstations.googleapis.com/)。例如 //workstations.googleapis.com/projects/my_project/locations/us-central1/workstationClusters/my_cluster

  • LOCATION:Cloud Workstations 集群的区域。

API

调用 v3.tagBindings.list 方法。 在父字段中添加 Cloud Workstations 集群。例如 //cloudresourcemanager.googleapis.com/projects/my-project/regions/us-central1/workstationClusters/my-cluster

将标记与 Cloud Workstations 集群分离

您可以通过删除标记绑定来从 Cloud Workstations 集群中移除标记关联。如果您需要删除标记,应先执行以下步骤,将标记从 Cloud Workstations 集群中分离。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Workstations 页面。

    前往“工作站”

  2. 点击集群管理部分。

  3. 点击要分离标签的 Cloud Workstations 集群。

  4. 点击修改

  5. 标记部分中,移除要从 Cloud Workstations 集群中分离的标记。

  6. 点击保存

gcloud

如需使用命令行从 Cloud Workstations 集群中移除标记关联,请使用 gcloud resource-manager tags bindings delete 命令删除标记绑定:

gcloud resource-manager tags bindings delete \
    --tag-value=TAGVALUE_NAME \
    --parent=RESOURCE_ID \
    --location=LOCATION

替换以下内容:

  • TAGVALUE_NAME:要附加的标记值的永久 ID 或命名空间名称,例如 tagValues/45678901231234567/my_tag_key/my_tag_value
  • RESOURCE_ID:Cloud Workstations 集群的完整 ID,包括用于标识资源类型的 API 域名 (//workstations.googleapis.com/)。例如,//workstations.googleapis.com/projects/my_project/locations/us-central1/workstationClusters/my_cluster
  • LOCATION:Cloud Workstations 集群的区域。

API

调用 workstationClusters.patch 方法。 移除 WorkstationClustertags 字段中的标记。

后续步骤