

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS CloudHSM クライアントキーの耐久性設定を変更する
<a name="working-client-sync"></a>

キーの同期は主に自動プロセスですが、クライアント側のキーの耐久性設定を管理できます。クライアント側のキーの耐久性設定は、クライアント SDK 5 とクライアント SDK 3 では異なる動作をします。
+ クライアント SDK 5 では、最低 2 つの HSM を用いてクラスターを実行することを求める *key availability quorums* のコンセプトを紹介します。クライアント側のキーの耐久性設定を使用して、2 つの HSM 要件をオプトアウトできます。quorums のさらなる詳細については、[AWS CloudHSM 主要な概念](concepts-key-sync.md) を参照してください。
+ クライアント SDK 3 では、クライアント側のキーの耐久性設定を使用して、オペレーション全体を成功と見なすためにキーの作成を成功させる必要がある HSM の数を指定します。

## クライアント SDK 5 のクライアントキーの耐久性設定
<a name="client-sync-sdk8"></a>

クライアント SDK 5 では、キーの同期は完全自動プロセスです。キー可用性クォーラムを用いて、アプリケーションがキーを使用できるようになる前に、新しく作成されたキーがクラスター内の 2 つの HSM 上に存在している必要があります。キーの可用性クォーラムを使用するには、クラスターに最低 2 つの HSM が必要です。

クラスター構成がキーの耐久性要件を満たしていない場合、トークンキーを作成または使用しようとすると、ログに次のエラーメッセージが表示されて失敗します。

```
Key <key handle> does not meet the availability requirements - The key must be available on at least 2 HSMs before being used.
```

クライアント構成設定を使用して、キーの可用性クォーラムをオプトアウトできます。たとえば、単一の HSM を用いてクラスターの実行をオプトアウトしたい場合があります。

### クライアント SDK 5 の概念
<a name="client-sync-8concept"></a>

**Key Availability Quorum**  
AWS CloudHSM は、アプリケーションがキーを使用する前にキーが存在する必要があるクラスター内の HSMs の数を指定します。最低 2 つの HSM を持つクラスターが必要です。

### クライアントキーの耐久性設定の管理
<a name="setting-file-sdk8"></a>

クライアントキーの耐久性設定を管理するには、クライアント SDK 5 用の構成ツールを使用する必要があります。

------
#### [ PKCS \$111 library ]

**Linux でクライアント SDK 5 のクライアントキーの耐久性を無効にするには**
+  構成ツールを使用して、クライアントキーの耐久性設定を無効にします。

  ```
  $ sudo /opt/cloudhsm/bin/configure-pkcs11 --disable-key-availability-check
  ```

**Windows でクライアント SDK 5 のクライアントキー耐久性を無効にするには**
+  構成ツールを使用して、クライアントキーの耐久性設定を無効にします。

  ```
  PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-pkcs11.exe" --disable-key-availability-check
  ```

------
#### [ OpenSSL Dynamic Engine ]

**Linux でクライアント SDK 5 のクライアントキーの耐久性を無効にするには**
+  構成ツールを使用して、クライアントキーの耐久性設定を無効にします。

  ```
  $ sudo /opt/cloudhsm/bin/configure-dyn --disable-key-availability-check
  ```

------
#### [ OpenSSL Dynamic Engine Provider ]

**Linux でクライアント SDK 5 のクライアントキーの耐久性を無効にするには**
+  構成ツールを使用して、クライアントキーの耐久性設定を無効にします。

  ```
  $ sudo /opt/cloudhsm/bin/configure-openssl-provider --disable-key-availability-check
  ```

------
#### [ Key Storage Provider (KSP) ]

**Windows でクライアント SDK 5 のクライアントキー耐久性を無効にするには**
+  構成ツールを使用して、クライアントキーの耐久性設定を無効にします。

  ```
  PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-ksp.exe" --disable-key-availability-check
  ```

------
#### [ JCE provider ]

**Linux でクライアント SDK 5 のクライアントキーの耐久性を無効にするには**
+  構成ツールを使用して、クライアントキーの耐久性設定を無効にします。

  ```
  $ sudo /opt/cloudhsm/bin/configure-jce --disable-key-availability-check
  ```

**Windows でクライアント SDK 5 のクライアントキー耐久性を無効にするには**
+  構成ツールを使用して、クライアントキーの耐久性設定を無効にします。

  ```
  PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-jce.exe" --disable-key-availability-check
  ```

------
#### [ CloudHSM CLI ]

**Linux でクライアント SDK 5 のクライアントキーの耐久性を無効にするには**
+  構成ツールを使用して、クライアントキーの耐久性設定を無効にします。

  ```
  $ sudo /opt/cloudhsm/bin/configure-cli --disable-key-availability-check
  ```

**Windows でクライアント SDK 5 のクライアントキー耐久性を無効にするには**
+  構成ツールを使用して、クライアントキーの耐久性設定を無効にします。

  ```
  PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-cli.exe" --disable-key-availability-check
  ```

------

## クライアント SDK 3 のクライアントキーの耐久性設定
<a name="client-sync-sdk3"></a>

[クライアント SDK 3] では、キーの同期は主に自動プロセスですが、クライアントキーの耐久性設定を使用してキーの耐久性を高めることができます。オペレーション全体を成功と見なすためにキーの作成を引き継ぐ必要がある HSM の数を指定します。クライアント側の同期では、選択した設定に関係なく、クラスター内のすべての HSM にキーのクローンするために、ベストエフォートの試行を行います。この設定では、指定した HSM の数の上にキーの作成が強制されます。値を指定し、システムがその数の HSM にキーをレプリケートできない場合、不要なキーマテリアルは自動的にクリーンアップされ、再試行できます。

**重要**  
クライアントキーの耐久性設定を設定しない場合 (またはデフォルト値の 1 を使用する場合)、キーが失われる恐れがあります。サーバーサイドサービスがそのキーを別の HSM に複製する前に現在の HSM に障害が発生した場合、キーマテリアルは失われます。

キーの耐久性を最大化するには、クライアント側の同期のために少なくとも 2 つの HSM を指定することを検討してください。HSM をいくつ指定しても、クラスター上のワークロードは変わりません。クライアント側の同期では、クラスター内のすべての HSM に対して常にベストエフォート型のキーのクローンが試行されます。

**推奨事項**
+ **Minimum**: クラスターあたり 2 つの HSM
+ **Maximum**: クラスター内の HSM の総数より 1 少ない

クライアント側の同期に失敗すると、クライアントサービスは作成された可能性があり、不要になった可能性のある不要なキーをクリーンアップします。このクリーンアップは、常に機能するとは限らないベストエフォート対応です。クリーンアップが失敗した場合は、不要なキーマテリアルを削除する必要があります。さらなる詳細については、[Key Synchronization Failures](ts-client-sync-fail.md) を参照してください。

### クライアントキーの耐久性のための設定ファイルの設定
<a name="setting-file"></a>

クライアントキーの耐久性設定を指定するには、`cloudhsm_client.cfg` を編集します。

**クライアント設定ファイルを編集するには**

1. `cloudhsm_client.cfg` を開きます。

   **Linux** ：

   ```
   /opt/cloudhsm/etc/cloudhsm_client.cfg
   ```

   **Windows** ：

   ```
   C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg
   ```

1. ファイルの`client`ノードで、キー作成オペレーションを成功させるために がキーを正常に作成 AWS CloudHSM する必要がある HSMs の最小数の値を追加して`create_object_minimum_nodes`指定します。

   ```
   "create_object_minimum_nodes" : 2
   ```
**注記**  
[key\$1mgmt\$1util (KMU)]コマンドラインツール]には、クライアントキーの耐久性の追加設定があります。詳細については、[KMU とクライアント側の同期](#kmu-sync) を参照してください。

#### 設定リファレンス
<a name="client-side-ref"></a>

これらは、`cloudhsm_client.cfg` の抜粋中に示されるクライアント側の同期プロパティです:

```
{
    "client": {
        "create_object_minimum_nodes" : 2,
        ...
    },
    
    ...
}
```

**create\$1object\$1minimum\$1nodes**  
キーの生成、キーのインポート、またはキーアンラップ操作が成功したと見なすために必要な HSM の最小数を指定します。設定されると、デフォルトは、[1] になります。つまり、キーがオペレーション作成するたびに、クライアント側のサービスはクラスター内のすべての HSM でキーを作成しようとしますが、成功を返すためには、クラスター内の HSM 上で *single key* の生成を必要とするだけです。

### KMU とクライアント側の同期
<a name="kmu-sync"></a>

[key\$1mgmt\$1util (KMU)] コマンドラインツールを使用してキーを作成する場合は、オプションのコマンドラインパラメータ (`-min_srv`) を使って、キーのクローンを作成する HSM の数を *limit* します。コマンドラインパラメータ*と*値を設定ファイルで指定すると、 は 2 つの値の LARGER を AWS CloudHSM 優先します。

 詳細については、以下の各トピックを参照してください。
+ [genDSAKeyPair](key_mgmt_util-genDSAKeyPair.md)
+ [genECCKeyPair](key_mgmt_util-genECCKeyPair.md)
+ [genRSAKeyPair](key_mgmt_util-genRSAKeyPair.md)
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [importPrivateKey](key_mgmt_util-importPrivateKey.md)
+ [importPubKey](key_mgmt_util-importPubKey.md)
+ [imSymKey](key_mgmt_util-imSymKey.md)
+ [insertMaskedObject](key_mgmt_util-insertMaskedObject.md)
+ [unWrapKey](key_mgmt_util-unwrapKey.md)