受管匯入的金鑰資料 - AWS Key Management Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

受管匯入的金鑰資料

這些主題將說明如何匯入及重新匯入金鑰資料至 KMS 金鑰,以及如何建立自動過期的匯入金鑰資料。

匯入金鑰資料概觀

以下概觀說明如何將金鑰材料匯入 AWS KMS。如需程序每個步驟的更多詳細資訊,請參閱對應的主題。

  1. 建立不含金鑰資料的 KMS 金鑰 — 來源必須是 EXTERNAL。的金鑰來源EXTERNAL表示金鑰是針對匯入的金鑰材料所設計,而且無 AWS KMS 法產生 KMS 金鑰的金鑰材料。在後續步驟中,您會將您自己的金鑰材料匯入到這個 KMS 金鑰中。

    您匯入的金鑰材料必須與相關金鑰的金鑰規格相 AWS KMS 容。如需關於相容的詳細資訊,請參閱 匯入金鑰資料需求

  2. 下載包裝公有金鑰及匯入字符 — 在完成步驟 1 之後,請下載包裝公有金鑰及匯入字符。這些項目在匯入至時保護您的金鑰材料 AWS KMS。

    您可在此步驟選擇 RSA 包裝金鑰的類型 (「金鑰規格」),以及用來加密資料的包裝演算法,以便將其傳輸至 AWS KMS。每次匯入或重新匯入相同金鑰資料時,您都可選擇不同包裝金鑰規格與包裝金鑰演算法。

  3. 加密金鑰資料 — 利用您在步驟 2 下載的包裝公有金鑰來加密您在自己系統建立的金鑰資料。

  4. 匯入金鑰材料 – 上傳您在步驟 3 建立的加密金鑰材料,以及您在步驟 2 下載的匯入字符。

    在此階段,您可以設定選用的到期時間。匯入的金鑰材料到期時,將其 AWS KMS 刪除,KMS 金鑰將變成無法使用。若要繼續運用 KMS 金鑰,您必須重新匯入相同的金鑰資料。

    當匯入操作成功完成後,KMS 金鑰的金鑰狀態會從 PendingImport 變成 Enabled。您現在可以在密碼編譯操作中使用 KMS 金鑰。

AWS KMS 當您 AWS CloudTrail 建立 KMS 金鑰、下載包裝公開金鑰和匯入權杖,以及匯入金鑰材料時,會在記錄中記錄項目。 AWS KMS 當您刪除匯入的金鑰材料或刪除過期的金鑰材料時,也 AWS KMS 會記錄項目。

重新匯入金鑰資料

如果您管理的 KMS 金鑰含有已匯入的金鑰資料,您可能需要重新匯入金鑰資料。您可能重新匯入金鑰材料來取代即將過期或已刪除的金鑰材料,或變更金鑰材料的過期模型或過期日期。

當您將金鑰材料匯入 KMS 金鑰,KMS 金鑰將永久關聯到該金鑰材料。您可以重新匯入相同的金鑰材料,但您不能將不同的金鑰材料匯入 KMS 金鑰。您無法輪換金鑰資料, AWS KMS 也無法為含有匯入金鑰資料的 KMS 金鑰建立金鑰資料。

您可以根據自己的安全性需求來排程或隨時重新匯入金鑰材料。不必等到金鑰材料到期或接近到期時間。

若要重新匯入金鑰材料,請使用首次匯入金鑰材料的相同程序,除了以下幾點例外。

  • 使用現有的 KMS 金鑰,而不是建立新的 KMS 金鑰。您可以略過匯入程序的步驟 1

  • 重新匯入金鑰資料時,您可以變更過期模型和過期日期。

每次將金鑰材料匯入 KMS 金鑰時,您需要為 KMS 金鑰下載並使用新的包裝金鑰和匯入字符。包裝程序不會影響金鑰資料內容,因此您可採用不同包裝公有金鑰和不同包裝演算法來匯入相同金鑰資料。

識別包含匯入金鑰資料的 KMS 金鑰

當您建立不具有匯入金鑰材料的 KMS 金鑰時,KMS 金鑰 Origin 屬性的值為 EXTERNAL,而且無法變更。不同於金鑰狀態Origin 值與是否有金鑰材料無關。

您可以使用 EXTERNAL 來源值來標識設計用於匯入金鑰材料的 KMS 金鑰。您可以在 AWS KMS 控制台中或使用DescribeKey操作查找密鑰來源。您也可以使用主控台或 API 來檢視金鑰材料的屬性,例如它是否過期以及何時過期。

識別具有匯入金鑰材料的 KMS 金鑰 (主控台)

  1. 請在以下位置開啟 AWS KMS 主控台。 https://console.aws.amazon.com/kms

  2. 若要變更 AWS 區域,請使用頁面右上角的「地區」選取器。

  3. 使用下列其中一項技術來檢視 KMS 金鑰的 Origin 屬性。

    • 若要新增 Origin (來源) 欄到您的 KMS 金鑰資料表,請選擇右上角的 Settings (設定) 圖示。選擇 Origin (來源),然後選擇 Confirm (確認)來源欄可讓您輕鬆識別具外部 (匯入金鑰資料)來源屬性值的 KMS 金鑰。

    • 若要尋找特定 KMS 金鑰的 Origin 屬性值,請選擇 KMS 金鑰的金鑰 ID 或別名。然後選擇 Cryptographic configuration (密碼編譯組態) 索引標籤。索引標籤位於 General Configuration (一般組態) 區段下。

  4. 若要檢視金鑰材料的詳細資訊,請選擇 Key material (金鑰材料) 索引標籤。此索引標籤只會顯示在具有匯入金鑰材料之 KMS 金鑰的詳細資料頁面上。

使用匯入的金鑰材料 (AWS KMS API) 識別 KMS 金鑰

使用DescribeKey操作。回應包含 KMS 金鑰的 Origin 屬性、過期模型和過期日期,如下列範例所示。

$ aws kms describe-key --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyMetadata": { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Origin": "EXTERNAL", "ExpirationModel": "KEY_MATERIAL_EXPIRES" "ValidTo": 2023-06-05T12:00:00+00:00, "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": 2018-06-09T00:06:50.831000+00:00, "Enabled": false, "MultiRegion": false, "Description": "", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "PendingImport", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }

建立匯入金鑰材料到期的 CloudWatch 警示

您可以建立 CloudWatch 警示,在 KMS 金鑰中匯入的金鑰材料即將到期時通知您。例如,警示會在到期時間不到 30 天時通知您。

當您匯入金鑰資料至 KMS 金鑰時,您可以選擇指定該金鑰資料的到期日期和時間。當金鑰材料到期時, AWS KMS 會刪除金鑰材料,KMS 金鑰就會變成無法使用。若要再次使用 KMS 金鑰,您必須重新匯入金鑰資料。但是,如果您在金鑰資料到期前重新匯入,則可以避免中斷使用該 KMS 金鑰的程序。

此警示會使用 CloudWatch 針對 KMS 金SecondsUntilKeyMaterialExpires鑰發 AWS KMS 佈至的指標,其中包含匯入的金鑰材料到期。每個警示都會使用此指標來監控特定 KMS 金鑰的匯入金鑰資料。您無法為具有到期金鑰資料的所有 KMS 金鑰建立單一警示,也不能為您未來可能建立的 KMS 金鑰建立警示。

需求

監控匯入金鑰材料到期的 CloudWatch 警示需要下列資源。

建立警示

遵循使用下列必要值根據靜態臨界值建立 CloudWatch 警示中的指示進行。對於其他欄位,請接受預設值,並按要求提供名稱。

欄位 Value
選取指標

選擇 KMS,然後選擇 Per-Key Metrics (每個金鑰指標)。

選擇包含 KMS 金鑰和 SecondsUntilKeyMaterialExpires 指標的資料列。然後選擇 Select metric (選取指標)

對於具有會到期的匯入金鑰資料之 KMS 金鑰的指標,Metrics (指標) 清單只會顯示 SecondsUntilKeyMaterialExpires 指標。如果您在帳戶和區域中沒有具有這些屬性的 KMS 金鑰,則此清單為空白。

統計數字 下限
期間 1 分鐘
閾值類型 靜態
Whenever ... 每當指標名稱大於 1

刪除匯入的金鑰材料

您可以隨時刪除 KMS 金鑰中匯入的金鑰材料。此外,當匯入的金鑰材料有到期日期到期時, AWS KMS 會刪除金鑰材料。在兩者任一情況下,當金鑰資料遭刪除時,KMS 金鑰的金鑰狀態會變為待匯入,且在您重新匯入相同金鑰資料之前,無法在任何密碼編譯操作使用該 KMS 金鑰。(您無法匯入其他金鑰資料至 KMS 金鑰。)

除停用 KMS 金鑰及撤回權限外,刪除金鑰資料也可作為快速但暫時停止使用 KMS 金鑰的策略。反之,利用匯入的金鑰資料來排程刪除 KMS 金鑰也可快速停止運用 KMS 金鑰。然而,如在等待期間未取消刪除,則 KMS 金鑰、金鑰資料與所有金鑰中繼資料都會永久刪除。如需詳細資訊,請參閱 刪除包含匯入金鑰資料的 KMS 金鑰

要刪除密鑰材料,您可以使用 AWS KMS 控制台或 DeleteImportedKeyMaterialAPI 操作。 AWS KMS 當您 AWS CloudTrail 刪除匯入的金鑰材料以及刪除過期的金鑰材料時,AWS KMS 會在記錄中記錄項目。

刪除關鍵材料如何影響 AWS 服務

當您刪除金鑰材料時,沒有金鑰材料的 KMS 金鑰立即變為無法使用 (視最終一致性而定)。不過,使用受 KMS 金鑰保護之資料金鑰所加密的資源不會受影響,除非再次使用 KMS 金鑰 (例如解密資料金鑰)。此問題會影響 AWS 服務,其中許多使用資料金鑰來保護您的資源。如需詳細資訊,請參閱 無法使用的 KMS 金鑰如何影響資料金鑰

刪除金鑰材料 (主控台)

您可以使用刪 AWS Management Console 除關鍵材料。

  1. 登入 AWS Management Console 並開啟 AWS Key Management Service (AWS KMS) 主控台,網址為 https://console.aws.amazon.com/kms

  2. 若要變更 AWS 區域,請使用頁面右上角的「地區」選取器。

  3. 在導覽窗格中,選擇 Customer managed keys (客戶受管金鑰)。

  4. 執行以下任意一項:

    • 選取含有匯入金鑰資料的 KMS 金鑰的核取方塊。選擇 Key actions (金鑰動作)Delete key material (刪除金鑰材料)

    • 針對含有匯入金鑰資料的 KMS 金鑰,選擇其別名或金鑰 ID。選擇 Key material (金鑰材料) 索引標籤,然後選擇 Delete key material (刪除金鑰材料)。

  5. 確認您要刪除金鑰材料,然後選擇 Delete key material (刪除金鑰材料)。KMS 金鑰的狀態 (對應其金鑰狀態) 會變更為 Pending import (待匯入)。

刪除金鑰材料 (AWS KMS API)

若要使用 AWS KMS API 刪除金鑰材料,請傳送DeleteImportedKeyMaterial要求。以下範例顯示如何使用 AWS CLI 執行此作業。

1234abcd-12ab-34cd-56ef-1234567890ab 替換為您要刪除其金鑰材料之 KMS 金鑰的金鑰 ID。您可以使用 KMS 金鑰的金鑰 ID 或 ARN,但不能對此操作使用別名。

$ aws kms delete-imported-key-material --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

刪除包含匯入金鑰資料的 KMS 金鑰

刪除包含匯入金鑰資料的 KMS 金鑰資料為暫時性且可復原。若要還原金鑰,請重新匯入其金鑰資料。

相對地,刪除 KMS 金鑰則無法復原。如果您排程金鑰刪除且所需的等待期到期,則會 AWS KMS 永久且不可逆轉地刪除 KMS 金鑰、其金鑰材料,以及與 KMS 金鑰相關聯的所有中繼資料。

然而,刪除包含匯入金鑰資料的 KMS 金鑰所產生的風險與後果取決於 KMS 金鑰的類型 (「金鑰規格」)。

  • 對稱加密金鑰 — 如您刪除對稱加密 KMS 金鑰,則該金鑰加密的所有剩餘密文均無法復原。您無法建立新的對稱加密 KMS 金鑰來針對已刪除的對稱加密 KMS 金鑰解密其密文,即使您擁有相同金鑰資料也無法做到。每個 KMS 金鑰的唯一中繼資料會以密碼編譯方式繫結至每個對稱密文。此安全性功能可保證僅經加密對稱密文的 KMS 金鑰才能將其解密,但這會讓您無法重新建立對等 KMS 金鑰。

  • 非對稱金鑰和 HMAC 金鑰 — 如果您擁有原始金鑰材料,您可以建立新的 KMS 金鑰,其密碼編譯內容與已刪除的非對稱或 HMAC KMS 金鑰相同。 AWS KMS 產生標準的 RSA 密文和簽名、ECC 簽名和 HMAC 標籤,這些標籤不包含任何唯一的安全性功能。此外,您也可在 AWS外部利用 HMAC 金鑰或非對稱金鑰對的私有金鑰。

    您利用相同非對稱或 HMAC 金鑰資料建立的新 KMS 金鑰將具有不同金鑰識別碼。您必須建立新的金鑰政策、重新建立任何別名,以及更新現有 IAM 政策與授權,以便參考新金鑰。