本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
由於別名是獨立的資源,因此您可以變更與別名相關聯的 KMS 金鑰。例如,如果 test-key
別名與一個 KMS 金鑰相關聯,則您可以使用 UpdateAlias 操作,將其與不同的 KMS 金鑰建立關聯。這是手動輪換 KMS 金鑰的幾種方式之一,不會變更其金鑰材料。您也可以更新 KMS 金鑰,以便針對新資源使用 KMS 金鑰的應用程式現在使用不同的 KMS 金鑰。
您無法在 AWS KMS 主控台中更新別名。您也無法使用 UpdateAlias
(或任何其他操作) 來變更別名名名稱。若要變更別名名稱,請刪除目前別名,然後為 KMS 金鑰建立新的別名。
更新別名時,當前 KMS 金鑰和新 KMS 金鑰必須為相同類型 (兩者皆為對稱或非對稱或 HMAC)。也必須有相同的金鑰用途 (ENCRYPT_DECRYPT
或 SIGN_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
別名。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
}
]