View a markdown version of this page

AWS CloudHSM クライアント SDK 5 ユーザーまたはポリシーに整合性のない値が含まれている - AWS CloudHSM

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

AWS CloudHSM クライアント SDK 5 ユーザーまたはポリシーに整合性のない値が含まれている

AWS CloudHSM は、クラスター内の HSMs 間でユーザーまたはポリシー (mTLS 設定など) を自動的に同期しません。CloudHSM CLI はHSMs 間でこれらのオペレーションのベストエフォート同期を実行しますが、不整合が発生する可能性があります。このページでは、ユーザーとポリシーの両方の不整合を特定して解決する方法について説明します。

一貫性のないユーザー値を解決する

AWS CloudHSM Client SDK 5 の user list コマンドは、クラスター内のすべてのユーザーとユーザープロパティのリストを返します。ユーザーのプロパティのいずれかに「不整合」という値がある場合、このユーザーはクラスター間で同期されません。つまり、そのユーザーはクラスター内の異なる HSM に異なるプロパティで存在することになります。どのプロパティに一貫性がないかによって、異なる修復手順を取ることができます。

以下の表には、1 人のユーザーの不整合を解決する手順が記載されています。1 人のユーザーに複数の不整合がある場合は、以下の手順を上から順に実行して解決してください。不整合があるユーザーが複数いる場合は、ユーザーごとにこのリストを確認し、そのユーザーの不整合を完全に解決してから次のユーザーに進みます。

注記

これらの手順を実行するには、管理者としてログインするのが理想的です。管理者アカウントに一貫性がない場合は、管理者にログインし、すべてのプロパティが一致するまで手順を繰り返してください。管理者アカウントの一貫性が保たれたら、その管理者を使用してクラスター内の他のユーザーを同期できます。

プロパティに一貫性がありません ユーザーリストの出力例 影響 復旧方法
ユーザーの「役割」に「一貫性がない」
{ "username": "test_user", "role": "inconsistent", "locked": "false", "mfa": [], "cluster-coverage": "full" }
このユーザーは、一部の HSM では CryptoUser であり、他の HSM では管理者です。これは、2 つの SDK が同じユーザーを、異なるロールで同時に作成しようとした場合に発生する可能性があります。このユーザーを削除し、目的のロールで再作成する必要があります。
  1. 管理者としてログインします。

  2. すべての HSM のユーザーを削除します。

    user delete --username <user's name> --role admin

    user delete --username <user's name> --role crypto-user

  3. 目的のロールを持つユーザーを作成します。

    user create --username <user's name> --role <desired role>

ユーザーの「クラスターカバレッジ」は「一貫性がない」
{ "username": "test_user", "role": "crypto-user", "locked": "false", "mfa": [], "cluster-coverage": "inconsistent" }

このユーザーはクラスター内の HSM のサブセットに存在します。これは、user create が部分的に成功した場合や、user delete が部分的に成功した場合に発生する可能性があります。

このユーザーをクラスターから作成または削除して、前のオペレーションを完了する必要があります。

ユーザーが存在しないはずの場合は、以下の手順に従ってください。

  1. 管理者としてログインします。

  2. 次のコマンドを実行します。

    user delete --username<user's name> --role admin

  3. 次のコマンドを実行します。

    user delete --username<user's name> --role crypto-user

そのユーザーが存在しているはずなら、以下の手順に従ってください。

  1. 管理者としてログインします。

  2. 次のコマンドを実行します。

    user create --username <user's name> --role <desired role>

ユーザーの「ロック済み」パラメータが「不整合」または「true」です
{ "username": "test_user", "role": "crypto-user", "locked": inconsistent, "mfa": [], "cluster-coverage": "full" }

このユーザーは HSM のサブセットでロックアウトされています。

これは、ユーザーが間違ったパスワードを使用し、クラスター内の HSM のサブセットにのみ接続した場合に発生する可能性があります。

クラスター全体で一貫性を持たせるには、ユーザーの認証情報を変更する必要があります。

ユーザーが MFA を有効にしている場合は、以下の手順で行います。

  1. 管理者としてログインします。

  2. 次のコマンドを実行して、MFA を一時的に無効にします。

    user change-mfa token-sign --username <user's name> --role <desired role> --disable

  3. すべての HSM にログインできるようにユーザーのパスワードを変更します。

    user change-password --username <user's name> --role <desired role>

ユーザーの MFA を有効にする必要がある場合は、以下の手順で行います。

  1. ユーザーにログインして MFA を再度有効にしてもらいます (その場合、ユーザーはトークンに署名し、パブリックキーを PEM ファイルに提供する必要があります)。

    user change-mfa token-sign --username <user's name> --role <desired role> —token <File>

MFA のステータスが「不整合」
{ "username": "test_user", "role": "crypto-user", "locked": "false", "mfa": [ { "strategy": "token-sign", "status": "inconsistent" } ], "cluster-coverage": "full" }

このユーザーは、クラスター内の HSM ごとに異なる MFA フラグを持っています。

これは、MFA オペレーションが HSM のサブセットでのみ完了した場合に発生する可能性があります。

ユーザーのパスワードをリセットし、MFA を再度有効にできるようにする必要があります。

ユーザーが MFA を有効にしている場合は、以下の手順で行います。

  1. 管理者としてログインします。

  2. 次のコマンドを実行して、MFA を一時的に無効にします。

    user change-mfa token-sign --username <user's name> --role <desired role> --disable

  3. また、ユーザーがすべての HSM にログインできるように、ユーザーのパスワードを変更する必要があります。

    user change-password --username <user's name> --role <desired role>

ユーザーの MFA を有効にする必要がある場合は、以下の手順で行います。

  1. ユーザーにログインして MFA を再度有効にしてもらいます (その場合、ユーザーはトークンに署名し、パブリックキーを PEM ファイルに提供する必要があります)。

    user change-mfa token-sign --username <user's name> --role <desired role> —token <File>

一貫性のない mTLS ポリシー値を解決する

ユーザーと同様に、mTLS ポリシー (信頼アンカーとエンフォースメントレベル) は HSMs 間で自動的に同期されません。CloudHSM CLI は、mTLS コマンドを実行するときにベストエフォート同期を実行しますが、不整合が発生する可能性があります。次のコマンドを使用して、mTLS 設定の同期ステータスを確認できます。

mTLS トラストアンカーの同期を確認する

cluster mtls list-trust-anchors コマンドを実行して、トラストアンカーの同期ステータスを確認します。出力では、各トラストアンカーに cluster-coverageフィールドがあります。値が「フルHSMs に存在します。値が「フルHSMs 間で同期されません。

{ "error_code": 0, "data": { "trust_anchors": [ { "certificate-reference": "0x01", "certificate": "<PEM Encoded Certificate>", "cluster-coverage": "full" } ] } }

トラストアンカーのクラスターカバレッジが一貫していない場合は、登録または登録解除コマンドを再実行してオペレーションを完了します。

  • 一部の HSMs:

    cluster mtls register-trust-anchor --path <path-to-certificate>

  • 削除する必要があるトラストアンカーの登録解除を完了するには:

    cluster mtls deregister-trust-anchor --certificate-reference <certificate-reference>

mTLS の設定の詳細については、「クライアントと 間の相互 TLS の設定 AWS CloudHSM」を参照してください。