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

2 分的閱讀內容
0

AWS Key Management Service (KMS) 會每年自動輪換一次 AWS KMS 金鑰。我想在 AWS KMS 金鑰自動輪換之前手動輪換。

解決方法

若要手動輪換目前的 AWS KMS 金鑰為新金鑰,請完成下列步驟:

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請參閱AWS CLI 錯誤疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

  1. 建立名為 application-current 的別名,然後將其附加到現有的 AWS KMS 金鑰:

    acbc32cf8f6f:~ $$ aws kms create-alias --alias-name alias/application-current --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321acbc32cf8f6f:~ $$ 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
  2. 建立名為 application-20180606 的別名,將輪換日期包含在要輪換的 AWS KMS 金鑰的名稱中。在下列範例中,輪換日期為 2018-06-06。AWS KMS 金鑰有兩個別名:

    acbc32cf8f6f:~ $$ aws kms create-alias --alias-name alias/application-20180606 --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321acbc32cf8f6f:~ $$ 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
  3. 建立類似於以下內容的新 AWS KMS 金鑰

    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"
        }
    }
  4. application-current 別名與新的 AWS KMS 金鑰建立關聯。將 NEW_KMS_KEY_ID 取代為您在步驟 3 中新建立的金鑰 ID:

    $$ aws kms update-alias --alias-name alias/application-current --target-key-id NEW_KMS_KEY_ID

    **注意:**新的 KMS 金鑰無法解密使用舊金鑰加密的數據。對於使用對稱加密金鑰加密的資料,AWS KMS 會從中繼資料擷取 AWS KMS 金鑰 ID。然後,AWS KMS 會使用該金鑰執行解密。確定您沒有在解密請求中指定金鑰 ID。如果您使用非對稱 AWS KMS 金鑰,則必須在解密請求中手動指定金鑰 ID。確保追蹤加密動作中使用的 AWS KMS 金鑰。

  5. 您同時擁有新金鑰和目前的 AWS KMS 金鑰。使用 application-current 金鑰來加密資料。當 AWS KMS 解密資料時,系統會自動解析 AWS KMS 金鑰:

    acbc32cf8f6f:~ $$ aws kms list-aliases --output text | grep applicationALIASES    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     9bf76697-5b41-4caf-9fe1-e23bbe20f858

    若要追蹤金鑰輪換發生的時間或還原變更,請保留目前的 AWS KMS 金鑰作為備份。
    **注意:**如果您有現有金鑰,請將該政策複製到 application-current 金鑰。

  6. 開啟 AWS KMS 主控台,然後選擇客戶受管金鑰

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

  8. 金鑰政策中,選擇切換至政策檢視

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

  10. 別名中,選擇 application-current

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

相關資訊

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