翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
以下のトピックでは、 AWS CloudHSM 管理者がクォーラム認証を使用できるように、ハードウェアセキュリティモジュール (HSM) を設定するために完了する必要があるステップについて説明します。管理者のクォーラム認証を最初に設定する場合に、これらのステップを 1 回だけ実行する必要があります。これらのステップが完了したら、CloudHSM CLI AWS CloudHSM を使用するためのクォーラム認証を有効にしたユーザー管理 を参照してください。
前提条件
この例を理解するには、CloudHSM CLI についての知識が必要です。
ステップ 1. 署名のためのキーの作成と登録
クォーラム認証を使用する場合、各管理者が以下のすべてのステップを実行する必要があります。
RSA キーペアの作成
様々なキーペアを作成、保護する方法があります。次の例では、OpenSSL
例 — OpenSSL でプライベートキーを作成する
次の例は、OpenSSL を使用して 2048 ビット RSA キーを作成する方法を示しています。この例を使用するには、<admin.key>
を、キーの保存先のファイル名に置き換えてください。
$
openssl genrsa -out
<admin.key>
Generating RSA private key, 2048 bit long modulus .....................................+++ .+++ e is 65537 (0x10001)
次に、作成したプライベートキーを使用してパブリックキーを生成します。
例 — OpenSSL でパブリックキーを作成する
以下の例は、OpenSSL を使用して先ほど作成したプライベートキーからパブリックキーを作成する方法を示しています。
$
openssl rsa -in admin.key -outform PEM -pubout -out admin1.pub
writing RSA key
登録トークンの作成と署名
トークンを作成し、前のステップで生成したプライベートキーを使用して署名します。
例 – 登録トークンの作成と署名
-
CloudHSM CLI を起動するには、次のコマンドを使用します。
$
/opt/cloudhsm/bin/cloudhsm-cli interactive
-
quorum token-sign generate コマンドを実行して登録トークンを作成します。
aws-cloudhsm >
quorum token-sign generate --service registration --token /path/tokenfile
{ "error_code": 0, "data": { "path": "/path/tokenfile" } }
-
quorum token-sign generate コマンドは、指定されたファイルパスに登録トークンを生成します。トークンファイルを調査します。
$
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 2048 ビットのプライベートキーを使用した、署名されていないトークンの base64 でエンコードされた署名付きトークン (署名)。
プライベートキーを使用して署名なしトークンに署名し、プライベートキーへのアクセス権があることを示します。管理者をクォーラムユーザーとして AWS CloudHSM クラスターに登録するには、登録トークンファイルに署名とパブリックキーが完全に入力されている必要があります。
例 – 署名なし登録トークンへ署名する
base64 でエンコードされた署名なしトークンをデコードし、バイナリファイルに入れます。
$
echo -n '6BMUj6mUjjko6ZLCEdzGlWpR5sILhFJfqhW1ej3Oq1g=' | base64 -d > admin.bin
OpenSSL とプライベートキーを使用して現在の署名なしバイナリ登録トークンに署名し、バイナリ署名ファイルを作成します。
$
openssl pkeyutl -sign \ -inkey admin.key \ -pkeyopt digest:sha256 \ -keyform PEM \ -in admin.bin \ -out admin.sig.bin
-
バイナリ署名を base64 にエンコードします。
$
base64 -w0 admin.sig.bin > admin.sig.b64
-
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 でパブリックキーを登録する
キーを作成した後、管理者はパブリックキーを AWS CloudHSM クラスターに登録する必要があります。
HSM にパブリックキーの登録するには
-
CloudHSM CLI を起動するには、次のコマンドを使用します。
$
/opt/cloudhsm/bin/cloudhsm-cli interactive
-
CloudHSM CLI を使用して、管理者としてログインします。
aws-cloudhsm >
login --username admin --role admin
Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } } -
CloudHSM CLI を使用してユーザーのトークン署名クォーラム戦略を登録する コマンドを使用してパブリックキーを登録します。詳細については、次の例を参照するか、または help user change-quorum token-sign register コマンドを使用してください。
例 – 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 によるユーザー管理
ステップ 2. HSM のクォーラム最小値を設定する
クォーラム認証を使用するには、管理者が HSM にログインしてクォーラム最小値を設定する必要があります。これは、HSM ユーザー管理オペレーションを実行するために必要な管理者承認の最小数です。HSM 上の任意の管理者は、署名用のキーを登録していない管理者を含むクォーラム最小値を設定できます。クォーラム最小値はいつでも変更できます。詳細については、「最小値を変更」を参照してください。
HSM のクォーラム最小値の設定
-
CloudHSM CLI を起動するには、次のコマンドを使用します。
$
/opt/cloudhsm/bin/cloudhsm-cli interactive
-
CloudHSM CLI を使用して、管理者としてログインします。
aws-cloudhsm >
login --username admin --role admin
Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } } -
クォーラム最小値を設定する場合、CloudHSM CLI でクォーラム値を更新する コマンドを使用します。
--service
フラグは、値を設定する HSM サービスを識別します。詳細については、次の例を参照するか、 help quorum token-sign set-quorum-value コマンドを使用します。
例 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 でクォーラム値を表示する コマンドは、サービスに含まれる HSM サービスタイプ、名前、および説明を一覧表示します。
クォーラム最小値
サービスのクォーラム最小値を取得するには、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) を参照してください。
管理サービス: クォーラム認証は、ユーザーの作成、ユーザーの削除、ユーザーパスワードの変更、クォーラム値の設定、クォーラム機能と MFA 機能の無効化などの管理者権限を持つサービスに使用されます。
Crypto User Services: クォーラム認証は、キーを使用した署名、キーの共有/共有解除、キーのラップ/ラップ解除、キーの 属性の設定など、特定のキーに関連付けられた暗号化ユーザー特権サービスに使用されます。関連付けられたキーのクォーラム値は、キーが生成、インポート、またはラップ解除されるときに設定されます。クォーラム値は、キーが関連付けられているユーザーの数以下である必要があります。これには、キーが共有されているユーザーとキー所有者が含まれます。
各サービスタイプはさらに適格なサービス名に分類されます。このサービス名には、実行可能なクォーラムがサポートする特定のサービスオペレーションのセットが含まれます。
サービス名 | サービスタイプ | サービスオペレーション |
---|---|---|
ユーザー | 管理者 |
|
quorum | 管理者 |
|
cluster1 | 管理者 |
|
キー管理 | Crypto ユーザー |
|
キーの使用 | Crypto ユーザー |
|
[1] クラスターサービスは hsm2m.medium でのみ利用できます