为密钥添加标签

标签是一种用于汇集相互关联的密钥的简洁方法,非常有助于跟踪结算方面的数据。除了可用于对密钥以分层方式进行分组的密钥环之外,您还可以使用标签以最适合您的方式组织或跟踪密钥。例如,您可以按成本中心或环境为密钥添加标签。标签是可选项。

在 Cloud Key Management Service 中,仅可以为密钥添加标签。

您的帐单中也可以包含标签,让您能够按标签查看费用分布情况。

标签是允许您对密钥进行分组的 key:value 元数据。(key:value 中的 key 是指属性键,而不是密钥。)例如,您可以使用标签创建具有值 alphabetadelta 值的 team 键,并将 team:alphateam:betateam:delta 标签应用于不同的密钥,以指示这些密钥分别与哪个团队相关联。

您可以使用 gcloud 命令行工具和 Cloud KMS REST API 添加、更新和移除密钥标签。

您可以在其他 Google Cloud Platform (GCP) 资源中使用标签,例如虚拟机资源存储分区。如需了解如何在 GCP 中使用标签,请参阅创建和管理标签

准备工作

规格

您可以为每个密钥应用多个标签,每个密钥最多应用 64 个标签。

  • 键和值的长度均不能超过 63 个字符。

  • 键和值只能包含小写字母、数字字符、下划线和短划线。允许使用国际字符。

  • 标签必须以小写字母开头。允许使用国际字符。

  • 标签键不能为空。

使用带有标签的密钥

创建密钥时,您可以通过提供一个或多个键值对作为标签

gcloud

创建新密钥时,通过提供 --labels 标志后跟逗号分隔的键值对列表,以添加标签。例如,以下命令将为密钥添加两个标签 team=alphacost_center=cc1234

gcloud kms keys create CRYPTOKEY_NAME \
--location LOCATION --keyring KEYRING_NAME \
--purpose encryption --labels team=alpha,cost_center=cc1234

请注意,如果您提供相同的标签键两次 (如 team=alpha,team=beta),则最后指定的值将生效,在本例中为 team=beta

API

在创建新密钥时使用 CryptoKeys.create 方法为其添加标签,并在请求正文中添加 labels 属性。例如:

{
 "purpose": "ENCRYPT_DECRYPT",
  "labels": [
  {
    "key": "team",
    "value": "alpha"
  },
  {
    "key": "cost_center",
    "value": "cc1234"
  }
 ]
}

请注意,如果您提供相同的标签键两次,如下所示:

  "labels": [
  {
    "key": "team",
    "value": "alpha"
  },
  {
    "key": "team",
    "value": "beta"
  }
 ]

最后指定的值将生效,在本示例中,以下键值对有效:

  {
    "key": "team",
    "value": "beta"
  }

查看密钥上的标签

gcloud

要查看应用于密钥的标签,请获取密钥的说明:

gcloud kms keys describe CRYPTOKEY_NAME \
--location LOCATION --keyring KEYRING_NAME

API

要查看应用于密钥的标签,请使用 cryptoKeys.get 方法:

curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEYRING_NAME/cryptoKeys/CRYPTOKEY_NAME"

添加或更新标签

gcloud

使用 update 命令向现有密钥添加或更新标签,并提供--update-labels标志,后跟逗号分隔的键值对列表。例如,如果 cost_center 标签不存在,以下命令将添加该标签;如果 cost_center 标签已存在,以下命令将更新该标签。

gcloud kms keys update CRYPTOKEY_NAME \
--location LOCATION --keyring KEYRING_NAME \
--update-labels cost_center=cc5678

API

使用 CryptoKeys.patch 方法为现有密钥添加或更新标签,并在请求正文中添加 labels 属性。例如:

{
 ...,
  "labels": [
  {
    "key": "team",
    "value": "alpha"
  },
  {
    "key": "cost_center",
    "value": "cc5678"
  }
 ]
}

移除标签

gcloud

使用 update 命令从现有密钥中删除标签,并提供 --remove-labels 标志,后跟逗号分隔的标签键列表。例如,以下命令将删除 teamcost_center 标签。您无需指定其标签值。

gcloud kms keys update CRYPTOKEY_NAME \
--location LOCATION --keyring KEYRING_NAME \
--remove-labels team,cost_center

API

使用 CryptoKeys.patch 方法从现有密钥中移除标签,并将 labels 属性以空数组形式添加到请求正文中。例如:

{
 ...,
  "labels": [
 ]
}

审核日志

在创建或更新密钥时,您可以使用 Cloud KMS 的 Cloud 审核日志来记录标签信息。创建密钥和更新密钥都属于管理员活动,因此对标签的更改将记录在管理员活动日志中。

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud KMS