我的 AWS CloudHSM 集群的 cloudhsm_mgmt_util 命令行工具返回了类似于下文的错误:
RET_MXN_AUTH_FAILED
我如何解决此问题?
简短描述
此错误表明未提供 N 个身份验证中的 M 个。N 个中的 M 个是一种基于群体的身份验证,即至少必须有 2 个用户对某个令牌签名才能运行命令。这可确保单个用户无法导致 CloudHSM 集群出现不正确的活动。有关更多信息,请参阅管理群体身份验证(N 中的 M 个访问控制)。
listUsers 命令显示 MofnPubKey 的值被设置为 NO。
aws-cloudhsm>aws-cloudhsm>listUsers
Users on server 0(172.31.21.34):
Number of users found:6
User Id User Type User Name MofnPubKey LoginFailureCnt 2FA
1 CO admin NO 0 NO
2 AU app_user NO 0 NO
3 CU cryptouser NO 0 NO
4 CO admin1 NO 0 NO
5 CO palmep NO 0 NO
6 CU user1 NO 0 NO
这表示没有用户具有可以签署仲裁令牌的公有密钥。CO(加密管理者)用户必须使用 registerMofnPubKey 命令为 CloudHSM 集群注册该公有密钥。有关更多信息,请参阅创建并注册签名密钥。
解决方法
在 CloudHSM 集群上运行 getMValue 命令。使用参数 3 指示命令的值位于服务 3 下。操作将使用 createuser、deleteUser 和 changePswd 命令。
aws-cloudhsm>getMValue 3
MValue of service 3[USER_MGMT] on server 0 : [2]
MValue of service 3[USER_MGMT] on server 1 : [2]
在此例中,集群的 HSM 服务器的值为 2。此值不能低于 2,不过值可以提升。如果意外启用了此值,您可以从较早的 CloudHSM 集群备份恢复此值。要解决此问题,您必须使用 getMValue 中指定的用户数创建并注册一个非对称密钥。然后,您必须根据 getMValue 中指定的用户数检索并签署群体令牌。有关说明,请参阅使用面向加密管理者的群体身份验证:首次设置。