連接 AWS CloudHSM 金鑰存放區 - AWS Key Management Service

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

連接 AWS CloudHSM 金鑰存放區

新 AWS CloudHSM 金鑰存放區未連線。在 AWS CloudHSM 金鑰存放區 AWS KMS keys 中建立和使用 之前,您需要將其連接至其相關聯的 AWS CloudHSM 叢集。您可以隨時連接和中斷連接 AWS CloudHSM 金鑰存放區,並檢視其連線狀態

您不需要連接 AWS CloudHSM 金鑰存放區。您可以無限期地將 AWS CloudHSM 金鑰存放區保持中斷連線狀態,並僅在您需要使用時連接。不過,您可能希望定期測試連接,以驗證設定正確並且可連接。

注意

AWS CloudHSM 只有在金鑰存放區從未連線或您明確中斷DISCONNECTED連線時,金鑰存放區才會有連線狀態。如果您的 AWS CloudHSM 金鑰存放區連線狀態為 ,CONNECTED但您使用它時遇到問題,請確定其關聯的 AWS CloudHSM 叢集處於作用中狀態,且至少包含一個作用中的 HSMs。如需連線失敗的協助,請參閱 對自訂金鑰存放區進行故障診斷

當您連接 AWS CloudHSM 金鑰存放區時, AWS KMS 尋找相關聯的 AWS CloudHSM 叢集、連線到該叢集、以kmsuser加密使用者 (CU) 身分登入 AWS CloudHSM 用戶端,然後只要 AWS CloudHSM 金鑰存放區已連線,就會輪換登入 AWS CloudHSM 用戶端kmsuser的 password. AWS KMS remains。

若要建立連線, 會在叢集的虛擬私有雲端 (VPC) kms-<custom key store ID>中 AWS KMS 建立名為 的安全群組。安全群組具有單一規則,允許來自叢集安全群組的傳入流量。 AWS KMS 也會在叢集私有子網路的每個可用區域中建立彈性網路介面 (ENI)。 會將 ENIs AWS KMS 新增至kms-<cluster ID>安全群組和叢集的安全群組。每個 的描述ENI為 KMS managed ENI for cluster <cluster-ID>

連接程序可能需要很長的時間才能完成;最多 20 分鐘。

連接 AWS CloudHSM 金鑰存放區之前,請確認其符合要求。

  • 其關聯的 AWS CloudHSM 叢集必須至少包含一個作用中的 HSM。若要在叢集HSMs中尋找 的數目,請在 AWS CloudHSM 主控台中檢視叢集或使用 DescribeClusters操作。如有必要,您可以新增 HSM

  • 叢集必須具有kmsuser加密使用者 (CU) 帳戶,但當您連接 AWS CloudHSM 金鑰存放區時,該 CU 無法登入叢集。如需登出的說明,請參閱如何登出和重新連線

  • AWS CloudHSM 金鑰存放區的連線狀態不能為 DISCONNECTINGFAILED。若要檢視連線狀態,請使用 AWS KMS 主控台或 DescribeCustomKeyStores回應。如果連接狀態為 FAILED,請中斷連接自訂金鑰存放區,解決問題,然後進行連接。

如需連線失敗的協助,請參閱 如何修正連線失敗

當您的 AWS CloudHSM 金鑰存放區連線時,您可以在其中建立KMS金鑰,並在密碼編譯操作 中使用現有的KMS金鑰。

連接並重新連線至您的 AWS CloudHSM 金鑰存放區

您可以在 AWS KMS 主控台或使用 ConnectCustomKeyStore操作來連接或重新連接您的 AWS CloudHSM 金鑰存放區。

若要連接 中的 AWS CloudHSM 金鑰存放區 AWS Management Console,請先從自訂 AWS CloudHSM 金鑰存放區頁面中選取金鑰存放區。 此連接程序最長可能需要 20 分鐘的時間才能完成。

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

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

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

  4. 選擇您要連線的 AWS CloudHSM 金鑰存放區資料列。

    如果 AWS CloudHSM 金鑰存放區的連線狀態為 失敗 ,您必須在連線之前中斷連接自訂金鑰存放區。

  5. Key store actions (金鑰存放區動作) 選單中,選擇 Connect (連接)。

AWS KMS 會開始連接自訂金鑰存放區的程序。它會找到相關的 AWS CloudHSM 叢集,建置所需的網路基礎設施,連接它,以 kmsuser CU 身分登入 AWS CloudHSM 叢集,並輪換 kmsuser 密碼。當操作完成時,連接狀態會變為 CONNECTED (已連接)。

如果部署失敗,說明失敗原因的錯誤訊息會顯示。在您嘗試再次連線之前,請先檢視金鑰存放區的連線狀態。 AWS CloudHSM 如狀態為 FAILED (失敗),在重新連接之前,您必須先中斷連接自訂金鑰存放區。如果您需要協助,請參閱對自訂金鑰存放區進行故障診斷

下一步:在KMS金鑰存放區中建立 AWS CloudHSM 金鑰

若要連接中斷連線的 AWS CloudHSM 金鑰存放區,請使用 ConnectCustomKeyStore操作。關聯的 AWS CloudHSM 叢集必須至少包含一個作用中,HSM且連線狀態不能為 FAILED

連接程序可能需要很長的時間才能完成;最多 20 分鐘。除非快速失敗,否則操作會傳回 200 HTTP 個回應和沒有屬性的JSON物件。不過,這個初始回應並不表示連接已成功。若要判斷自訂金鑰存放區的連線狀態,請參閱 DescribeCustomKeyStores回應。

本節中的範例使用 AWS Command Line Interface (AWS CLI),但您可以使用任何支援的程式設計語言。

若要識別 AWS CloudHSM 金鑰存放區,請使用其自訂金鑰存放區 ID。您可以在主控台的自訂金鑰存放區頁面上找到 ID,或使用沒有參數DescribeCustomKeyStores的操作。執行此範例之前,請將範例 ID 以有效的 ID 取代。

$ aws kms connect-custom-key-store --custom-key-store-id cks-1234567890abcdef0

若要驗證 AWS CloudHSM 金鑰存放區是否已連線,請使用 DescribeCustomKeyStores操作。在預設情況下,此操作會傳回您帳戶和區域中的所有自訂金鑰存放區。但是,您可以使用 CustomKeyStoreIdCustomKeyStoreName 參數 (但不能同時使用) 來限制對特定自訂金鑰存放區的回應。此 ConnectionStateCONNECTED 指出自訂的金鑰存放區連接到它的 AWS CloudHSM 叢集。

注意

CustomKeyStoreType 欄位已新增至DescribeCustomKeyStores回應,以區分 AWS CloudHSM 金鑰存放區與外部金鑰存放區。

$ aws kms describe-custom-key-stores --custom-key-store-id cks-1234567890abcdef0 { "CustomKeyStores": [ "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleCloudHSMKeyStore", "CloudHsmClusterId": "cluster-1a23b4cdefg", "CustomKeyStoreType": "AWS_CLOUDHSM", "TrustAnchorCertificate": "<certificate string appears here>", "CreationDate": "1.499288695918E9", "ConnectionState": "CONNECTED" ], }

如果 ConnectionState 值為 failed,ConnectionErrorCode 元素會指出失敗的原因。在此情況下, AWS CloudHSM 在您的帳戶中 AWS KMS 找不到叢集 ID 為 的叢集cluster-1a23b4cdefg。如果已刪除叢集,則可以從原始叢集的備份還原叢集,然後編輯自訂金鑰存放區的叢集 ID。如需回應連接錯誤代碼的說明,請參閱 如何修正連線失敗

$ aws kms describe-custom-key-stores --custom-key-store-id cks-1234567890abcdef0 { "CustomKeyStores": [ "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleKeyStore", "CloudHsmClusterId": "cluster-1a23b4cdefg", "CustomKeyStoreType": "AWS_CLOUDHSM", "TrustAnchorCertificate": "<certificate string appears here>", "CreationDate": "1.499288695918E9", "ConnectionState": "FAILED" "ConnectionErrorCode": "CLUSTER_NOT_FOUND" ], }