更新别名 - Amazon Key Management Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

更新别名

由于别名是一种独立的资源,因此您可以更改与别名关联的KMS密钥。例如,如果test-key别名与一个KMS密钥相关联,则可以使用该UpdateAlias操作将其与另一个KMS密钥相关联。这是在不更改密钥材料的情况下手动旋转KMS密钥的几种方法之一。您也可以更新KMS密钥,以便使用一个KMS密钥获取新资源的应用程序现在使用不同的KMS密钥。

您无法在 Amazon KMS 控制台中更新别名。另外,您不能使用 UpdateAlias(或任何其他操作)更改别名名称。要更改别名,请删除当前别名,然后为KMS密钥创建新的别名。

更新别名时,当前KMS密钥和新密KMS钥的类型必须相同(对称或非对称或HMAC)。它们还必须具有相同的密钥用法(ENCRYPT_DECRYPTSIGN_VERIFY或 GENERATE _ VERIFY _MAC)。此限制可防止使用别名的代码中出现加密错误。

以下示例首先使用ListAliases操作来显示test-key别名当前与 KMS key 相关联1234abcd-12ab-34cd-56ef-1234567890ab

$ aws kms list-aliases --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "Aliases": [ { "AliasName": "alias/test-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1593622000.191, "LastUpdatedDate": 1593622000.191 } ] }

接下来,它使用UpdateAlias操作将与test-key别名关联的KMS密钥更改为 KMS key 0987dcba-09fe-87dc-65ba-ab0987654321。您无需指定当前关联的KMS密钥,只需指定新的(“目标”)KMS密钥即可。别名名称区分大小写。

$ aws kms update-alias --alias-name 'alias/test-key' --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321

要验证别名现在是否与目标KMS密钥相关联,请再次使用该ListAliases操作。此 Amazon CLI 命令使用--query参数仅获取test-key别名。TargetKeyIdLastUpdatedDate 字段将更新。

$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/test-key`]' [ { "AliasName": "alias/test-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1593622000.191, "LastUpdatedDate": 1604958290.154 } ]