本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新别名
由于别名是一种独立的资源,因此您可以更改与别名关联的KMS密钥。例如,如果test-key
别名与一个KMS密钥相关联,则可以使用该UpdateAlias操作将其与另一个KMS密钥相关联。这是在不更改密钥材料的情况下手动旋转KMS密钥的几种方法之一。您也可以更新KMS密钥,以便使用一个KMS密钥获取新资源的应用程序现在使用不同的KMS密钥。
您无法在 Amazon KMS 控制台中更新别名。另外,您不能使用 UpdateAlias
(或任何其他操作)更改别名名称。要更改别名,请删除当前别名,然后为KMS密钥创建新的别名。
更新别名时,当前KMS密钥和新密KMS钥的类型必须相同(对称或非对称或HMAC)。它们还必须具有相同的密钥用法(ENCRYPT_DECRYPT
或SIGN_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
别名。TargetKeyId
和 LastUpdatedDate
字段将更新。
$
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 } ]