

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 CloudHSM CLI 管理 HSM 使用者的 MFA
<a name="login-mfa-token-sign"></a>

為了提高安全性，您可以為使用者設定多重驗證 (MFA)，以協助保護 AWS CloudHSM 叢集。

當您使用啟用 MFA 的硬體安全模組 (HSM) 使用者帳戶登入叢集時，您會向 CloudHSM CLI 提供密碼，這是您所知的第一個因素，而 CloudHSM CLI 會為您提供權杖，並提示您簽署權杖。

如要提供第二個要素 (您擁有的)，請使用您已經建立並與 HSM 使用者相關聯的金錀對中的私有金鑰來簽署權杖。如要訪問叢集，請將已簽署的權杖提供給 CloudHSM CLI。

如需為使用者設定 MFA 的詳細資訊，請參閱 [為 CloudHSM CLI 設定 MFA](set-up-mfa-for-cloudhsm-cli.md)

下列主題提供在 中使用規定人數身分驗證的詳細資訊 AWS CloudHSM。

**Topics**
+ [配額身分驗證](quorum-mfa-cloudhsm-cli.md)
+ [金鑰對要求](mfa-key-pair-cloudhsm-cli.md)
+ [設定 MFA](set-up-mfa-for-cloudhsm-cli.md)
+ [建立使用者](create-mfa-users-cloudhsm-cli.md)
+ [登入使用者](login-mfa-cloudhsm-cli.md)
+ [輪換金鑰](rotate-mfa-cloudhsm-cli.md)
+ [取消註冊 MFA 公有金鑰](deregister-mfa-cloudhsm-cli.md)
+ [權杖檔案參考](reference-mfa-cloudhsm-cli.md)

# 使用 CloudHSM CLI 的 AWS CloudHSM 叢集中的配額身分驗證和 MFA
<a name="quorum-mfa-cloudhsm-cli"></a>

 AWS CloudHSM 叢集使用相同的金鑰進行規定人數身分驗證和多重要素驗證 (MFA)。這表示已啟用 MFA 的使用者已有效註冊 MofN 或規定人數存取控制。如要為同一 HSM 使用者成功使用 MFA 和規定人數驗證，請考慮下列幾點：
+ 如果您今天要為使用者使用規定人數驗證，則應使用您為規定人數使用者建立的同一個金錀對來為該使用者啟用 MFA。
+ 如果您為非規定人數身分驗證使用者的非 MFA 使用者新增 MFA 要求，則會將該使用者註冊為使用 MFA 身分驗證的規定人數 (MofN) 註冊使用者。
+ 如果您要為兼具規定人數驗證使用者身分的 MFA 使用者移除 MFA 要求或變更其密碼，您也會同時移除規定人數使用者作為規定人數 (MofN) 使用者的註冊。
+ 如果您要為兼具規定人數驗證使用者身分的 MFA 使用者移除 MFA 要求或變更其密碼，但*仍想保留該使用者的規定人數驗證*，則您須將該使用者註冊為規定人數 (MofN) 使用者。

如需規定人數驗證的詳細資訊，請參閱 [管理規定人數身分驗證 (M 為 N)](quorum-auth-chsm-cli.md)。

# AWS CloudHSM 使用 CloudHSM CLI 的 MFA 金鑰對需求
<a name="mfa-key-pair-cloudhsm-cli"></a>

若要在 中為硬體安全模組 (HSM) 使用者啟用多重要素驗證 (MFA) AWS CloudHSM，您可以建立新的金鑰對，或使用符合下列要求的現有金鑰：
+ **金鑰類型：**非對稱金錀
+ **金鑰用途：**簽署和驗證
+ **金鑰規格：**RSA\$12048
+ **簽名算法包括：**sha256WithRSAEncryption

**注意**  
如果您正在使用規定人數驗證或計劃使用法定驗證，請參閱 [使用 CloudHSM CLI 的 AWS CloudHSM 叢集中的配額身分驗證和 MFA](quorum-mfa-cloudhsm-cli.md)

您可以使用 CloudHSM CLI 和金錀對來建立已啟用 MFA 的新管理員使用者。

# 為 CloudHSM CLI 設定 MFA
<a name="set-up-mfa-for-cloudhsm-cli"></a>

請依照下列步驟設定 CloudHSM CLI 的多重要素驗證 (MFA)。

1. 如要使用字符簽署策略設定 MFA，您必須先產生 2048 位元的 RSA 私有錦綸和關聯的公有金錀。

   ```
   $ openssl genrsa -out officer1.key 2048
   Generating RSA private key, 2048 bit long modulus (2 primes)
   ...........................................................+++++
   ....................................................................+++++
   e is 65537 (0x010001)
   
   $ openssl rsa -in officer1.key -outform PEM -pubout -out officer1.pub
   writing RSA key
   ```

1. 在互動式模式中輸入下列命令啟動 CLI。

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. 使用 CloudHSM CLI 登入您的使用者帳戶。

   ```
   aws-cloudhsm > login --username <admin> --role <admin> --cluster-id <cluster ID>
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<admin>",
       "role": "<admin>"
     }
   }
   ```

1. 接下來，執行命令以變更 MFA 策略。您必須提供參數 `--token`。此參數指定將寫入未簽署權杖的檔案。

   ```
   aws-cloudhsm > user change-mfa token-sign --token unsigned-tokens.json --username <username> --role crypto-user --change-quorum
   Enter password:
   Confirm password:
   ```

1. 您現在有一個包含需要簽署但還未簽署權杖的檔案：`unsigned-tokens.json`。此檔案中的權杖數量取決於叢集中的 HSM 數目。每個權杖代表一個 HSM。這個檔案是 JSON 格式，包含需要簽署以證明您擁有私有金錀的權杖。

   ```
   $ cat unsigned-tokens.json
   {
     "version": "2.0",
     "tokens": [
   {
       {
         "unsigned": "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=",
         "signed": ""
       },
       {
         "unsigned": "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=",
         "signed": ""
       },
       {
         "unsigned": "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=",
         "signed": ""
       }
     ]
   }
   ```

1. 接下來，使用步驟 1 中建立的私有金錀來簽署這些權杖。將簽署的權杖放回檔案中。首先，您必須擷取和解碼 base64 編碼的權杖。

   ```
   $ echo "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=" > token1.b64
   $ echo "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=" > token2.b64
   $ echo "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=" > token3.b64
   $ base64 -d token1.b64 > token1.bin
   $ base64 -d token2.b64 > token2.bin
   $ base64 -d token3.b64 > token3.bin
   ```

1. 現在，您擁有了可以使用步驟 1 中建立的 RSA 私有金錀進行簽署的二進位權杖。

   ```
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token1.bin \
         -out token1.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token2.bin \
         -out token2.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token3.bin \
         -out token3.sig.bin
   ```

1. 現在，您有字符的二進位簽章。您必須使用 base64 進行編碼，然後將它們放回權杖檔案中。

   ```
   $ base64 -w0 token1.sig.bin > token1.sig.b64
   $ base64 -w0 token2.sig.bin > token2.sig.b64 
   $ base64 -w0 token3.sig.bin > token3.sig.b64
   ```

1. 最後，您可以將 base64 值複製並粘貼回權杖檔案中：

   ```
   {
     "version": "2.0",
     "tokens": [
       {
         "unsigned": "1jqwxb9bJOUUQLiNb7mxXS1uBJsEXh0B9nj05BqnPsE=",
         "signed": "eiw3fZeCKIY50C4zPeg9Rt90M1Qlq3WlJh6Yw7xXm4nF6e9ETLE39+9M+rUqDWMRZjaBfaMbg5d9yDkz5p13U7ch2tlF9LoYabsWutkT014KRq/rcYMvFsU9n/Ey/TK0PVaxLN42X+pebV4juwMhN4mK4CzdFAJgM+UGBOj4yB9recpOBB9K8QFSpJZALSEdDgUc/mS1eDq3rU0int6+4NKuLQjpR+LSEIWRZ6g6+MND2vXGskxHjadCQ09L7Tz8VcWjKDbxJcBiGKvkqyozl9zrGo8fA3WHBmwiAgS61Merx77ZGY4PFR37+j/YMSC14prCN15DtMRv2xA1SGSb4w=="
       },
       {
         "unsigned": "LMMFc34ASPnvNPFzBbMbr9FProS/Zu2P8zF/xzk5hVQ=",
         "signed": "HBImKnHmw+6R2TpFEpfiAg4+hu2pFNwn43ClhKPkn2higbEhUD0JVi+4MerSyvU/NN79iWVxDvJ9Ito+jpiRQjTfTGEoIteyuAr1v/Bzh+HjmrO53OQpZaJ/VXGIgApD0myuu/ZGNKQTCSkkL7+V81FG7yR1Nm22jUeGa735zvm/E+cenvZdy0VVx6A7WeWrl3JEKKBweHbi+7BwbaW+PTdCuIRd4Ug76Sy+cFhsvcG1k7cMwDh8MgXzIZ2m1f/hdy2j8qAxORTLlmwyUOYvPYOvUhc+s83hx36QpGwGcD7RA0bPT5OrTx7PHd0N1CL+Wwy91We8yIOFBS6nxo1R7w=="
       },
       {
         "unsigned": "dzeHbwhiVXQqcUGj563z51/7sLUdxjL93SbOUyZRjH8=",
         "signed": "VgQPvrTsvGljVBFxHnswduq16x8ZrnxfcYVYGf/N7gEzI4At3GDs2EVZWTRdvS0uGHdkFYp1apHgJZ7PDVmGcTkIXVD2lFYppcgNlSzkYlftr5EOjqS9ZjYEqgGuB4g//MxaBaRbJai/6BlcE92NIdBusTtreIm3yTpjIXNAVoeRSnkfuw7wZcL96QoklNb1WUuSHw+psUyeIVtIwFMHEfFoRC0t+VhmnlnFnkjGPb9W3Aprw2dRRvFM3R2ZTDvMCiOYDzUCd43GftGq2LfxH3qSD51oFHglHQVOY0jyVzzlAvub5HQdtOQdErIeO0/9dGx5yot07o3xaGl5yQRhwA=="
       }
     ]
   }
   ```

1. 現在，您的權杖文件已全部簽署，您可以繼續操作。輸入包含已簽署權杖的檔案名稱，然後按 Enter 鍵。最後，輸入您公有金錀的路徑。

   ```
   Enter signed token file path (press enter if same as the unsigned token file):
   Enter public key PEM file path:officer1.pub
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "crypto-user"
     }
   }
   ```

   現在，您已經使用 MFA 設定了您的使用者。

   ```
   {
       "username": "<username>",
       "role": "crypto-user",
       "locked": "false",
       "mfa": [
         {
           "strategy": "token-sign",
           "status": "enabled"
         }
       ],
       "cluster-coverage": "full"
   },
   ```

# 為 CloudHSM CLI 建立已啟用 MFA 的使用者
<a name="create-mfa-users-cloudhsm-cli"></a>

請依照下列步驟建立已啟用多重要素驗證 (MFA) AWS CloudHSM 的使用者。

1. 使用 CloudHSM CLI 以管理員身分登入 HSM。

1. 使用 [**user create**](cloudhsm_cli-user-create.md) 命令建立您選擇的使用者。然後依照 [為 CloudHSM CLI 設定 MFA](set-up-mfa-for-cloudhsm-cli.md) 的步驟為使用者設定 MFA。

# 為 CloudHSM CLI 啟用 MFA 的登入使用者
<a name="login-mfa-cloudhsm-cli"></a>

請依照下列步驟，在啟用多重要素驗證 (MFA) 的情況下登入 AWS CloudHSM 使用者。

1. 使用 CloudHSM CLI 中的 [**login mfa-token-sign**](cloudhsm_cli-login-mfa-token-sign.md) 命令，針對已啟用 MFA 的使用者啟動登入程序。

   ```
   aws-cloudhsm > login --username <username> --role <role> mfa-token-sign --token <unsigned-tokens.json>
   Enter password:
   ```

1. 輸入您的密碼。然後，系統將提示您輸入包含未簽署/已簽署權杖對的權杖檔案路徑，其中已簽署權杖是使用您私有金錀產生的權杖。

   ```
   aws-cloudhsm > login --username <username> --role <role> mfa-token-sign --token <unsigned-tokens.json>
   Enter password:
   Enter signed token file path (press enter if same as the unsigned token file):
   ```

1. 當提示輸入已簽署權杖文件路徑時，您可以在單獨的終端中檢查未簽署的權杖檔案。識別具有需要簽署但尚未權杖的檔案：`<unsigned-tokens.json>`。此檔案中的權杖數量取決於叢集中的 HSM 數目。每個權杖代表一個 HSM。這個檔案是 JSON 格式，包含需要簽署以證明您擁有私有金錀的權杖。

   ```
   $ cat <unsigned-tokens.json>
   {
     "version": "2.0",
     "tokens": [
       {
         "unsigned": "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=",
         "signed": ""
       },
       {
         "unsigned": "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=",
         "signed": ""
       },
       {
         "unsigned": "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=",
         "signed": ""
       }
     ]
   }
   ```

1. 使用在步驟 2 中建立的私有金鑰簽署尚未簽署的權杖。首先，您必須擷取和解碼 base64 編碼的權杖。

   ```
   $ echo "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=" > token1.b64
   $ echo "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=" > token2.b64
   $ echo "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=" > token3.b64
   $ base64 -d token1.b64 > token1.bin 
   $ base64 -d token2.b64 > token2.bin
   $ base64 -d token3.b64 > token3.bin
   ```

1. 您現在有二進制權杖。使用您先前在 [MFA 設定步驟 1](set-up-mfa-for-cloudhsm-cli.md) 中建立的 RSA 私有金鑰來簽署這些權杖。

   ```
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token1.bin \
         -out token1.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token2.bin \
         -out token2.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token3.bin \
         -out token3.sig.bin
   ```

1. 現在，您有了已簽署的二進位權杖。使用 base64 對這些權杖進行編碼，然後將它們放回權杖檔案中。

   ```
   $ base64 -w0 token1.sig.bin > token1.sig.b64
   $ base64 -w0 token2.sig.bin > token2.sig.b64
   $ base64 -w0 token3.sig.bin > token3.sig.b64
   ```

1. 最後，將 base64 值複製並粘貼回權杖檔案中：

   ```
   {
     "version": "2.0",
     "tokens": [
       {
         "unsigned": "1jqwxb9bJOUUQLiNb7mxXS1uBJsEXh0B9nj05BqnPsE=",
         "signed": "eiw3fZeCKIY50C4zPeg9Rt90M1Qlq3WlJh6Yw7xXm4nF6e9ETLE39+9M+rUqDWMRZjaBfaMbg5d9yDkz5p13U7ch2tlF9LoYabsWutkT014KRq/rcYMvFsU9n/Ey/TK0PVaxLN42X+pebV4juwMhN4mK4CzdFAJgM+UGBOj4yB9recpOBB9K8QFSpJZALSEdDgUc/mS1eDq3rU0int6+4NKuLQjpR+LSEIWRZ6g6+MND2vXGskxHjadCQ09L7Tz8VcWjKDbxJcBiGKvkqyozl9zrGo8fA3WHBmwiAgS61Merx77ZGY4PFR37+j/YMSC14prCN15DtMRv2xA1SGSb4w=="
       },
       {
         "unsigned": "LMMFc34ASPnvNPFzBbMbr9FProS/Zu2P8zF/xzk5hVQ=",
         "signed": "HBImKnHmw+6R2TpFEpfiAg4+hu2pFNwn43ClhKPkn2higbEhUD0JVi+4MerSyvU/NN79iWVxDvJ9Ito+jpiRQjTfTGEoIteyuAr1v/Bzh+HjmrO53OQpZaJ/VXGIgApD0myuu/ZGNKQTCSkkL7+V81FG7yR1Nm22jUeGa735zvm/E+cenvZdy0VVx6A7WeWrl3JEKKBweHbi+7BwbaW+PTdCuIRd4Ug76Sy+cFhsvcG1k7cMwDh8MgXzIZ2m1f/hdy2j8qAxORTLlmwyUOYvPYOvUhc+s83hx36QpGwGcD7RA0bPT5OrTx7PHd0N1CL+Wwy91We8yIOFBS6nxo1R7w=="
       },
       {
         "unsigned": "dzeHbwhiVXQqcUGj563z51/7sLUdxjL93SbOUyZRjH8=",
         "signed": "VgQPvrTsvGljVBFxHnswduq16x8ZrnxfcYVYGf/N7gEzI4At3GDs2EVZWTRdvS0uGHdkFYp1apHgJZ7PDVmGcTkIXVD2lFYppcgNlSzkYlftr5EOjqS9ZjYEqgGuB4g//MxaBaRbJai/6BlcE92NIdBusTtreIm3yTpjIXNAVoeRSnkfuw7wZcL96QoklNb1WUuSHw+psUyeIVtIwFMHEfFoRC0t+VhmnlnFnkjGPb9W3Aprw2dRRvFM3R2ZTDvMCiOYDzUCd43GftGq2LfxH3qSD51oFHglHQVOY0jyVzzlAvub5HQdtOQdErIeO0/9dGx5yot07o3xaGl5yQRhwA=="
       }
     ]
   }
   ```

1. 現在，您的權杖文件已全部簽署，您可以繼續操作。輸入包含已簽署權杖的檔案名稱，然後按 Enter 鍵。您現在應該成功登錄。

   ```
   aws-cloudhsm > login --username <username> --role <role> mfa-token-sign --token <unsigned-tokens.json>
   Enter password:
   Enter signed token file path (press enter if same as the unsigned token file):
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "<role>"
     }
   }
   ```

# 針對 CloudHSM CLI 啟用 MFA 的使用者輪換金鑰
<a name="rotate-mfa-cloudhsm-cli"></a>

請依照下列步驟，為啟用多重要素驗證 (MFA) AWS CloudHSM 的使用者輪換金鑰。

1. 使用 CloudHSM CLI 以任何管理員或已啟用 MFA 的特定使用者身分登入 HSM (如需詳細資訊，請參閱[已啟用 MFA的登入使用者]())。

1. 接下來，執行命令以變更 MFA 策略。您必須提供參數 **--token**。此參數指定將寫入未簽署權杖的檔案。

   ```
   aws-cloudhsm > user change-mfa token-sign --token unsigned-tokens.json --username <username> --role crypto-user --change-quorum
   Enter password:
   Confirm password:
   ```

1. 識別具有需要簽署但尚未權杖的檔案：`unsigned-tokens.json`。此檔案中的權杖數量取決於叢集中的 HSM 數目。每個權杖代表一個 HSM。這個檔案是 JSON 格式，包含需要簽署以證明您擁有私有金錀的權杖。這將是新 RSA 公有/私有金錀對中的新私有金錀 (您想要用其輪換目前已註冊公有金錀)。

   ```
   $ cat unsigned-tokens.json
   {
     "version": "2.0",
     "tokens": [
       {
         "unsigned": "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=",
         "signed": ""
       },
       {
         "unsigned": "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=",
         "signed": ""
       },
       {
         "unsigned": "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=",
         "signed": ""
       }
     ]
   }
   ```

1. 使用您先前在設置過程中建立的私有金錀來簽署這些權杖。首先，必須擷取和解碼 base64 編碼的權杖。

   ```
   $ echo "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=" > token1.b64
   $ echo "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=" > token2.b64
   $ echo "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=" > token3.b64
   $ base64 -d token1.b64 > token1.bin
   $ base64 -d token2.b64 > token2.bin
   $ base64 -d token3.b64 > token3.bin
   ```

1. 您現在有二進制權杖。使用您先前在設定過程中建立的 RSA 私有金鑰來簽署這些權杖。

   ```
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token1.bin \
         -out token1.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token2.bin \
         -out token2.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token3.bin \
         -out token3.sig.bin
   ```

1. 現在，您有了已簽署的二進位權杖。使用 base64 對這些權杖進行編碼，然後將它們放回權杖檔案中。

   ```
   $ base64 -w0 token1.sig.bin > token1.sig.b64
   $ base64 -w0 token2.sig.bin > token2.sig.b64 
   $ base64 -w0 token3.sig.bin > token3.sig.b64
   ```

1. 最後，將 base64 值複製並粘貼回權杖檔案中：

   ```
   {
     "version": "2.0",
     "tokens": [
       {
         "unsigned": "1jqwxb9bJOUUQLiNb7mxXS1uBJsEXh0B9nj05BqnPsE=",
         "signed": "eiw3fZeCKIY50C4zPeg9Rt90M1Qlq3WlJh6Yw7xXm4nF6e9ETLE39+9M+rUqDWMRZjaBfaMbg5d9yDkz5p13U7ch2tlF9LoYabsWutkT014KRq/rcYMvFsU9n/Ey/TK0PVaxLN42X+pebV4juwMhN4mK4CzdFAJgM+UGBOj4yB9recpOBB9K8QFSpJZALSEdDgUc/mS1eDq3rU0int6+4NKuLQjpR+LSEIWRZ6g6+MND2vXGskxHjadCQ09L7Tz8VcWjKDbxJcBiGKvkqyozl9zrGo8fA3WHBmwiAgS61Merx77ZGY4PFR37+j/YMSC14prCN15DtMRv2xA1SGSb4w=="
       },
       {
         "unsigned": "LMMFc34ASPnvNPFzBbMbr9FProS/Zu2P8zF/xzk5hVQ=",
         "signed": "HBImKnHmw+6R2TpFEpfiAg4+hu2pFNwn43ClhKPkn2higbEhUD0JVi+4MerSyvU/NN79iWVxDvJ9Ito+jpiRQjTfTGEoIteyuAr1v/Bzh+HjmrO53OQpZaJ/VXGIgApD0myuu/ZGNKQTCSkkL7+V81FG7yR1Nm22jUeGa735zvm/E+cenvZdy0VVx6A7WeWrl3JEKKBweHbi+7BwbaW+PTdCuIRd4Ug76Sy+cFhsvcG1k7cMwDh8MgXzIZ2m1f/hdy2j8qAxORTLlmwyUOYvPYOvUhc+s83hx36QpGwGcD7RA0bPT5OrTx7PHd0N1CL+Wwy91We8yIOFBS6nxo1R7w=="
       },
       {
         "unsigned": "dzeHbwhiVXQqcUGj563z51/7sLUdxjL93SbOUyZRjH8=",
         "signed": "VgQPvrTsvGljVBFxHnswduq16x8ZrnxfcYVYGf/N7gEzI4At3GDs2EVZWTRdvS0uGHdkFYp1apHgJZ7PDVmGcTkIXVD2lFYppcgNlSzkYlftr5EOjqS9ZjYEqgGuB4g//MxaBaRbJai/6BlcE92NIdBusTtreIm3yTpjIXNAVoeRSnkfuw7wZcL96QoklNb1WUuSHw+psUyeIVtIwFMHEfFoRC0t+VhmnlnFnkjGPb9W3Aprw2dRRvFM3R2ZTDvMCiOYDzUCd43GftGq2LfxH3qSD51oFHglHQVOY0jyVzzlAvub5HQdtOQdErIeO0/9dGx5yot07o3xaGl5yQRhwA=="
       }
     ]
   }
   ```

1. 現在，您的權杖文件已全部簽署，您可以繼續操作。輸入包含已簽署權杖的檔案名稱，然後按 Enter 鍵。最後，輸入您新公有金錀的路徑。現在，您會看到以下[用戶列表]()部分輸出的內容。

   ```
   Enter signed token file path (press enter if same as the unsigned token file):
   Enter public key PEM file path:officer1.pub
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "crypto-user"
     }
   }
   ```

   現在，您已經使用 MFA 設定了您的使用者。

   ```
   {
       "username": "<username>",
       "role": "crypto-user",
       "locked": "false",
       "mfa": [
         {
           "strategy": "token-sign",
           "status": "enabled"
         }
       ],
       "cluster-coverage": "full"
   },
   ```

您已使用私有金錀簽署了產生的 JSON 格式的權杖文件檔案，並註冊了新的 MFA 公有金錀。

# 使用 CloudHSM CLI 取消註冊 MFA 公有金鑰
<a name="deregister-mfa-cloudhsm-cli"></a>

請依照下列步驟，在註冊 MFA 公有金鑰時取消 AWS CloudHSM 註冊管理使用者的多重要素驗證 (MFA) 公有金鑰。

1. 使用 CloudHSM CLI 以啟用 MFA 的管理員身分登入 HSM。

1. 使用 **user change-mfa token-sign** 命令為使用者移除 MFA。

   ```
   aws-cloudhsm > user change-mfa token-sign --username <username> --role admin --deregister --change-quorum
   Enter password:
   Confirm password:
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "admin"
     }
   }
   ```

# 使用 CloudHSM CLI 的 MFA 權杖檔案參考
<a name="reference-mfa-cloudhsm-cli"></a>

註冊多重要素驗證 (MFA) 公有金鑰或嘗試使用 MFA 登入 CloudHSM CLI 時產生的字符檔案包含下列項目：
+ **權杖：**一組以 JSON 物件文字形式表示的 base64 編碼的未簽署/已簽署權杖對。
+ **未簽署：**一個 base64 編碼和 SHA256 雜湊的權杖。
+ **已簽署：**使用 RSA 2048 位元私有金錀對未簽署權杖進行 base64 編碼的已簽署權杖 (簽章)。

```
{
  "version": "2.0",
  "tokens": [
    {
      "unsigned": "1jqwxb9bJOUUQLiNb7mxXS1uBJsEXh0B9nj05BqnPsE=",
      "signed": "eiw3fZeCKIY50C4zPeg9Rt90M1Qlq3WlJh6Yw7xXm4nF6e9ETLE39+9M+rUqDWMRZjaBfaMbg5d9yDkz5p13U7ch2tlF9LoYabsWutkT014KRq/rcYMvFsU9n/Ey/TK0PVaxLN42X+pebV4juwMhN4mK4CzdFAJgM+UGBOj4yB9recpOBB9K8QFSpJZALSEdDgUc/mS1eDq3rU0int6+4NKuLQjpR+LSEIWRZ6g6+MND2vXGskxHjadCQ09L7Tz8VcWjKDbxJcBiGKvkqyozl9zrGo8fA3WHBmwiAgS61Merx77ZGY4PFR37+j/YMSC14prCN15DtMRv2xA1SGSb4w=="
    },
    {
      "unsigned": "LMMFc34ASPnvNPFzBbMbr9FProS/Zu2P8zF/xzk5hVQ=",
      "signed": "HBImKnHmw+6R2TpFEpfiAg4+hu2pFNwn43ClhKPkn2higbEhUD0JVi+4MerSyvU/NN79iWVxDvJ9Ito+jpiRQjTfTGEoIteyuAr1v/Bzh+HjmrO53OQpZaJ/VXGIgApD0myuu/ZGNKQTCSkkL7+V81FG7yR1Nm22jUeGa735zvm/E+cenvZdy0VVx6A7WeWrl3JEKKBweHbi+7BwbaW+PTdCuIRd4Ug76Sy+cFhsvcG1k7cMwDh8MgXzIZ2m1f/hdy2j8qAxORTLlmwyUOYvPYOvUhc+s83hx36QpGwGcD7RA0bPT5OrTx7PHd0N1CL+Wwy91We8yIOFBS6nxo1R7w=="
    },
    {
      "unsigned": "dzeHbwhiVXQqcUGj563z51/7sLUdxjL93SbOUyZRjH8=",
      "signed": "VgQPvrTsvGljVBFxHnswduq16x8ZrnxfcYVYGf/N7gEzI4At3GDs2EVZWTRdvS0uGHdkFYp1apHgJZ7PDVmGcTkIXVD2lFYppcgNlSzkYlftr5EOjqS9ZjYEqgGuB4g//MxaBaRbJai/6BlcE92NIdBusTtreIm3yTpjIXNAVoeRSnkfuw7wZcL96QoklNb1WUuSHw+psUyeIVtIwFMHEfFoRC0t+VhmnlnFnkjGPb9W3Aprw2dRRvFM3R2ZTDvMCiOYDzUCd43GftGq2LfxH3qSD51oFHglHQVOY0jyVzzlAvub5HQdtOQdErIeO0/9dGx5yot07o3xaGl5yQRhwA=="
    }
  ]
}
```