

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

# 連接 AWS CloudHSM 金鑰存放區
<a name="connect-keystore"></a>

新 AWS CloudHSM 金鑰存放區未連線。在 AWS CloudHSM 金鑰存放區 AWS KMS keys 中建立和使用 之前，您需要將其連接到其相關聯的 AWS CloudHSM 叢集。您可以隨時連接和中斷連接您的 AWS CloudHSM 金鑰存放區，並[檢視其連線狀態](view-keystore.md#view-keystore-console)。

您不需要連接 AWS CloudHSM 金鑰存放區。您可以讓 AWS CloudHSM 金鑰存放區無限期處於中斷連線狀態，並只在您需要使用它時才連接。不過，您可能希望定期測試連接，以驗證設定正確並且可連接。

**注意**  
AWS CloudHSM 只有在金鑰存放區從未連線或您明確中斷`DISCONNECTED`連線時，金鑰存放區才會有連線狀態。如果您的 AWS CloudHSM 金鑰存放區連線狀態為 ，`CONNECTED`但您無法使用它，請確定其相關聯的 AWS CloudHSM 叢集處於作用中狀態，且至少包含一個作用中HSMs。如需連線失敗的協助，請參閱 [對自訂金鑰存放區進行故障診斷](fix-keystore.md)。

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

若要建立連線， 會在叢集的虛擬私有雲端 (VPC) `kms-<custom key store ID>` 中 AWS KMS 建立名為 [的安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)。安全群組具有單一規則，允許來自叢集安全群組的傳入流量。 AWS KMS 也會在叢集私有子網路的每個可用區域中建立[彈性網路介面](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html) (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](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html) 操作。如有需要，您可以[新增 HSM](https://docs.aws.amazon.com/cloudhsm/latest/userguide/add-remove-hsm.html)。
+ 叢集必須擁有[`kmsuser`加密使用者](create-keystore.md#kmsuser-concept) (CU) 帳戶，但當您連接 AWS CloudHSM 金鑰存放區時，該 CU 無法登入叢集。如需登出的說明，請參閱[如何登出和重新連線](fix-keystore.md#login-kmsuser-2)。
+  AWS CloudHSM 金鑰存放區的連線狀態不能是 `DISCONNECTING`或 `FAILED`。若要檢視連線狀態，請使用 AWS KMS 主控台或 [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) 回應。如果連接狀態為 `FAILED`，請中斷連接自訂金鑰存放區，解決問題，然後進行連接。

如需連線失敗的協助，請參閱 [如何修正連線失敗](fix-keystore.md#fix-keystore-failed)。

當您的 AWS CloudHSM 金鑰存放區連線時，您可以在[其中建立 KMS 金鑰](create-cmk-keystore.md)，並在[密碼編譯操作](manage-cmk-keystore.md#use-cmk-keystore)中使用現有的 KMS 金鑰。

## 連接並重新連線至您的 AWS CloudHSM 金鑰存放區
<a name="connect-hsm-keystore"></a>

您可以在 AWS KMS 主控台或使用 [ConnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_ConnectCustomKeyStore.html) 操作來連接或重新連接您的 AWS CloudHSM 金鑰存放區。

### 使用 AWS KMS 主控台
<a name="connect-keystore-console"></a>

若要連接 中的 AWS CloudHSM 金鑰存放區 AWS 管理主控台，請先從自訂 AWS CloudHSM 金鑰存放區頁面選取金鑰存放區。 ****此連接程序最長可能需要 20 分鐘的時間才能完成。

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) 的 AWS Key Management Service (AWS KMS) 主控台。

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

1. 在導覽窗格依次選擇**自訂金鑰存放區**、**AWS CloudHSM 金鑰存放區**。

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

   如果 AWS CloudHSM 金鑰存放區的連線狀態為**失敗**，您必須在連接之前[中斷連接自訂金鑰存放](disconnect-keystore.md#disconnect-keystore-console)區。

1. 從 **Key store actions** (金鑰存放區動作) 選單中，選擇 **Connect** (連接)。

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

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

**下一步：**[在 金鑰存放區中建立 KMS AWS CloudHSM 金鑰](create-cmk-keystore.md)。

### 使用 AWS KMS API
<a name="connect-keystore-api"></a>

若要連接中斷連接的 AWS CloudHSM 金鑰存放區，請使用 [ConnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_ConnectCustomKeyStore.html) 操作。相關聯的 AWS CloudHSM 叢集必須至少包含一個作用中的 HSM，且連線狀態不能為 `FAILED`。

連接程序可能需要很長的時間才能完成；最多 20 分鐘。除非其快速失敗，否則 操作會傳回 HTTP 200 回應和不帶屬性的 JSON 物件。不過，這個初始回應並不表示連接已成功。若要判斷自訂金鑰存放區的連接狀態，請參閱 [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) 回應。

本節中的範例使用 [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/)，但您可以使用任何支援的程式設計語言。

若要識別 AWS CloudHSM 金鑰存放區，請使用其自訂金鑰存放區 ID。您可以在主控台的 **Custom key stores** (自訂金鑰存放區) 頁面查找 ID，也可以使用不帶參數的 [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) 操作。執行此範例之前，請將範例 ID 以有效的 ID 取代。

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

若要驗證 AWS CloudHSM 金鑰存放區是否已連線，請使用 [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) 操作。在預設情況下，此操作會傳回您帳戶和區域中的所有自訂金鑰存放區。但是，您可以使用 `CustomKeyStoreId` 或 `CustomKeyStoreName` 參數 (但不能同時使用) 來限制對特定自訂金鑰存放區的回應。此 `ConnectionState` 值 `CONNECTED` 指出自訂的金鑰存放區連接到它的 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 KMS 找不到 AWS CloudHSM 叢集 ID 為 的叢集`cluster-1a23b4cdefg`。如果已刪除叢集，則可以從原始叢集的[備份還原叢集](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-cluster-from-backup.html)，然後[編輯自訂金鑰存放區的叢集 ID](update-keystore.md)。如需回應連接錯誤代碼的說明，請參閱 [如何修正連線失敗](fix-keystore.md#fix-keystore-failed)。

```
$ 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"
   ],
}
```