创建和管理标记

本指南介绍如何在 Cloud Key Management Service 密钥环上创建和管理标记。您可以使用标记对相关的 Cloud KMS 密钥环进行分组,并根据其标记存储有关这些资源的元数据。

关于标记

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

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

如需在 Cloud KMS 中对密钥环进行分组以便实现自动化和结算,请使用标签 。标记和标签彼此独立工作,您可以将它们都应用于资源。

所需权限

您需要的权限取决于您需要执行的操作。

如需获得这些权限,请让您的管理员在资源层次结构的适当级层授予建议的角色。

查看标记

如需查看标记定义和附加到资源的标记,您需要 Tag Viewer 角色 (roles/resourcemanager.tagViewer) 或包含以下权限的其他角色:

所需权限

  • resourcemanager.tagKeys.get
  • resourcemanager.tagKeys.list
  • resourcemanager.tagValues.list
  • resourcemanager.tagValues.get
  • 相应资源类型的 listTagBindings。例如,用于查看附加到 Compute Engine 实例的标记的 compute.instances.listTagBindings
  • listEffectiveTags
  • 相应的资源类型。例如,compute.instances.listEffectiveTags 用于查看附加到 Compute Engine 实例或由 Compute Engine 实例继承的所有标记。

如需查看组织级层的标记,您需要具有组织资源的 Organization Viewer 角色 (roles/resourcemanager.organizationViewer)。

管理标记

如需创建、更新和删除标记定义,您需要拥有 Tag Administrator 角色 (roles/resourcemanager.tagAdmin) 或具备以下权限的其他角色:

所需权限

  • resourcemanager.tagKeys.create
  • resourcemanager.tagKeys.update
  • resourcemanager.tagKeys.delete
  • resourcemanager.tagKeys.list
  • resourcemanager.tagKeys.get
  • resourcemanager.tagKeys.getIamPolicy
  • resourcemanager.tagKeys.setIamPolicy
  • resourcemanager.tagValues.create
  • resourcemanager.tagValues.update
  • resourcemanager.tagValues.delete
  • resourcemanager.tagValues.list
  • resourcemanager.tagValues.get
  • resourcemanager.tagValues.getIamPolicy
  • resourcemanager.tagValues.setIamPolicy

如需管理组织级层标记,您需要具有组织资源的 Organization Viewer 角色 (roles/resourcemanager.organizationViewer)。

管理资源上的标记

如需添加和移除附加至资源的标记,您需要对标记值以及您要附加标记值的资源都具有 Tag User 角色 (roles/resourcemanager.tagUser) 或具有同等权限的其他角色。Tag User 角色包含以下权限:

所需权限

  • 您要将标记值附加到的资源所需的权限
    • 特定于资源的 createTagBinding 权限,例如 Compute Engine 实例的 compute.instances.createTagBinding
    • 特定于资源的 deleteTagBinding 权限,例如 Compute Engine 实例的 compute.instances.deleteTagBinding
  • 标记值所需的权限:
    • resourcemanager.tagValueBindings.create
    • resourcemanager.tagValueBindings.delete
  • 可让您查看项目和标记定义的权限:
    • resourcemanager.tagValues.get
    • resourcemanager.tagValues.list
    • resourcemanager.tagKeys.get
    • resourcemanager.tagKeys.list
    • resourcemanager.projects.get

如需将标记附加到 Cloud KMS 密钥环,您需要拥有 Cloud KMS Admin 角色 (roles/cloudkms.admin)。

创建标记键和标记值

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

将标记附加到密钥环

创建标记后,您必须将其附加到密钥环。

控制台

  1. 转到 Google Cloud 控制台中的密钥管理页面。
  2. 前往“密钥管理”

  3. 选择要附加标记的密钥环。
  4. 点击代码
  5. 如果您的组织未显示在标记面板中,请点击选择范围。选择您的组织,然后点击**打开**。
  6. 点击添加标签
  7. 从列表中选择要附加的标记的键。您可以通过输入关键字来过滤列表。
  8. 从列表中选择要附加的代码的值。您可以通过输入关键字来过滤列表。
  9. 点击保存
  10. 确认对话框中,点击确认以附加代码。
  11. 系统会显示通知,确认您的代码已更新。

gcloud

如需将标记附加到密钥环,您必须使用 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/567890123456
  • RESOURCE_ID 是资源的完整 ID,包括用于标识资源类型的 API 域名 (//cloudkms.googleapis.com/)。例如,要将标记附加到 projects/PROJECT_ID/locations/LOCATION_NAME/keyRings/KEYRING_NAME,完整 ID 应为://cloudkms.googleapis.com/projects/PROJECT_ID/locations/LOCATION_NAME/keyRings/KEYRING_NAME
  • LOCATION:资源的位置。如果要将标记附加到全球性资源(例如文件夹或项目),则应省略此标志。如果要将标记附加到区域级或可用区级资源,则必须指定位置,例如 us-central1(区域)或 us-central1-a(可用区)。
如果在查找 Cloud KMS 资源 ID 方面需要帮助,请参阅检索资源的 ID

列出附加到密钥环的标记

您可以查看直接附加到密钥环或密钥环继承的标记绑定列表。

控制台

  1. 转到 Google Cloud 控制台中的密钥管理页面。
  2. 前往“密钥管理”

  3. 标记显示在密钥环的标记列中。

gcloud

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

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

替换以下内容:

  • RESOURCE_ID 是资源的完整 ID,包括用于标识资源类型的 API 域名 (//cloudkms.googleapis.com/)。例如,要将标记附加到 projects/PROJECT_ID/locations/LOCATION_NAME/keyRings/KEYRING_NAME,完整 ID 应为://cloudkms.googleapis.com/projects/PROJECT_ID/locations/LOCATION_NAME/keyRings/KEYRING_NAME
  • LOCATION:资源的位置。如果您查看的是附加到全局资源(例如文件夹或项目)的标记,则应省略此标志。如果要查看附加到区域级或可用区级资源的标记,则必须指定位置,例如 us-central1(区域)或 us-central1-a(可用区)。

您应该会看到如下所示的响应:

name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
          tagValue: tagValues/567890123456
          resource: //cloudkms.googleapis.com/projects/project-abc/locations/global/keyRings/keyring-xyz
      

将标记与密钥环分离

您可以分离已直接附加到密钥环的标记。可以通过附加具有相同键和不同值的标记来替换继承的标记,但不能分离这些标记。 如需删除标记,您必须先将其键值对与附加的每个资源分离。

控制台

  1. 转到 Google Cloud 控制台中的密钥管理页面。
  2. 前往“密钥管理”

  3. 选择要从中移除标记的密钥环。
  4. 点击代码
  5. 标记面板中,点击要分离的标记旁边的 删除项
  6. 点击保存
  7. 确认对话框中,点击确认以分离标记。
  8. 系统会显示通知,确认您的代码已更新。

gcloud

如需删除标记绑定,请使用 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/567890123456
  • RESOURCE_ID 是资源的完整 ID,包括用于标识资源类型的 API 域名 (//cloudkms.googleapis.com/)。例如,要将标记附加到 projects/PROJECT_ID/locations/LOCATION_NAME/keyRings/KEYRING_NAME,完整 ID 应为://cloudkms.googleapis.com/projects/PROJECT_ID/locations/LOCATION_NAME/keyRings/KEYRING_NAME
  • LOCATION:资源的位置。如果要将标记附加到全球性资源(例如文件夹或项目),则应省略此标志。如果您要将标记附加到区域级或可用区级资源,则必须指定位置,例如 us-central1(区域)或 us-central1-a(可用区)。

删除标记键和标记值

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

Identity and Access Management 条件和标记

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

后续步骤