AWS CloudHSM クラスターの cloudhsm_mgmt_util コマンドラインツールで「RET_MXN_AUTH_FAILED」というエラーが返されました。
簡単な説明
RET\ _MXN\ _AUTH\ _FAILED エラーは、クォーラム認証 (M of N アクセスコントロールとも呼ばれる) を指定しない場合に発生します。クォーラム認証を使用してコマンドを実行するには、少なくとも 2 人のユーザーがトークンに署名する必要があります。クォーラム認証により、1 人のユーザーが CloudHSM クラスターで誤ったアクティビティを引き起こすことがなくなります。
この例では、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
**MofNPubKey ** 値が NO に設定されている場合、ユーザーはクォーラムトークンに署名できる公開鍵を持っていません。公開鍵を登録するには、Crypto Officer (CO) が CloudHSM クラスターの **registerMofNPubKey ** コマンドを実行する必要があります。
解決方法
CloudHSM クラスターで getMValue コマンドを実行します。パラメーター 3 を使用して、サービス 3 でコマンドの値を指定します。この操作では、createuser、deleteUser、changePswdを使用します。
aws-cloudhsm>getMValue 3MValue 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 で指定されたユーザーにトークンに署名してもらいます。手順については、「Using quorum authentication for crypto officers: first-time setup」を参照してください。