创建和管理标记

本指南介绍了如何在 Secret Manager Secret 上创建和管理标记。您可以使用标记对相关的 Secret Manager Secret 进行分组,并根据这些资源的标记存储有关它们的元数据。

关于标记

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

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

所需权限

如需获得管理标记所需的权限,请让您的管理员为您授予以下 IAM 角色:

  • Tag Viewer (roles/resourcemanager.tagViewer) 附加了标记的资源
  • 查看和管理组织级层的标记:针对组织的 Organization Viewer (roles/resourcemanager.organizationViewer)
  • 创建、更新和删除标记定义: Tag Administrator (roles/resourcemanager.tagAdmin) 在您要创建、更新或删除标记的资源上
  • 在资源中附加和移除标记: Tag User (roles/resourcemanager.tagUser) 对标记值以及您要附加或移除标记值的资源具有此角色

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

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

如需将标记附加到 Secret Manager Secret,您需要拥有 Secret Manager Admin 角色 (roles/secretmanager.admin)。

创建标记键和标记值

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

在创建资源期间添加标记

您可以在创建 Secret 时添加标记。 在创建资源期间添加标记,可以立即为资源提供必要的元数据,同时有助于更好地进行组织管理、费用跟踪和自动应用政策。

控制台

  1. 前往 Google Cloud 控制台中的 Secret Manager 页面。
  2. 前往 Secret Manager

  3. 选择用于创建新密文的选项。
  4. 点击管理标签
  5. 如果您的组织未显示在管理标记面板中,请点击选择范围。选择添加在组织级或项目级定义的标记,然后输入相应 ID。
  6. 点击添加标记
  7. 从列表中选择要附加的标记的键。您可以通过输入关键字来过滤列表。
  8. 从列表中选择要附加的标记的值。您可以通过输入关键字来过滤列表。
  9. 点击保存。系统会使用标签信息更新标签部分。
  10. 创建您的密文。使用提供的标记创建新的密文。

gcloud

如需在创建 secret 期间添加标记,请运行以下命令:

       gcloud secrets create SECRET_ID --tags=TAG_KEY=TAG_VALUE
     

替换以下内容:

  • SECRET_ID:相应 Secret 的唯一标识符
  • TAG_KEY:所附加的标记键的永久 ID 或命名空间名称,例如 tagKeys/567890123456
  • TAG_VALUE:所附加的标记值的永久性 ID 或命名空间名称,例如 tagValues/567890123456

要指定多个标记,请使用英文逗号分隔标记,例如 TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2

API

向以下网址发送 POST 请求:

      https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID

在请求正文中提供以下 JSON:

      
{
  "replication": {
    "automatic": {}
  },
  "tags": {
    "TAGKEY_NAME": "TAGVALUE_NAME"
  }
}

替换以下内容:

  • PROJECT_ID:项目的 ID
  • SECRET_ID:相应 Secret 的唯一标识符
  • TAGKEY_NAME:所附加的标记键的永久 ID 或命名空间名称,例如 tagKeys/567890123456
  • TAGVALUE_NAME:所附加的标记值的永久性 ID 或命名空间名称,例如 tagValues/567890123456

为现有资源添加标记

如需为现有 Secret 添加标记,请按照以下步骤操作:

控制台

  1. 前往 Google Cloud 控制台中的 Secret Manager 页面。
  2. 前往 Secret Manager

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

gcloud

如需将标记附加到 Secret,您必须使用 gcloud resource-manager tags bindings create 命令创建标记绑定资源:

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

替换以下内容:

  • TAGVALUE_NAME 是所附加的标记值的永久 ID 或命名空间名称,例如 tagValues/567890123456
  • RESOURCE_ID 是资源的完整 ID,包括用于标识资源类型的 API 域名 (//secretmanager.googleapis.com/)。例如,如需将标记关联到 /projects/PROJECT_ID/secrets/SECRET_ID,则完整 ID 为 //secretmanager.googleapis.com/projects/PROJECT_ID/secrets/SECRET_ID

列出附加到资源的标记

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

控制台

  1. 前往 Google Cloud 控制台中的 Secret Manager 页面。
  2. 前往 Secret Manager

  3. 标记会显示在 Secret 的标记列中。

gcloud

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

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

替换以下内容:

  • RESOURCE_ID 是资源的完整 ID,包括用于标识资源类型的 API 域名 (//secretmanager.googleapis.com/)。例如,如需将标记关联到 /projects/PROJECT_ID/secrets/SECRET_ID,则完整 ID 为 //secretmanager.googleapis.com/projects/PROJECT_ID/secrets/SECRET_ID

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

name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
          tagValue: tagValues/567890123456
          resource: //secretmanager.googleapis.com/projects/project-abc/secrets/secret-xyz
      

将标记与资源分离

您可以分离直接附加到密文的标记。可以通过附加具有相同键和不同值的标记来替换继承的标记,但不能分离这些标记。

控制台

  1. 前往 Google Cloud 控制台中的 Secret Manager 页面。
  2. 前往 Secret Manager

  3. 选择要从中移除标记的 Secret。
  4. 点击 标记
  5. 标记面板中,点击要分离的标记旁边的 删除项
  6. 点击保存
  7. 确认对话框中,点击确认以分离标记。

系统会显示一条通知以确认您的标记已更新。

gcloud

如需删除标记绑定,请使用 gcloud resource-manager tags bindings delete 命令:

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

替换以下内容:

  • TAGVALUE_NAME 是所附加的标记值的永久 ID 或命名空间名称,例如 tagValues/567890123456
  • RESOURCE_ID 是资源的完整 ID,包括用于标识资源类型的 API 域名 (//secretmanager.googleapis.com/)。例如,如需将标记关联到 /projects/PROJECT_ID/secrets/SECRET_ID,则完整 ID 为 //secretmanager.googleapis.com/projects/PROJECT_ID/secrets/SECRET_ID

删除标记键和标记值

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

Identity and Access Management 条件和标记

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

后续步骤