使用标记控制访问权限

本页面介绍了如何在 Cloud Data Fusion 中使用标记管理资源。

关于标记

标记是一种可附加到 Google Cloud 中的资源的键值对。您可以使用标记,根据资源是否有特定标记,有条件地允许或拒绝政策。例如,您可以根据资源是否具有特定标记,有条件地授予 Identity and Access Management (IAM) 角色。如需详细了解标记,请参阅标记概览

通过创建可将值关联到 Google Cloud 资源的标记绑定资源,系统会将标记关联到资源。

准备工作

如需获取以下使用情形的权限,请让管理员授予 在资源层次结构的适当级别授予建议的角色。对于 如需详细了解 Cloud Data Fusion 中的 IAM,请参阅 使用 IAM 进行访问权限控制

所需的角色和权限

如需获取使用标记管理 Cloud Data Fusion 中的资源所需的权限, 请让管理员向您授予 针对 Cloud Data Fusion 服务账号和 Compute Engine 默认服务账号或自定义服务账号的以下 IAM 角色:

  • 如需查看附加到资源的标记定义和标记,请执行以下操作: 代码查看者 (roles/resourcemanager.tagViewer)
  • 如需创建、更新和删除代码定义,请执行以下操作: 代码管理员 (roles/resourcemanager.tagAdmin)
  • 要在组织级别管理代码,请执行以下操作: Organization Viewer (roles/resourcemanager.organizationViewer) - 针对组织资源
  • 如需添加和移除附加到资源的标记,请执行以下操作: 标记用户 (roles/resourcemanager.tagUser) - 针对标记值以及您将标记值附加到的资源
  • 如需将标记附加到 Cloud Data Fusion 实例,请执行以下操作: Cloud Data Fusion 管理员 (roles/datafusion.admin)

如需详细了解如何授予角色,请参阅管理访问权限

这些预定义角色包含 拥有使用标记在 Cloud Data Fusion 中管理资源所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需使用标记管理 Cloud Data Fusion 中的资源,您需要拥有以下权限:

  • resourcemanager.tagKeys.get
  • resourcemanager.tagKeys.list
  • resourcemanager.tagValues.get
  • resourcemanager.tagValues.list
  • 相应资源类型的 listTagBindings。例如,如需查看附加到 Cloud Data Fusion 实例的标记,请使用以下代码: datafusion.instances.listTagBindings
  • 相应资源类型的 listEffectiveTags。例如,如需查看 Cloud Data Fusion 实例附加或由其继承的所有标记,请使用以下代码: datafusion.instances.listEffectiveTags

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

创建标记键和标记值

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

将标记附加到资源

创建标记后,将其附加到资源。

gcloud

如需将标记附加到实例,您必须通过以下方式创建标记绑定资源: create命令:

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

替换以下内容:

  • TAGVALUE_NAME:永久性 附加的代码值的 ID 或命名空间名称,例如 tagValues/567890123456.
  • RESOURCE_ID:完整 ID 包括 API 域名,用于识别资源类型 (//datafusion.googleapis.com/).例如,要将代码附加到 位于 us-central1projects/7890123456 中的实例,请使用 以下资源 ID: //datafusion.googleapis.com/projects/7890123456/locations/us-central1/instances/instance-ID
  • LOCATION:您的 资源。例如:us-central1

系统会显示一条通知,确认您的代码已创建完毕。

列出附加到资源的标记

您可以查看直接附加到 资源。

gcloud

如需获取附加到资源的标记绑定列表,请使用 list 命令:

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

替换以下内容:

  • RESOURCE_ID:完整 ID 包括 API 域名,用于识别资源类型 (//datafusion.googleapis.com/).例如,要列出 位于 us-central1projects/7890123456 中的实例,请使用 以下资源 ID: //datafusion.googleapis.com/projects/7890123456/locations/us-central1/instances/instance-ID
  • LOCATION:您的 资源。例如:us-central1

响应的格式如下:

tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
  tagValue: tagValues/567890123456
  resource: //datafusion.googleapis.com/projects/7890123456/locations/us-central1/instances/instance-ID

将标记与资源分离

您可以分离已直接附加到资源的标记。已继承 可以通过附加具有相同键和不同值的不同 值,但不能分离。您必须先分离代码,然后才能删除代码 每个对象(与其关联的资源)中的键和值。

gcloud

如需删除标记绑定,请使用 delete 命令:

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

替换以下内容:

  • TAGVALUE_NAME:永久性 附加的代码值的 ID 或命名空间名称,例如 tagValues/567890123456.
  • RESOURCE_ID:完整 ID 包括 API 域名,用于识别资源类型 (//datafusion.googleapis.com/).例如,要将代码附加到 位于 us-central1projects/7890123456 中的实例,请使用 以下资源 ID: //datafusion.googleapis.com/projects/7890123456/locations/us-central1/instances/instance-ID
  • LOCATION:您的 资源。例如:us-central1

系统会显示一条通知,确认您的代码已更新。

删除标记键和标记值

移除标记键或值定义时,请确保该标记已分离 资源。在删除标记定义本身之前,您必须先删除现有的标记连接(称为标记绑定)。如需删除标记键和标记值,请参阅删除标记

Identity and Access Management 条件和标记

您可以使用标记和 IAM 条件来有条件地向层次结构中的用户授予角色绑定。如果应用了具有条件角色绑定的 IAM 政策,则更改或删除附加到资源的标记可能会移除用户对该资源的访问权限。如需了解详情,请参阅 Identity and Access Management 条件和标记

后续步骤