使用 API 操作管理 KMS 密钥标签 - Amazon Key Management Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用 API 操作管理 KMS 密钥标签

您可以使用 Amazon Key Management Service (Amazon KMS) API 为您管理的 KMS 密钥添加、删除和列出标签。这些示例使用 Amazon Command Line Interface (Amazon CLI),但您可以使用任何受支持的编程语言。您无法标记 Amazon 托管式密钥。

要添加、编辑、查看和删除 KMS 密钥的标签,您必须具有所需的权限。有关详细信息,请参阅控制对标签的访问

CreateKey:向新的 KMS 密钥添加标签

您可以在创建客户托管密钥时添加标签。要指定标签,请使用 CreateKey 操作的 Tags 参数。

要在创建 KMS 密钥时添加标签,调用方必须具有 IAM 策略中的 kms:TagResource 权限。权限至少必须涵盖账户和区域中的所有 KMS 密钥。有关详细信息,请参阅控制对标签的访问

CreateKeyTags 参数的值是区分大小写的标签键和标签值对的集合。KMS 密钥上的每个标签都必须具有不同的标签名称。标签值可为 null 或空字符串。

例如,以下 Amazon CLI 命令创建带有 Project:Alpha 标签的对称 KMS 密钥。指定多个键值对时,请使用空格分隔每个对。

$ aws kms create-key --tags TagKey=Project,TagValue=Alpha

当此命令成功时,它会返回一个 KeyMetadata 对象以及有关新 KMS 密钥的信息。但是,KeyMetadata 不包括标签。要获取标签,请使用 ListResourceTags 操作。

TagResource:为 KMS 密钥添加或更改标签

TagResource 操作会向 KMS 密钥添加一个或多个标签。此操作不能用于添加或编辑不同 Amazon Web Services 账户 中的标签。

要添加标签,请指定新标签键和标签值。要编辑标签,请指定现有标签键和新标签值。KMS 密钥上的每个标签都必须具有不同的标签键。标签值可为 null 或空字符串。

例如,以下命令将 PurposeDepartment 标签添加到示例 KMS 密钥中。

$ aws kms tag-resource \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --tags TagKey=Purpose,TagValue=Pretest TagKey=Department,TagValue=Finance

此命令成功执行后,不会返回任何输出。要查看 KMS 密钥上的标签,请使用 ListResourceTags 操作。

您也可以使用 TagResource 来更改现有标签的标签值。要替换标签值,请指定具有不同值的相同标签键。

例如,此命令会将 Purpose 标签的值从 Pretest 更改为 Test

$ aws kms tag-resource \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --tags TagKey=Purpose,TagValue=Test

ListResourceTags:获取 KMS 密钥的标签

ListResourceTags 操作会获取 KMS 密钥的标签。KeyId 参数是必需的。此操作不能用于查看其他 Amazon Web Services 账户 中的 KMS 密钥上的标签。

例如,以下命令获取示例 KMS 密钥的标签。

$ aws kms list-resource-tags --key-id 1234abcd-12ab-34cd-56ef-1234567890ab "Truncated": false, "Tags": [ { "TagKey": "Project", "TagValue": "Alpha" }, { "TagKey": "Purpose", "TagValue": "Test" }, { "TagKey": "Department", "TagValue": "Finance" } ] }

UntagResource:从 KMS 密钥中删除标签

UntagResource 操作会从 KMS 密钥中删除标签。要标识要删除的标签,请指定标签键。此操作不能用于从其他 Amazon Web Services 账户 中的 KMS 密钥中删除标签。

当它成功时,UntagResource 操作不返回任何输出。此外,如果在 KMS 密钥上未找到指定的标签键,则不会抛出异常或返回响应。要确认操作是否正常工作,请使用 ListResourceTags 操作。

例如,此命令将从指定的 KMS 密钥中删除 Purpose 标签及其值。

$ aws kms untag-resource --key-id 1234abcd-12ab-34cd-56ef-1234567890ab --tag-keys Purpose