AWS Key Management Service (KMS) 會每年自動輪換一次 AWS KMS key。如何在每年自動輪換一次 AWS KMS key 之前手動輪換它們?
解決方法
使用手動金鑰輪換建立新的 AWS KMS key 以取代目前的金鑰。
此範例顯示如何使用您要輪換到的新金鑰輪換目前的 AWS KMS key。
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請確定您使用最新的 AWS CLI 版本。
- 建立名為 application-current 的別名,然後將其附加到現有的 AWS KMS key:
acbc32cf8f6f:~ $$ aws kms create-alias --alias-name alias/application-current --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321
acbc32cf8f6f:~ $$ aws kms list-aliases --output text | grep application
ALIASES arn:aws:kms:eu-west-1:123456789012:alias/application-current alias/application-current 0987dcba-09fe-87dc-65ba-ab0987654321
- 建立名為 application-20180606 的別名,將輪換日期包含在要輪換的 AWS KMS key 的名稱中。在下面的範例中,輪換日期為 2018-06-06。AWS KMS key 有兩個別名:
acbc32cf8f6f:~ $$ aws kms create-alias --alias-name alias/application-20180606 --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321
acbc32cf8f6f:~ $$ aws kms list-aliases --output text | grep application
ALIASES arn:aws:kms:eu-west-1:123456789012:alias/application-20180606 alias/application-20180606 0987dcba-09fe-87dc-65ba-ab0987654321
ALIASES arn:aws:kms:eu-west-1:123456789012:alias/application-current alias/application-current 0987dcba-09fe-87dc-65ba-ab0987654321
- 建立類似於以下內容的新 AWS KMS key:
acbc32cf8f6f:~ $$ aws kms create-key
{
"KeyMetadata": {
"Origin": "AWS_KMS",
"KeyId": "9bf76697-5b41-4caf-9fe1-e23bbe20f858",
"Description": "",
"KeyManager": "CUSTOMER",
"Enabled": true,
"KeyUsage": "ENCRYPT_DECRYPT",
"KeyState": "Enabled",
"CreationDate": 1528289057.531,
"Arn": "arn:aws:kms:eu-west-1:123456789012:key/9bf76697-5b41-4caf-9fe1-e23bbe20f858",
"AWSAccountId": "123456789012"
}
}
- 將 application-current 別名與新的 AWS KMS key 建立關聯。請務必將 NEW_KMS_KEY_ID 替換為您在步驟 3 中新建立的金鑰 ID:
$$ aws kms update-alias --alias-name alias/application-current --target-key-id NEW_KMS_KEY_ID
- 您同時擁有新金鑰和目前的 AWS KMS key。使用 application-current 金鑰來加密資料。AWS KMS 會在解密資料時自動解析 AWS KMS key:
acbc32cf8f6f:~ $$ aws kms list-aliases --output text | grep application
ALIASES arn:aws:kms:eu-west-1:123456789012:alias/application-20180606 alias/application-20180606 0987dcba-09fe-87dc-65ba-ab0987654321
ALIASES arn:aws:kms:eu-west-1:123456789012:alias/application-current alias/application-current 9b5d79d7-f04c-4b30-baf1-deed52a7cc97
**重要事項:**保留目前的 AWS KMS key 作為備份,以追蹤金鑰輪換發生的時間或還原變更。
**注意:**具有現有金鑰的使用者必須將該政策複製到 application-current 金鑰。
-
登入 AWS KMS 主控台並選擇客戶受管金鑰。
-
在別名中,選擇目前的金鑰。
-
在金鑰政策中,選擇切換為政策檢視。
-
複製目前的政策,然後選擇客戶受管金鑰。
-
在別名中,選擇 application-current。
-
在金鑰政策中,選擇編輯、刪除 application-current 政策、貼上目前的政策,然後選擇儲存變更。
相關資訊
如何將金鑰匯入 AWS 金鑰管理服務?