

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

# AWS CloudHSM クライアント SDK 5 ユーザーまたはポリシーに整合性のない値が含まれている
<a name="troubleshoot-sdk5-inconsistent-value"></a>

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

## 一貫性のないユーザー値を解決する
<a name="troubleshoot-sdk5-inconsistent-value-users"></a>

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

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

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


| プロパティに一貫性がありません | ユーザーリストの出力例 | 影響  | 復旧方法  | 
| --- | --- | --- | --- | 
| ユーザーの「役割」に「一貫性がない」 | <pre>{<br />"username": <br />"test_user",    <br />"role": "inconsistent",    <br />"locked": "false",    <br />"mfa": [],     <br />"cluster-coverage": "full"<br />}</pre> | このユーザーは、一部の HSM では CryptoUser であり、他の HSM では管理者です。これは、2 つの SDK が同じユーザーを、異なるロールで同時に作成しようとした場合に発生する可能性があります。このユーザーを削除し、目的のロールで再作成する必要があります。 |  1. 管理者としてログインします。<br />2.  すべての HSM のユーザーを削除します。 <br />**user delete --username **<user's name>** --role admin** <br />**user delete --username **<user's name>** --role crypto-user** <br />3.  目的のロールを持つユーザーを作成します。 <br />**user create --username **<user's name>** --role **<desired role>**** <br />****   | 
| ユーザーの「クラスターカバレッジ」は「一貫性がない」 | <pre>{<br />"username": "test_user",    <br />"role": "crypto-user",    <br />"locked": "false",    <br />"mfa": [],     <br />"cluster-coverage": "inconsistent"<br />}</pre> | このユーザーはクラスター内の HSM のサブセットに存在します。これは、**user create** が部分的に成功した場合や、**user delete** が部分的に成功した場合に発生する可能性があります。<br />このユーザーをクラスターから作成または削除して、前のオペレーションを完了する必要があります。 | ユーザーが存在しないはずの場合は、以下の手順に従ってください。1. 管理者としてログインします。<br />2. 次のコマンドを実行します。 <br />**user delete --username**<user's name>** --role admin** <br />3. 次のコマンドを実行します。 <br />**user delete --username**<user's name>** --role crypto-user** <br />そのユーザーが存在しているはずなら、以下の手順に従ってください。1. 管理者としてログインします。<br />2. 次のコマンドを実行します。 <br /> **user create --username **<user's name>** --role **<desired role>****   | 
| ユーザーの「ロック済み」パラメータが「不整合」または「true」です | <pre>{<br />"username": <br />"test_user",    <br />"role": "crypto-user",    <br />"locked": inconsistent,    <br />"mfa": [],     <br />"cluster-coverage": "full"<br />}</pre> | このユーザーは HSM のサブセットでロックアウトされています。<br />これは、ユーザーが間違ったパスワードを使用し、クラスター内の HSM のサブセットにのみ接続した場合に発生する可能性があります。<br />クラスター全体で一貫性を持たせるには、ユーザーの認証情報を変更する必要があります。 | ユーザーが MFA を有効にしている場合は、以下の手順で行います。1. 管理者としてログインします。<br />2. 次のコマンドを実行して、MFA を一時的に無効にします。 <br /> **user change-mfa token-sign --username **<user's name>** --role **<desired role>** --disable**  <br />3. すべての HSM にログインできるようにユーザーのパスワードを変更します。 <br /> **user change-password --username **<user's name>** --role **<desired role>****  <br />ユーザーの MFA を有効にする必要がある場合は、以下の手順で行います。1. ユーザーにログインして MFA を再度有効にしてもらいます (その場合、ユーザーはトークンに署名し、パブリックキーを PEM ファイルに提供する必要があります)。 <br /> **user change-mfa token-sign --username **<user's name>** --role **<desired role>** —token <File>**   | 
| MFA のステータスが「不整合」 | <pre>{    <br />"username": "test_user",    <br />"role": "crypto-user",    <br />"locked": "false",    <br />"mfa": [<br />  {            <br />   "strategy": "token-sign",<br />   "status": "inconsistent"<br />   }    <br />],     <br />"cluster-coverage": "full"<br />}</pre> | このユーザーは、クラスター内の HSM ごとに異なる MFA フラグを持っています。<br />これは、MFA オペレーションが HSM のサブセットでのみ完了した場合に発生する可能性があります。<br />ユーザーのパスワードをリセットし、MFA を再度有効にできるようにする必要があります。 | ユーザーが MFA を有効にしている場合は、以下の手順で行います。1. 管理者としてログインします。<br />2. 次のコマンドを実行して、MFA を一時的に無効にします。 <br /> **user change-mfa token-sign --username **<user's name>** --role **<desired role>** --disable**  <br />3.  また、ユーザーがすべての HSM にログインできるように、ユーザーのパスワードを変更する必要があります。 <br /> **user change-password --username **<user's name>** --role **<desired role>****  <br />ユーザーの MFA を有効にする必要がある場合は、以下の手順で行います。1. ユーザーにログインして MFA を再度有効にしてもらいます (その場合、ユーザーはトークンに署名し、パブリックキーを PEM ファイルに提供する必要があります)。 <br /> **user change-mfa token-sign --username **<user's name>** --role **<desired role>** —token <File>**   | 

## 一貫性のない mTLS ポリシー値を解決する
<a name="troubleshoot-sdk5-inconsistent-value-policies"></a>

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

### mTLS トラストアンカーの同期を確認する
<a name="troubleshoot-sdk5-inconsistent-mtls-trust-anchors"></a>

**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](getting-started-setup-mtls.md)」を参照してください。