客户端软件开发工具包 5 用户包含不一致的值 - AWS CloudHSM

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

客户端软件开发工具包 5 用户包含不一致的值

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

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

注意

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

不一致的属性 用户列表的示例输出 影响 恢复方法
用户 "role" 为 "inconsistent"
{ "username": "test_user", "role": "inconsistent", "locked": "false", "mfa": [], "cluster-coverage": "full" }
此用户 CryptoUser 在某些 HSM 上是管理员,在其他 HSM 上是管理员。如果两个 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>

用户 "cluster-coverage" 为 "inconsistent"
{ "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>

用户 "locked" 参数为 "inconsistent" 或 "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 状态为 "inconsistent"
{ "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>