本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS CloudHSM 客户端 SDK 5 用户或策略包含不一致的值
AWS CloudHSM 不会自动同步集群中 HSM 上的用户或策略(例如 mTLS 设置)。CloudHSM CLI 会尽力在各个 HSM 之间同步这些操作,但仍可能出现不一致的情况。本页介绍如何识别和解决用户和策略的不一致之处。
解决用户值不一致的问题
AWS CloudHSM Client SDK 5 中的user list命令会返回集群中所有用户和用户属性的列表。如果用户的任何属性的值为 “不一致”,则该用户不会在您的集群中同步。这意味着该用户在集群中的不同 HSM 上具有不同的属性。根据不一致的属性,可以采取不同的修复步骤。
下表包括解决单个用户不一致问题的步骤。如果单个用户存在多个不一致之处,请从上到下按照以下步骤解决这些问题。如果有多个用户存在不一致之处,请为每个用户仔细阅读此列表,完全解决一位用户的不一致之处,然后再继续下一步。
注意
要执行这些步骤,理想情况下,您应该以管理员身份登录。如果您的管理员帐户不一致,请以管理员身份登录执行以下步骤,然后重复这些步骤,直到所有属性都一致为止。管理员帐户保持一致后,您可以继续使用该管理员帐户来同步集群中的其他用户。
| 不一致的属性 | 用户列表的示例输出 | 影响 | 恢复方法 |
|---|---|---|---|
| 用户 "role" 为 "inconsistent" |
|
此用户 CryptoUser 在某些 HSM 上是管理员,在其他 HSM 上是管理员。如果两个 SDK 尝试同时创建具有不同角色的同一个用户,则会发生这种情况。您必须移除此用户,然后使用所需的角色重新创建该用户。 |
|
| 用户 "cluster-coverage" 为 "inconsistent" |
|
此用户存在于集群中 HSM 的子集上。如果 user create 部分成功或 user delete 部分成功,则可能发生这种情况。 您必须完成之前的操作,即在集群中创建或删除此用户。 |
如果用户不应该存在,请按照以下步骤操作:
如果用户应该存在,请按照以下步骤操作:
|
| 用户 "locked" 参数为 "inconsistent" 或 "true" |
|
该用户在 HSM 的某个子集中被锁定。 如果用户使用了错误的密码并且只连接到集群中 HSM 的某个子集,则可能会发生这种情况。 您必须更改用户的凭证,使这些凭证在整个集群中保持一致。 |
如果用户已激活 MFA,请按照以下步骤操作:
如果用户应激活 MFA,请按照以下步骤操作:
|
| MFA 状态为 "inconsistent" |
|
此用户在集群中的不同 HSM 上具有不同的 MFA 标记。 如果 MFA 操作仅在 HSM 的某个子集中完成,则可能会发生这种情况。 您必须重置用户密码,并允许他们重新启用 MFA。 |
如果用户已激活 MFA,请按照以下步骤操作:
如果用户应激活 MFA,请按照以下步骤操作:
|
解决不一致的 mTLS 保单价值问题
与用户一样,mTLS 策略(信任锚点和强制执行级别)不会在 HSM 之间自动同步。当您运行 mTLS 命令时,CloudHSM CLI 会尽力进行同步,但仍可能出现不一致的情况。您可以使用以下命令检查 mTLS 配置的同步状态。
检查 mTLS 信任锚点同步
运行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。