本文档介绍了如何使用标记来有条件地将 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 Admin (
roles/workstations.admin) 角色 Cloud Workstations Admin (roles/workstations.admin) on your project -
管理标记:标记值和 Cloud Workstations 集群的 Tag User (
roles/resourcemanager.tagUser) -
删除标记:项目的 Tag Administrator (
roles/resourcemanager.tagAdmin)
这些预定义角色包含从 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 个标记。
控制台
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 方法。
在 WorkstationCluster 的 tags 字段中添加标记。
将标记附加到现有 Cloud Workstations 集群
创建标记后,您可以将其附加到现有的 Cloud Workstations 集群。 对于每个标记键,您只能将一个标记值附加到 Cloud Workstations 集群。对于每个 Cloud Workstations 集群,您最多可以附加 50 个标记。
控制台
在 Google Cloud 控制台中,前往 Cloud Workstations 页面。
点击集群管理部分。
点击要附加标记的 Cloud Workstations 集群。
点击修改。
在标记部分中,选择要添加到 Cloud Workstations 集群的标记。
点击保存。
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/4567890123或1234567/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_clusterLOCATION:Cloud Workstations 集群的区域。
API
调用 workstationClusters.patch 方法。
在 WorkstationCluster 的 tags 字段中添加标记。
列出附加到 Cloud Workstations 集群的标记
您可以列出直接附加到 Cloud Workstations 集群的标记。此过程不会列出从父级资源继承的标记。
控制台
在 Google Cloud 控制台中,前往 Cloud Workstations 页面。
点击集群管理部分。
点击要列出标记的 Cloud Workstations 集群。
这些标记会显示在标记部分中。
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 集群中分离。
控制台
在 Google Cloud 控制台中,前往 Cloud Workstations 页面。
点击集群管理部分。
点击要分离标签的 Cloud Workstations 集群。
点击修改。
在标记部分中,移除要从 Cloud Workstations 集群中分离的标记。
点击保存。
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/4567890123或1234567/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_clusterLOCATION:Cloud Workstations 集群的区域。
API
调用 workstationClusters.patch 方法。
移除 WorkstationCluster 的 tags 字段中的标记。
后续步骤
- 如需大致了解 Google Cloud中的标记,请参阅标记概览。
- 如需了解如何使用标记,请参阅创建和管理标记。
- 如需了解如何使用 IAM 条件控制对 Cloud Workstations 资源的访问权限,请参阅使用 IAM 条件控制访问权限。