如何在 AWS KMS 中手動輪換客戶受管金鑰?

2 分的閱讀內容
0

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 版本

  1. 建立名為 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
  1. 建立名為 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
  1. 建立類似於以下內容的新 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"
    }
}
  1. 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
  1. 您同時擁有新金鑰和目前的 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 金鑰。

  1. 登入 AWS KMS 主控台並選擇客戶受管金鑰

  2. 別名中,選擇目前的金鑰。

  3. 金鑰政策中,選擇切換為政策檢視

  4. 複製目前的政策,然後選擇客戶受管金鑰

  5. 別名中,選擇 application-current

  6. 金鑰政策中,選擇編輯、刪除 application-current 政策、貼上目前的政策,然後選擇儲存變更


相關資訊

如何將金鑰匯入 AWS 金鑰管理服務?