本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
更新別名
由於別名是獨立資源,因此您可以變更與別名相關聯的KMS金鑰。例如,如果test-key
別名與一個KMS金鑰相關聯,您可以使用 UpdateAlias操作將其與不同的KMS金鑰相關聯。這是手動輪換KMS金鑰而不變更金鑰材料的數種方法之一。您也可以更新KMS金鑰,讓使用一個KMS金鑰進行新資源的應用程式現在使用不同的KMS金鑰。
您無法在 AWS KMS 主控台中更新別名。您也無法使用 UpdateAlias
(或任何其他操作) 來變更別名名名稱。若要變更別名名稱,請刪除目前的別名,然後為KMS金鑰建立新的別名。
當您更新別名時,目前的KMS金鑰和新KMS金鑰必須是相同的類型 (對稱或非對稱或 HMAC)。它們也必須具有相同的金鑰用量 (ENCRYPT_DECRYPT
或 SIGN_VERIFY
或 GENERATE_VERIFY_MAC)。這項限制可防止使用別名的程式碼中出現密碼編譯錯誤。
下列範例從使用 test-key
ListAliases操作開始,顯示別名目前與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
別名。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 } ]