建立 AWS CloudHSM 金鑰存放區 - AWS Key Management Service

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

建立 AWS CloudHSM 金鑰存放區

您可以在帳戶中建立一個或多個 AWS CloudHSM 金鑰存放區。每個 AWS CloudHSM 金鑰存放區都與相同 AWS 帳戶 和 區域中的一個 AWS CloudHSM 叢集相關聯。在您建立 AWS CloudHSM 金鑰存放區之前,您需要備妥先決條件。然後,您必須先將其連接至其 AWS CloudHSM 叢集,才能使用 AWS CloudHSM 金鑰存放區。

備註

如果您嘗試建立與現有中斷連線 AWS CloudHSM AWS CloudHSM 金鑰存放區具有所有相同屬性值的金鑰存放區, AWS KMS 不會建立新的 AWS CloudHSM 金鑰存放區,也不會擲回例外狀況或顯示錯誤。相反地, AWS KMS 會將重複識別為重試的可能結果,並傳回現有 AWS CloudHSM 金鑰存放區的 ID。

您不需要立即連接 AWS CloudHSM 金鑰存放區。在準備使用之前可以維持在中斷連線狀態。不過,若要確認是否已正確設定,您可能需要將其連接檢視其連接狀態,然後中斷連接

備妥先決條件

每個 AWS CloudHSM 金鑰存放區都由 AWS CloudHSM 叢集支援。若要建立 AWS CloudHSM 金鑰存放區,您必須指定尚未與其他金鑰存放區建立關聯的作用中 AWS CloudHSM 叢集。您還需要在叢集的 中建立專用加密使用者 (CU)HSMs, AWS KMS 以代表您建立和管理金鑰。

在建立 AWS CloudHSM 金鑰存放區之前,請執行下列動作:

選取 AWS CloudHSM 叢集

每個 AWS CloudHSM 金鑰存放區都只與一個 AWS CloudHSM 叢集相關聯。當您 AWS KMS keys 在 AWS CloudHSM 金鑰存放區中建立 時, 會 AWS KMS 建立KMS金鑰中繼資料,例如 中的 ID 和 Amazon Resource Name (ARN) AWS KMS。然後,它會在相關聯叢集HSMs的 中建立金鑰材料。您可以建立新的 AWS CloudHSM叢集或使用現有的叢集。 AWS KMS 不需要叢集的專屬存取權。

您選取的 AWS CloudHSM 叢集已永久與 AWS CloudHSM 金鑰存放區相關聯。建立 AWS CloudHSM 金鑰存放區後,您可以變更關聯叢集的叢集 ID,但您指定的叢集必須與原始叢集共用備份歷史記錄。若要使用不相關的叢集,您需要建立新的 AWS CloudHSM 金鑰存放區。

您選擇的 AWS CloudHSM 叢集必須具有下列特性:

  • 叢集必須為作用中

    您必須建立叢集、初始化叢集、為平台安裝 AWS CloudHSM 用戶端軟體,然後啟用叢集。如需詳細說明,請參閱《AWS CloudHSM 使用者指南》中的 AWS CloudHSM入門

  • 叢集必須與金鑰存放區位於相同的帳戶和區域中。 AWS CloudHSM 您無法將一個區域中的 AWS CloudHSM 金鑰存放區與不同區域中的叢集建立關聯。若要在多個區域中建立金鑰基礎設施,您必須在每個區域中建立 AWS CloudHSM 金鑰存放區和叢集。

  • 叢集不能與相同帳戶和區域中的其他自訂金鑰存放區關聯。帳戶和區域中的每個 AWS CloudHSM 金鑰存放區都必須與不同的 AWS CloudHSM 叢集相關聯。您不能指定已經與自訂金鑰存放區相關聯的叢集,或與相關聯叢集共用備份歷史記錄的叢集。共用備份歷史記錄的叢集具有相同的叢集憑證。若要檢視叢集的叢集憑證,請使用 AWS CloudHSM 主控台或 DescribeClusters操作。

    如果您將 AWS CloudHSM 叢集備份至不同區域,則此叢集會被視為不同的叢集,您可以將備份與該區域中的自訂金鑰存放區關聯。不過,兩個自訂金鑰存放區中的KMS金鑰無法互操作,即使它們具有相同的備份金鑰。將中繼資料 AWS KMS 合併到密碼文字,因此只能透過加密的KMS金鑰進行解密。

  • 必須在區域中至少兩個可用區域中,為叢集設定私有子網路。由於 AWS CloudHSM 並非所有可用區域都支援,因此建議您在該區域的所有可用區域中建立私有子網路。您不能對現有叢集重新設定子網路,但可以從備份建立叢集,並於叢集組態中使用不同的子網路。

    重要

    建立 AWS CloudHSM 金鑰存放區後,請勿刪除為其 AWS CloudHSM 叢集設定的任何私有子網路。如果 AWS KMS 無法在叢集組態中找到所有子網路,嘗試連線至自訂金鑰存放區會失敗,並顯示SUBNET_NOT_FOUND連線錯誤狀態。如需詳細資訊,請參閱 如何修正連線失敗

  • 叢集 () 的安全群組必須包含允許連接埠 2223-2225 TCP流量的傳入規則和傳出規則。cloudhsm-cluster-<cluster-id>-sg傳入規則的 來源和傳出規則的目的地必須符合安全群組 ID。當您建立叢集時依預設會設定這些規則。請勿刪除或變更。

  • 叢集必須在不同的可用區域中包含至少兩個作用中HSMs。若要驗證 的數量HSMs,請使用 AWS CloudHSM 主控台或 DescribeClusters操作。如有必要,您可以新增 HSM

尋找信任起點憑證

建立自訂金鑰存放區時,您必須上傳 AWS CloudHSM 叢集的信任錨點憑證至 AWS KMS。 AWS KMS 需要信任錨點憑證,才能將 AWS CloudHSM 金鑰存放區連接至其相關聯的 AWS CloudHSM 叢集。

每個作用中 AWS CloudHSM 叢集都有信任錨點憑證 。當您初始化叢集時,您需要產生此憑證,將它儲存在 customerCA.crt 檔案中,然後複製到連接至叢集的主機。

建立 的kmsuser加密使用者 AWS KMS

若要管理您的 AWS CloudHSM 金鑰存放區, AWS KMS 會在選取的叢集中登入kmsuser加密使用者 (CU) 帳戶。在建立 AWS CloudHSM 金鑰存放區之前,您必須建立 kmsuser CU。然後,當您建立 AWS CloudHSM 金鑰存放區時,您會將 的密碼提供給 kmsuser AWS KMS。每當您將 AWS CloudHSM 金鑰存放區連接至其相關聯的 AWS CloudHSM 叢集時, 會以 AWS KMS 登入 kmsuser並輪換kmsuser密碼

重要

當您建立 kmsuser CU 時,請勿指定 2FA 選項。如果您這麼做, AWS KMS 則無法登入,且您的 AWS CloudHSM 金鑰存放區無法連線至此 AWS CloudHSM 叢集。一旦指定 2FA 就無法復原。您必須刪除 CU 再重新建立。

備註

下列程序使用 AWS CloudHSM Client SDK 5 命令列工具 CloudHSM CLI。雲端HSMkey-handle會CLI取代為 key-reference

2025 年 1 月 1 日, AWS CloudHSM 將結束對 Client 3 SDK 命令列工具、CloudHSM Management Utility (CMU) 和 Key Management Utility () 的支援KMU。如需 Client 3 SDK 命令列工具與 Client 5 SDK 命令列工具間差異的詳細資訊,請參閱 AWS CloudHSM 使用者指南 中的從 Client SDK 3 遷移CMUKMU至 Client SDK 5 CloudHSMCLI

  1. 請遵循 AWS CloudHSM 使用者指南CloudHSM Command Line Interface 入門 (CLI) 主題中所述的入門程序。

  2. 使用使用者建立命令來建立名為 的 CUkmsuser

    密碼必須包含 7 到 32 個英數字元。區分大小寫,且不能包含任何特殊字元。

    下列範例命令會建立 kmsuser CU。

    aws-cloudhsm > user create --username kmsuser --role crypto-user Enter password: Confirm password: { "error_code": 0, "data": { "username": "kmsuser", "role": "crypto-user" } }

建立新的 AWS CloudHSM 金鑰存放區

組合先決條件 後,您可以在 AWS KMS 主控台中或使用 CreateCustomKeyStore操作建立新的 AWS CloudHSM 金鑰存放區。

當您在 中建立 AWS CloudHSM 金鑰存放區時 AWS Management Console,您可以新增和建立先決條件,作為工作流程的一部分。不過,如果事先備妥,則程序會更快。

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

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

  3. 在導覽窗格依次選擇自訂金鑰存放區AWS CloudHSM 金鑰存放區

  4. 選擇 Create a key store (建立金鑰存放區)。

  5. 輸入自訂金鑰存放區的易記名稱。該名稱在帳戶的所有自訂金鑰存放區中必須是唯一的。

    重要

    請勿在此欄位包含機密或敏感資訊。此欄位可以在 CloudTrail 日誌和其他輸出中以純文字顯示。

  6. 為 AWS CloudHSM 金鑰存放區選取 AWS CloudHSM 叢集。或者,若要建立新 AWS CloudHSM 叢集,請選擇建立 AWS CloudHSM 叢集連結。

    選單會顯示您帳戶和區域中尚未與 AWS CloudHSM 金鑰存放區建立關聯的 AWS CloudHSM 叢集。叢集必須滿足要求,才能與自訂金鑰存放區建立關聯。

  7. 選擇選擇檔案 ,然後上傳所選 AWS CloudHSM 叢集的信任錨點憑證。這是 customerCA.crt 檔案,您在初始化叢集時所建立。

  8. 輸入您在所選叢集中建立的 kmsuser加密使用者 (CU) 的密碼。

  9. 選擇 Create (建立)。

當程序成功時,新的 AWS CloudHSM 金鑰存放區會出現在帳戶和區域中的 AWS CloudHSM 金鑰存放區清單中。如果不成功,則會出現錯誤訊息來描述問題,並提供如何修正的說明。如果您需要更多協助,請參閱對自訂金鑰存放區進行故障診斷

如果您嘗試建立與現有中斷連線 AWS CloudHSM AWS CloudHSM 金鑰存放區具有所有相同屬性值的金鑰存放區, AWS KMS 不會建立新的 AWS CloudHSM 金鑰存放區,也不會擲回例外狀況或顯示錯誤。相反地, AWS KMS 會將重複識別為重試的可能結果,並傳回現有 AWS CloudHSM 金鑰存放區的 ID。

下一個 :新 AWS CloudHSM 金鑰存放區不會自動連線。在 AWS CloudHSM 金鑰存放 AWS KMS keys 區中建立 之前,您必須將自訂金鑰存放區連接至其相關聯的 AWS CloudHSM 叢集。

您可以使用 CreateCustomKeyStore操作來建立新的 AWS CloudHSM 金鑰存放區,該存放區與帳戶和區域中的 AWS CloudHSM 叢集相關聯。以下範例使用 AWS Command Line Interface (AWS CLI),但您可以使用任何支援的程式設計語言。

CreateCustomKeyStore 操作需要以下參數值。

  • CustomKeyStoreName – 帳戶中唯一自訂金鑰存放區的易記名稱。

    重要

    請勿在此欄位包含機密或敏感資訊。此欄位可以在 CloudTrail 日誌和其他輸出中以純文字顯示。

  • CloudHsmClusterId – 滿足 AWS CloudHSM 金鑰存放區需求的叢集的 AWS CloudHSM 叢集 ID。

  • KeyStorePassword – 指定叢集中 kmsuser CU 帳戶的密碼。

  • TrustAnchorCertificate – 您在初始化叢集 時建立customerCA.crt的檔案內容。

以下範例使用虛構的叢集 ID。執行命令之前,請換成有效的叢集 ID。

$ aws kms create-custom-key-store --custom-key-store-name ExampleCloudHSMKeyStore \ --cloud-hsm-cluster-id cluster-1a23b4cdefg \ --key-store-password kmsPswd \ --trust-anchor-certificate <certificate-goes-here>

如果您使用的是 AWS CLI,您可以指定信任錨點憑證檔案,而不是其內容。在下列範例中,customerCA.crt 檔案位於根目錄。

$ aws kms create-custom-key-store --custom-key-store-name ExampleCloudHSMKeyStore \ --cloud-hsm-cluster-id cluster-1a23b4cdefg \ --key-store-password kmsPswd \ --trust-anchor-certificate file://customerCA.crt

當操作成功時,CreateCustomKeyStore 會傳回自訂金鑰存放區 ID,如下回應範例所示。

{ "CustomKeyStoreId": cks-1234567890abcdef0 }

如果操作失敗,請修正例外狀況所指出的錯誤,然後重試。如需其他說明,請參閱對自訂金鑰存放區進行故障診斷

如果您嘗試建立與現有中斷 AWS CloudHSM 連線 AWS CloudHSM 金鑰存放區具有所有相同屬性值的金鑰存放區, AWS KMS 不會建立新的 AWS CloudHSM 金鑰存放區,也不會擲回例外狀況或顯示錯誤。相反地, AWS KMS 會將重複識別為重試的可能結果,並傳回現有 AWS CloudHSM 金鑰存放區的 ID。

下一個 :若要使用 AWS CloudHSM 金鑰存放區,請將其連接至其 AWS CloudHSM 叢集