

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# AWS CloudHSM 客户端 SDK 5 用户或策略包含不一致的值
<a name="troubleshoot-sdk5-inconsistent-value"></a>

AWS CloudHSM 不会自动同步集群中 HSM 上的用户或策略（例如 mTLS 设置）。CloudHSM CLI 会尽力在各个 HSM 之间同步这些操作，但仍可能出现不一致的情况。本页介绍如何识别和解决用户和策略的不一致之处。

## 解决用户值不一致的问题
<a name="troubleshoot-sdk5-inconsistent-value-users"></a>

 AWS CloudHSM Client SDK 5 中的`user list`命令会返回集群中所有用户和用户属性的列表。如果用户的任何属性的值为 “**不一致**”，则该用户不会在您的集群中同步。这意味着该用户在集群中的不同 HSM 上具有不同的属性。根据不一致的属性，可以采取不同的修复步骤。

 下表包括解决单个用户不一致问题的步骤。如果单个用户存在多个不一致之处，请从上到下按照以下步骤解决这些问题。如果有多个用户存在不一致之处，请为每个用户仔细阅读此列表，完全解决一位用户的不一致之处，然后再继续下一步。

**注意**  
要执行这些步骤，理想情况下，您应该以管理员身份登录。如果您的管理员帐户不一致，请以管理员身份登录执行以下步骤，然后重复这些步骤，直到所有属性都一致为止。管理员帐户保持一致后，您可以继续使用该管理员帐户来同步集群中的其他用户。


| 不一致的属性 | 用户列表的示例输出 | 影响  | 恢复方法  | 
| --- | --- | --- | --- | 
| 用户 "role" 为 "inconsistent" | <pre>{<br />"username": <br />"test_user",    <br />"role": "inconsistent",    <br />"locked": "false",    <br />"mfa": [],     <br />"cluster-coverage": "full"<br />}</pre> | 此用户 CryptoUser 在某些 HSM 上是管理员，在其他 HSM 上是管理员。如果两个 SDK 尝试同时创建具有不同角色的同一个用户，则会发生这种情况。您必须移除此用户，然后使用所需的角色重新创建该用户。 |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/cloudhsm/latest/userguide/troubleshoot-sdk5-inconsistent-value.html)  | 
| 用户 "cluster-coverage" 为 "inconsistent" | <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 />您必须完成之前的操作，即在集群中创建或删除此用户。 | 如果用户不应该存在，请按照以下步骤操作：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/cloudhsm/latest/userguide/troubleshoot-sdk5-inconsistent-value.html)<br />如果用户应该存在，请按照以下步骤操作：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/cloudhsm/latest/userguide/troubleshoot-sdk5-inconsistent-value.html) | 
| 用户 "locked" 参数为 "inconsistent" 或 "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，请按照以下步骤操作：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/cloudhsm/latest/userguide/troubleshoot-sdk5-inconsistent-value.html)<br />如果用户应激活 MFA，请按照以下步骤操作：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/cloudhsm/latest/userguide/troubleshoot-sdk5-inconsistent-value.html) | 
| MFA 状态为 "inconsistent" | <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，请按照以下步骤操作：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/cloudhsm/latest/userguide/troubleshoot-sdk5-inconsistent-value.html)<br />如果用户应激活 MFA，请按照以下步骤操作：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/cloudhsm/latest/userguide/troubleshoot-sdk5-inconsistent-value.html) | 

## 解决不一致的 mTLS 保单价值问题
<a name="troubleshoot-sdk5-inconsistent-value-policies"></a>

与用户一样，mTLS 策略（信任锚点和强制执行级别）不会在 HSM 之间自动同步。当您运行 mTLS 命令时，CloudHSM CLI 会尽力进行同步，但仍可能出现不一致的情况。您可以使用以下命令检查 mTLS 配置的同步状态。

### 检查 mTLS 信任锚点同步
<a name="troubleshoot-sdk5-inconsistent-mtls-trust-anchors"></a>

运行**cluster mtls list-trust-anchors**命令以检查您的信任锚的同步状态。在输出中，每个信任锚都有一个`cluster-coverage`字段。如果值为 “f **ull**”，则所有 HSM 上都存在信任锚点。如果该值不是 “full”，则不会在集群中的所有 HSM 之间同步信任锚点。

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

如果信任锚的集群覆盖范围不一致，请重新运行注册或取消注册命令以完成操作：
+ 要完成某些 HSM 中缺少的信任锚的注册，请执行以下操作：

  **cluster mtls register-trust-anchor --path **<path-to-certificate>****
+ 要完成对应移除的信任锚的注销，请执行以下操作：

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

有关设置 mTLS 的更多信息，请参阅在[客户端和 AWS CloudHSM之间设置双向 TLS](getting-started-setup-mtls.md)。