

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

# CloudHSM CLI を使用して AWS CloudHSM 管理者のクォーラム認証を設定する
<a name="quorum-auth-chsm-cli-first-time"></a>

以下のトピックでは、 AWS CloudHSM [管理者が](understanding-users.md#admin)クォーラム認証を使用できるようにハードウェアセキュリティモジュール (HSM) を設定するために完了する必要がある手順について説明します。管理者のクォーラム認証を最初に設定する場合に、これらのステップを 1 回だけ実行する必要があります。これらのステップが完了したら、[CloudHSM CLI AWS CloudHSM の使用に対してクォーラム認証を有効にしたユーザー管理](quorum-auth-chsm-cli-admin.md) を参照してください。

**Topics**
+ [前提条件](#quorum-admin-prerequisites)
+ [ステップ 1. 署名のためのキーの作成と登録](#quorum-admin-create-and-register-key)
+ [ステップ 2. HSM のクォーラム最小値を設定する](#quorum-admin-set-quorum-minimum-value-chsm-cli)
+ [クォーラム最小値](#cloudhsm_cli-qm-list-minimum)

## 前提条件
<a name="quorum-admin-prerequisites"></a>

この例を理解するには、[CloudHSM CLI](cloudhsm_cli.md) についての知識が必要です。

## ステップ 1. 署名のためのキーの作成と登録
<a name="quorum-admin-create-and-register-key"></a>

クォーラム認証を使用する場合、各管理者が以下の*すべて*のステップを実行する必要があります。

**Topics**
+ [RSA キーペアの作成](#mofn-key-pair-create-chsm-cli)
+ [登録トークンの作成と署名](#mofn-registration-token-chsm-cli)
+ [HSM でパブリックキーを登録する](#mofn-register-key-chsm-cli)

### RSA キーペアの作成
<a name="mofn-key-pair-create-chsm-cli"></a>

様々なキーペアを作成、保護する方法があります。次の例では、[OpenSSL](https://www.openssl.org/) 使用方法を説明しています。

**Example — OpenSSL でプライベートキーを作成する**  
次の例は、OpenSSL を使用して 2,048 ビットの RSA キーを作成する方法を示しています。この例を使用するには、{{<admin.key>}} を、キーの保存先のファイル名に置き換えてください。  

```
$ openssl genrsa -out {{<admin.key>}}
Generating RSA private key, 2048 bit long modulus
.....................................+++
.+++
e is 65537 (0x10001)
```

次に、作成したプライベートキーを使用してパブリックキーを生成します。

**Example — OpenSSL でパブリックキーを作成する**  
以下の例は、OpenSSL を使用して先ほど作成したプライベートキーからパブリックキーを作成する方法を示しています。  

```
$ openssl rsa -in admin.key -outform PEM -pubout -out admin1.pub
writing RSA key
```

### 登録トークンの作成と署名
<a name="mofn-registration-token-chsm-cli"></a>

トークンを作成し、前のステップで生成したプライベートキーを使用して署名します。

**Example – 登録トークンの作成と署名**  

1. CloudHSM CLI を起動するには、次のコマンドを使用します。

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. [quorum token-sign generate](cloudhsm_cli-qm-token-gen.md) コマンドを実行して登録トークンを作成します。

   ```
   aws-cloudhsm > quorum token-sign generate --service registration --token /path/tokenfile
   {
     "error_code": 0,
     "data": {
       "path": "/path/tokenfile"
     }
   }
   ```

1. [quorum token-sign generate](cloudhsm_cli-qm-token-gen.md) コマンドは、指定されたファイルパスに登録トークンを生成します。トークンファイルを調査します。

   ```
   $ cat /path/tokenfile
   {
     "version": "2.0",
     "tokens": [
       {
         "approval_data": {{<approval data in base64 encoding>}},
         "unsigned": {{<unsigned token in base64 encoding>}},
         "signed": ""
       }
     ]
   }
   ```

   トークンファイルは、次のもので構成されます。
   + **approval\_data**: base64 でエンコードされランダム化されたデータトークン。raw データが最大 245 バイトを超えないもの。
   + **unsigned**: base64 でエンコードされ、SHA256 ハッシュされた approval\_data のトークン。
   + **signed**: OpenSSL で以前に生成された RSA 2,048 ビットのプライベートキーを使用した、署名されていないトークンの base64 でエンコードされた署名付きトークン (署名)。

   プライベートキーを使用して署名なしトークンに署名し、プライベートキーへのアクセス権があることを示します。管理者をクォーラムユーザーとして AWS CloudHSM クラスターに登録するには、登録トークンファイルに署名とパブリックキーが完全に入力されている必要があります。

**Example – 署名なし登録トークンへ署名する**  

1. base64 でエンコードされた署名なしトークンをデコードし、バイナリファイルに入れます。

   ```
   $ echo -n '6BMUj6mUjjko6ZLCEdzGlWpR5sILhFJfqhW1ej3Oq1g=' | base64 -d > admin.bin
   ```

1. OpenSSL とプライベートキーを使用して現在の署名なしバイナリ登録トークンに署名し、バイナリ署名ファイルを作成します。

   ```
   $ openssl pkeyutl -sign \
   -inkey admin.key \
   -pkeyopt digest:sha256 \
   -keyform PEM \
   -in admin.bin \
   -out admin.sig.bin
   ```

1. バイナリ署名を base64 にエンコードします。

   ```
   $ base64 -w0 admin.sig.bin > admin.sig.b64
   ```

1. base64 でエンコードされた署名をコピーしてトークンファイルに貼り付けます。

   ```
   {
     "version": "2.0",
     "tokens": [
       {
         "approval_data": {{<approval data in base64 encoding>}},
         "unsigned": {{<unsigned token in base64 encoding>}},
         "signed": {{<signed token in base64 encoding>}}
       }
     ]
   }
   ```

### HSM でパブリックキーを登録する
<a name="mofn-register-key-chsm-cli"></a>

キーを作成した後、管理者はパブリックキーを AWS CloudHSM クラスターに登録する必要があります。

**HSM にパブリックキーの登録するには**

1. CloudHSM CLI を起動するには、次のコマンドを使用します。

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. CloudHSM CLI を使用して、管理者としてログインします。

   ```
   aws-cloudhsm > login --username {{<admin>}} --role admin
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "{{<admin>}}",
       "role": "admin"
     }
   }
   ```

1. **[CloudHSM CLI を使用してユーザーのトークン署名クォーラム戦略を登録する](cloudhsm_cli-user-chqm-token-reg.md)** コマンドを使用してパブリックキーを登録します。詳細については、次の例を参照するか、または **help user change-quorum token-sign register** コマンドを使用してください。

**Example – AWS CloudHSM クラスターにパブリックキーを登録する**  
以下の例では、CloudHSM CLI で **user change-quorum token-sign register** コマンドを使用して、管理者のパブリックキーを HSM に登録する方法を示しています。このコマンドを使用するには、管理者が HSM にログインしている必要があります。以下の値を自分の値に置き換えてください。  

```
aws-cloudhsm > user change-quorum token-sign register --public-key {{</path/admin.pub>}} --signed-token {{</path/tokenfile>}}
{
  "error_code": 0,
  "data": {
    "username": "admin",
    "role": "admin"
  }
}
```
**/path/admin.pub**: パブリックキー PEM ファイルへのファイルパス  
**必須:** はい  
**/path/tokenfile**: ユーザーのプライベートキーによって署名されたトークンを含むファイルパス  
**必須:** はい
すべての管理者がパブリックキーを登録すると、**user list** コマンドの出力のクォーラムフィールドには次のように表示され、有効になっているクォーラム戦略が使用中であることが示されます。  

```
aws-cloudhsm > user list
{
  "error_code": 0,
  "data": {
    "users": [
      {
        "username": "admin",
        "role": "admin",
        "locked": "false",
        "mfa": [],
        "quorum": [
          {
            "strategy": "token-sign",
            "status": "enabled"
          }
        ],
        "cluster-coverage": "full"
      },
      {
        "username": "admin2",
        "role": "admin",
        "locked": "false",
        "mfa": [],
        "quorum": [
          {
            "strategy": "token-sign",
            "status": "enabled"
          }
        ],
        "cluster-coverage": "full"
      },
      {
        "username": "admin3",
        "role": "admin",
        "locked": "false",
        "mfa": [],
        "quorum": [
          {
            "strategy": "token-sign",
            "status": "enabled"
          }
        ],
        "cluster-coverage": "full"
      },
      {
        "username": "admin4",
        "role": "admin",
        "locked": "false",
        "mfa": [],
        "quorum": [
          {
            "strategy": "token-sign",
            "status": "enabled"
          }
        ],
        "cluster-coverage": "full"
      },
      {
        "username": "app_user",
        "role": "internal(APPLIANCE_USER)",
        "locked": "false",
        "mfa": [],
        "quorum": [],
        "cluster-coverage": "full"
      }
    ]
  }
}
```
 この例では、 **user list** コマンドからの次の出力に示すように、 AWS CloudHSM クラスターには 2 つの HSMs があり、それぞれが同じ管理者を持ちます。ユーザー作成の詳細については、[CloudHSM CLI によるユーザー管理](manage-hsm-users-chsm-cli.md) を参照してください。

## ステップ 2. HSM のクォーラム最小値を設定する
<a name="quorum-admin-set-quorum-minimum-value-chsm-cli"></a>

クォーラム認証を使用するには、管理者が HSM にログインして*クォーラム最小値*を設定する必要があります。これは、HSM ユーザー管理オペレーションを実行するために必要な管理者承認の最小数です。HSM 上の任意の管理者は、署名用のキーを登録していない管理者を含むクォーラム最小値を設定できます。クォーラム最小値はいつでも変更できます。詳細については、「[最小値を変更](quorum-auth-chsm-cli-min-value.md)」を参照してください。

**HSM のクォーラム最小値の設定**

1. CloudHSM CLI を起動するには、次のコマンドを使用します。

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. CloudHSM CLI を使用して、管理者としてログインします。

   ```
   aws-cloudhsm > login --username {{<admin>}} --role admin
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "{{<admin>}}",
       "role": "admin"
     }
   }
   ```

1. クォーラム最小値を設定する場合、**[CloudHSM CLI でクォーラム値を更新する](cloudhsm_cli-qm-token-set-qm.md)** コマンドを使用します。`--service` フラグは、値を設定する対象の HSM サービスを指定します。詳細については、次の例を参照するか、または **help quorum token-sign set-quorum-value** コマンドを使用してください。

**Example HSM のクォーラム最小値を設定する**  
この例では、クォーラム最小値 2 を使用します。最大は HSM 上の管理者の合計数で、2 から 8 までの任意の値を選択できます。この例では、HSM には 4 人の管理者がいるため、設定可能な最大値は 4 です。  
次のコマンド例を使用するには、最後の数値 ({{<2>}}) を所望のフォーラム最小値に置き換えてください。  

```
aws-cloudhsm > quorum token-sign set-quorum-value --service user --value {{<2>}}
{
  "error_code": 0,
  "data": "Set quorum value successful"
}
```
この例では、**[CloudHSM CLI でクォーラム値を表示する](cloudhsm_cli-qm-token-list-qm.md)** コマンドは、サービスに含まれる HSM サービスのタイプ、名前、および説明を示しています。

## クォーラム最小値
<a name="cloudhsm_cli-qm-list-minimum"></a>

サービスのクォーラム最小値を取得するには、**quorum token-sign list-quorum-values** コマンドを使用します。

```
aws-cloudhsm > quorum token-sign list-quorum-values
{
  "error_code": 0,
  "data": {
    "user": 2,
    "quorum": 1
  }
}
```

前述の **quorum token-sign list-quorum-values** コマンドの出力は、ユーザー管理オペレーションを担当する HSM ユーザーサービスのクォーラム最小値が 2 になったことを示しています。これらのステップが完了したら、[クォーラムによるユーザー管理 (M of N)](quorum-auth-chsm-cli-admin.md) を参照してください。

**管理サービス**: クォーラム認証は、ユーザーの作成、ユーザーの削除、ユーザーパスワードの変更、クォーラム値の設定、クォーラム機能と MFA 機能の無効化などの管理者権限を持つサービスに使用されます。

**Crypto User サービス**: クォーラム認証は、特定のキーに関連する Crypt User の特権サービス (キーによる署名、キーの共有/共有解除)、キーのラッピング/ラップ解除、キー属性の設定など) に使用されます。関連付けられたキーのクォーラム値は、そのキーを生成、インポート、またはラップ解除する際に設定されます。クォーラム値は、そのキーが関連付けられているユーザー数 (キーが共有されているユーザーおよびキー所有者を含む) 以下である必要があります。

各サービスタイプはさらに適格なサービス名に分類されます。このサービス名には、実行可能なクォーラムがサポートする特定のサービスオペレーションのセットが含まれます。


****  

| サービス名 | サービスタイプ | サービスオペレーション | 
| --- | --- | --- | 
| ユーザー | 管理者 |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 
| quorum | 管理者 |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 
| cluster1 | 管理者 |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 
| キーの管理 | Crypto User |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 
| キーの用途 | Crypto User |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 

[1] クラスターサービスは hsm2m.medium でのみ利用できます