

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kelola MFA untuk pengguna HSM menggunakan CloudHSM CLI
<a name="login-mfa-token-sign"></a>

Untuk meningkatkan keamanan, Anda dapat mengonfigurasi otentikasi multi-faktor (MFA) bagi pengguna untuk membantu melindungi klaster. AWS CloudHSM 

Saat Anda masuk ke klaster dengan akun pengguna modul keamanan perangkat keras (HSM) yang diaktifkan MFA, Anda memberikan CloudHSM CLI dengan kata sandi Anda—faktor pertama, apa yang Anda tahu—dan CloudHSM CLI memberi Anda token dan meminta Anda untuk menandatangani token.

Untuk menyediakan faktor kedua—apa yang Anda miliki—Anda tandatangani token dengan kunci privat dari pasangan kunci yang telah Anda buat dan terkait dengan pengguna HSM. Untuk mengakses cluster, Anda memberikan token yang ditandatangani ke CloudHSM CLI.

Untuk informasi selengkapnya tentang pengaturan MFA bagi pengguna, lihat [Mengatur MFA untuk CloudHSM CLI](set-up-mfa-for-cloudhsm-cli.md)

Topik berikut memberikan informasi lebih lanjut tentang bekerja dengan otentikasi kuorum di. AWS CloudHSM

**Topics**
+ [Otentikasi kuorum](quorum-mfa-cloudhsm-cli.md)
+ [Persyaratan pasangan kunci](mfa-key-pair-cloudhsm-cli.md)
+ [Mengatur MFA](set-up-mfa-for-cloudhsm-cli.md)
+ [Buat pengguna](create-mfa-users-cloudhsm-cli.md)
+ [Masuk pengguna](login-mfa-cloudhsm-cli.md)
+ [Putar tombol](rotate-mfa-cloudhsm-cli.md)
+ [Deregister kunci publik MFA](deregister-mfa-cloudhsm-cli.md)
+ [Referensi file token](reference-mfa-cloudhsm-cli.md)

# Otentikasi kuorum dan MFA dalam cluster menggunakan CloudHSM CLI AWS CloudHSM
<a name="quorum-mfa-cloudhsm-cli"></a>

 AWS CloudHSM Cluster menggunakan kunci yang sama untuk otentikasi kuorum dan untuk otentikasi multi-faktor (MFA). Ini berarti pengguna dengan MFA diaktifkan secara efektif terdaftar untuk mOfN atau kontrol akses kuorum. Agar berhasil menggunakan otentikasi MFA dan kuorum untuk pengguna HSM yang sama, pertimbangkan hal-hal berikut:
+ Jika Anda menggunakan otentikasi kuorum untuk pengguna hari ini, Anda harus menggunakan key pair yang sama yang Anda buat untuk pengguna kuorum untuk mengaktifkan MFA bagi pengguna.
+ Jika Anda menambahkan persyaratan MFA untuk pengguna non-MFA yang bukan pengguna otentikasi kuorum, maka Anda mendaftarkan pengguna tersebut sebagai pengguna terdaftar kuorum (MoFN) dengan otentikasi MFA.
+ Jika Anda menghapus persyaratan MFA atau mengubah kata sandi untuk pengguna MFA yang juga merupakan pengguna otentikasi kuorum terdaftar, Anda juga akan menghapus pendaftaran pengguna sebagai pengguna kuorum (MoFN).
+ Jika Anda menghapus persyaratan MFA atau mengubah kata sandi untuk pengguna MFA yang juga pengguna otentikasi kuorum, *tetapi Anda masih ingin pengguna tersebut berpartisipasi dalam otentikasi kuorum, maka Anda harus mendaftarkan pengguna itu lagi sebagai pengguna Kuorum* (MoFN).

Untuk informasi selengkapnya tentang autentikasi kuorum, lihat [Mengelola otentikasi kuorum (M atau N)](quorum-auth-chsm-cli.md).

# Persyaratan key pair MFA untuk menggunakan AWS CloudHSM CloudHSM CLI
<a name="mfa-key-pair-cloudhsm-cli"></a>

Untuk mengaktifkan otentikasi multi-faktor (MFA) bagi pengguna modul keamanan perangkat keras (HSM) AWS CloudHSM, Anda dapat membuat key pair baru atau menggunakan kunci yang ada yang memenuhi persyaratan berikut:
+ **Tipe kunci:** Asimetris
+ **Penggunaan kunci:** Tanda tangani dan verifikasi
+ **Spesifikasi kunci: RSA\$12048**
+ **Algoritma penandatanganan meliputi: SHA256with** RSAEncryption

**catatan**  
Jika Anda menggunakan otentikasi kuorum atau berencana menggunakan otentikasi kuorum, lihat [Otentikasi kuorum dan MFA dalam cluster menggunakan CloudHSM CLI AWS CloudHSM](quorum-mfa-cloudhsm-cli.md)

Anda dapat menggunakan CloudHSM CLI dan key pair untuk membuat pengguna admin baru dengan MFA diaktifkan.

# Mengatur MFA untuk CloudHSM CLI
<a name="set-up-mfa-for-cloudhsm-cli"></a>

Ikuti langkah-langkah ini untuk menyiapkan otentikasi multi-faktor (MFA) untuk CloudHSM CLI. 

1. Untuk mengatur MFA menggunakan Strategi Tanda Token, Anda harus terlebih dahulu membuat kunci pribadi RSA 2048 bit dan kunci publik terkait.

   ```
   $ 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. Gunakan perintah berikut untuk memulai CLI dalam mode interaktif.

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

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

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

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

------

1. Menggunakan CloudHSM CLI, masuk ke akun pengguna Anda.

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

1. Selanjutnya, jalankan perintah untuk mengubah strategi MFA Anda. Anda harus memberikan parameter`--token`. Parameter ini menentukan file yang akan memiliki token yang tidak ditandatangani ditulis untuk itu.

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

1. Anda sekarang memiliki file dengan token yang tidak ditandatangani yang perlu ditandatangani:`unsigned-tokens.json`. Jumlah token dalam file ini tergantung pada jumlah HSMs di cluster Anda. Setiap token mewakili satu HSM. File ini diformat JSON dan berisi token yang perlu ditandatangani untuk membuktikan bahwa Anda memiliki kunci pribadi.

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

1. Langkah selanjutnya adalah menandatangani token ini dengan kunci pribadi yang dibuat pada langkah 1. Tempatkan tanda tangan kembali di file. Pertama, Anda harus mengekstrak dan memecahkan kode token yang dikodekan 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. Sekarang, Anda memiliki token biner yang dapat Anda tandatangani menggunakan kunci pribadi RSA yang dibuat pada langkah 1.

   ```
   $ 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. Sekarang, Anda memiliki tanda tangan biner token. Anda harus menyandikannya menggunakan base64, dan kemudian menempatkannya kembali di file token Anda.

   ```
   $ 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. Terakhir, Anda dapat menyalin dan menempelkan nilai base64 kembali ke file token Anda:

   ```
   {
     "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. Sekarang file token Anda memiliki semua tanda tangan yang diperlukan, Anda dapat melanjutkan. Masukkan nama file yang berisi token yang ditandatangani dan tekan tombol enter. Terakhir, masukkan jalur kunci publik Anda.

   ```
   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"
     }
   }
   ```

   Sekarang Anda telah mengatur pengguna Anda dengan MFA.

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

# Buat pengguna dengan MFA diaktifkan untuk CloudHSM CLI
<a name="create-mfa-users-cloudhsm-cli"></a>

Ikuti langkah-langkah ini untuk membuat AWS CloudHSM pengguna dengan otentikasi multi-faktor (MFA) diaktifkan. 

1. Gunakan CloudHSM CLI untuk masuk ke HSM sebagai admin.

1. Gunakan [**user create**](cloudhsm_cli-user-create.md)perintah untuk membuat pengguna pilihan Anda. Kemudian ikuti langkah-langkah [Mengatur MFA untuk CloudHSM CLI](set-up-mfa-for-cloudhsm-cli.md) untuk mengatur MFA untuk pengguna.

# Masuk pengguna dengan MFA diaktifkan untuk CloudHSM CLI
<a name="login-mfa-cloudhsm-cli"></a>

Ikuti langkah-langkah ini untuk login AWS CloudHSM pengguna dengan otentikasi multi-faktor (MFA) diaktifkan. 

1. Gunakan [**login mfa-token-sign**](cloudhsm_cli-login-mfa-token-sign.md)perintah di CloudHSM CLI untuk memulai proses login dengan MFA untuk pengguna yang mengaktifkan MFA.

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

1. Masukkan kata sandi Anda. Anda kemudian akan diminta untuk memasukkan jalur ke file token yang berisi pasangan token, di mana unsigned/signed token yang ditandatangani adalah yang dihasilkan dengan menggunakan kunci pribadi Anda.

   ```
   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. Saat diminta untuk memasukkan jalur file token yang ditandatangani, Anda dapat memeriksa file token yang tidak ditandatangani di terminal terpisah. Identifikasi file dengan token yang tidak ditandatangani yang perlu ditandatangani:`<unsigned-tokens.json>`. Jumlah token dalam file ini tergantung pada jumlah HSMs di cluster Anda. Setiap token mewakili satu HSM. File ini diformat JSON dan berisi token yang perlu ditandatangani untuk membuktikan bahwa Anda memiliki kunci pribadi.

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

1. Tanda tangani token yang tidak ditandatangani dengan kunci pribadi yang dibuat pada langkah 2. Pertama, Anda harus mengekstrak dan memecahkan kode token yang dikodekan 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. Anda sekarang memiliki token biner. Tanda tangani mereka menggunakan kunci pribadi RSA yang sebelumnya Anda buat di [langkah 1 pengaturan MFA](set-up-mfa-for-cloudhsm-cli.md).

   ```
   $ 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. Anda sekarang memiliki tanda tangan biner token. Encode mereka menggunakan base64, dan menempatkan mereka kembali dalam file token Anda.

   ```
   $ 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. Terakhir, salin dan tempel nilai base64 kembali ke file token Anda:

   ```
   {
     "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. Sekarang file token Anda memiliki semua tanda tangan yang diperlukan, Anda dapat melanjutkan. Masukkan nama file yang berisi token yang ditandatangani dan tekan tombol enter. Anda sekarang harus berhasil masuk.

   ```
   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>"
     }
   }
   ```

# Putar tombol untuk pengguna dengan MFA diaktifkan untuk CloudHSM CLI
<a name="rotate-mfa-cloudhsm-cli"></a>

Ikuti langkah-langkah ini untuk memutar tombol bagi AWS CloudHSM pengguna dengan otentikasi multi-faktor (MFA) diaktifkan.

1. Gunakan CloudHSM CLI untuk masuk ke HSM sebagai admin atau sebagai pengguna tertentu yang mengaktifkan MFA ([lihat Masuk]() pengguna dengan MFA diaktifkan untuk detailnya).

1. Selanjutnya, jalankan perintah untuk mengubah strategi MFA Anda. Anda harus memberikan parameter**--token**. Parameter ini menentukan file yang akan memiliki token yang tidak ditandatangani ditulis untuk itu.

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

1. Identifikasi file dengan token yang tidak ditandatangani yang perlu ditandatangani:`unsigned-tokens.json`. Jumlah token dalam file ini tergantung pada jumlah HSMs di cluster Anda. Setiap token mewakili satu HSM. File ini diformat JSON dan berisi token yang perlu ditandatangani untuk membuktikan bahwa Anda memiliki kunci pribadi. Ini akan menjadi kunci pribadi baru dari public/private key pair RSA baru yang ingin Anda gunakan untuk memutar kunci publik yang saat ini terdaftar.

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

1. Tanda tangani token ini dengan kunci pribadi yang sebelumnya Anda buat selama penyiapan. Pertama kita harus mengekstrak dan memecahkan kode token yang dikodekan 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. Anda sekarang memiliki token biner. Tanda tangani mereka menggunakan kunci pribadi RSA yang sebelumnya Anda buat selama penyiapan.

   ```
   $ 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. Anda sekarang memiliki tanda tangan biner token. Encode mereka menggunakan base64, dan menempatkan mereka kembali dalam file token Anda.

   ```
   $ 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. Terakhir, salin dan tempel nilai base64 kembali ke file token Anda:

   ```
   {
     "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. Sekarang file token Anda memiliki semua tanda tangan yang diperlukan, Anda dapat melanjutkan. Masukkan nama file yang berisi token yang ditandatangani dan tekan tombol enter. Terakhir, masukkan jalur kunci publik baru Anda. Sekarang Anda akan melihat yang berikut ini sebagai bagian dari output [daftar pengguna]().

   ```
   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"
     }
   }
   ```

   Sekarang kami telah mengatur pengguna kami dengan MFA.

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

Anda telah menandatangani file token berformat JSON yang dihasilkan dengan kunci pribadi Anda dan mendaftarkan kunci publik MFA baru.

# Membatalkan pendaftaran kunci publik MFA menggunakan CloudHSM CLI
<a name="deregister-mfa-cloudhsm-cli"></a>

Ikuti langkah-langkah ini untuk membatalkan pendaftaran kunci publik multi-faktor otentikasi (MFA) untuk AWS CloudHSM pengguna admin saat kunci publik MFA terdaftar.

1. Gunakan CloudHSM CLI untuk masuk ke HSM sebagai admin dengan MFA diaktifkan.

1. Gunakan **user change-mfa token-sign** perintah untuk menghapus MFA untuk pengguna.

   ```
   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"
     }
   }
   ```

# Referensi file token untuk MFA dengan CloudHSM CLI
<a name="reference-mfa-cloudhsm-cli"></a>

File token yang dihasilkan saat mendaftarkan kunci publik multi-faktor otentikasi (MFA) atau ketika mencoba masuk ke CloudHSM CLI menggunakan MFA terdiri dari yang berikut:
+ **Token:** Sebuah array base64 dikodekan pasangan unsigned/signed token dalam bentuk literal objek JSON.
+ **Unsigned: Token** base64 yang dikodekan dan di-hash. SHA256 
+ **Ditandatangani:** Token bertanda tangan (tanda tangan) yang disandikan base64 dari token yang tidak ditandatangani, menggunakan kunci pribadi RSA 2048-bit.

```
{
  "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=="
    }
  ]
}
```