更新别名 - AWS Key Management Service

更新别名

由于别名是独立的资源,因此您可以更改与别名关联的 KMS 密钥。例如,如果 test-key 别名与 一个 KMS 密钥关联,您可以使用 UpdateAlias 操作将其与另一个 KMS 密钥关联。这是手动轮换 KMS 密钥而不更改其密钥材料的几种方法之一。您还可以更新 KMS 密钥,以使将一个 KMS 密钥用于新资源的应用程序现在使用不同的 KMS 密钥。

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

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

下面的示例首先使用 ListAliases 操作来显示 test-key 别名当前与 KMS 密钥 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 密钥 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 操作。该 AWS 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 } ]