

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

# Manajemen pengguna dengan otentikasi kuorum diaktifkan untuk Utilitas Manajemen AWS CloudHSM
<a name="quorum-authentication-crypto-officers"></a>

[Petugas AWS CloudHSM kripto (CO)](understanding-users-cmu.md#crypto-officer) pada modul keamanan perangkat keras (HSM) dapat mengonfigurasi otentikasi kuorum untuk operasi berikut di HSM:
+ Membuat pengguna HSM
+ Membuat pengguna HSM
+ Mengubah kata sandi pengguna HSM lainnya

Setelah HSM dikonfigurasi untuk otentikasi kuorum, COs tidak dapat melakukan operasi manajemen pengguna HSM sendiri. Contoh berikut menunjukkan output ketika CO mencoba untuk membuat pengguna baru di HSM. Perintah gagal dengan kesalahan `RET_MXN_AUTH_FAILED`, yang menunjukkan bahwa autentikasi kuorum gagal.

```
aws-cloudhsm > createUser CU user1 password
*************************CAUTION********************************
This is a CRITICAL operation, should be done on all nodes in the
cluster. AWS does NOT synchronize these changes automatically with the
nodes on which this operation is not executed or failed, please
ensure this operation is executed on all nodes in the cluster.
****************************************************************

Do you want to continue(y/n)? y
Creating User user1(CU) on 2 nodes
createUser failed: RET_MXN_AUTH_FAILED
creating user on server 0(10.0.2.14) failed

Retry/Ignore/Abort?(R/I/A): A
```

Untuk melakukan operasi manajemen pengguna HSM, CO harus menyelesaikan tugas berikut:

1. [Dapatkan* token kuorum*](#quorum-crypto-officers-get-token).

1. [Dapatkan persetujuan (tanda tangan)](#quorum-crypto-officers-get-approval-signatures) dari orang lain. COs

1. [Setujui token pada HSM](#quorum-crypto-officers-approve-token).

1. [Melakukan operasi manajemen pengguna HSM](#quorum-crypto-officers-use-token).

Jika Anda belum mengonfigurasi HSM untuk otentikasi kuorum COs, lakukan itu sekarang. Untuk informasi selengkapnya, lihat [Pengaturan pertama kali](quorum-authentication-crypto-officers-first-time-setup.md).

## Langkah 1. Dapatkan token kuorum
<a name="quorum-crypto-officers-get-token"></a>

Pertama, CO harus menggunakan alat baris perintah cloudhsm\$1mgmt\$1util untuk meminta *token kuorum*.

**Dapatkan token kuorum.**

1. Gunakan perintah berikut untuk memulai alat baris perintah cloudhsm\$1mgmt\$1util.

   ```
   $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
   ```

1. Gunakan perintah **loginHSM** untuk masuk ke HSM sebagai pengguna CO. Untuk informasi selengkapnya, lihat [Manajemen pengguna HSM dengan CloudHSM Management Utility (CMU)](manage-hsm-users-cmu.md).

1. Gunakan **getToken** untuk mendapatkan token kuorum. Untuk informasi selengkapnya, lihat contoh berikut atau gunakan perintah **help getToken**.

**Example — Dapatkan token kuorum**  
Contoh ini mendapat token kuorum untuk CO dengan nama pengguna officer1 dan menyimpan token ke file bernama `officer1.token`. Untuk menggunakan perintah contoh berikut, ganti nilai ini dengan nilai Anda sendiri:  
+ *officer1*— Nama CO yang mendapatkan token. Ini harus CO yang sama yang login ke HSM dan menjalankan perintah ini.
+ *officer1.token*— Nama file yang akan digunakan untuk menyimpan token kuorum.
Dalam perintah berikut,`3` mengidentifikasi *layanan* yang Anda dapat gunakan dengan token yang Anda dapatkan. Dalam hal ini, token adalah untuk operasi manajemen pengguna HSM (layanan 3). Untuk informasi selengkapnya, lihat [Langkah 2. Tetapkan nilai minimum kuorum pada HSM](quorum-authentication-crypto-officers-first-time-setup.md#quorum-crypto-officers-set-quorum-minimum-value).  

```
aws-cloudhsm > getToken 3 officer1 officer1.token
getToken success on server 0(10.0.2.14)
Token:
Id:1
Service:3
Node:1
Key Handle:0
User:officer1
getToken success on server 1(10.0.1.4)
Token:
Id:1
Service:3
Node:0
Key Handle:0
User:officer1
```

## Langkah 2. Dapatkan tanda tangan dari menyetujui COs
<a name="quorum-crypto-officers-get-approval-signatures"></a>

CO yang memiliki token kuorum harus mendapatkan token yang disetujui oleh orang lain. COs Untuk memberikan persetujuan mereka, yang lain COs menggunakan kunci penandatanganan mereka untuk menandatangani token secara kriptografis. Mereka melakukan ini di luar HSM.

Ada banyak cara yang berbeda untuk menandatangani token. Contoh berikut menunjukkan cara melakukannya dengan [OpenSSL](https://www.openssl.org/). Untuk menggunakan alat penandatanganan yang berbeda, pastikan bahwa alat menggunakan kunci privat CO (kunci penandatangan) untuk menandatangani SHA-256 digest token .

**Example — Dapatkan tanda tangan dari menyetujui COs**  
Dalam contoh ini, CO yang memiliki token (officer1) membutuhkan setidaknya dua persetujuan. Contoh perintah berikut menunjukkan bagaimana dua COs dapat menggunakan OpenSSL untuk menandatangani token secara kriptografis.  
Pada perintah pertama, officer1 menandatangani tokennya sendiri. Untuk menggunakan perintah contoh berikut, ganti nilai ini dengan nilai Anda sendiri:  
+ *officer1.key*dan *officer2.key* — Nama file yang berisi kunci penandatanganan CO.
+ *officer1.token.sig1*dan *officer1.token.sig2* — Nama file yang akan digunakan untuk menyimpan tanda tangan. Pastikan untuk menyimpan setiap tanda tangan dalam file yang berbeda.
+ *officer1.token*— Nama file yang berisi token yang ditandatangani CO.

```
$ openssl dgst -sha256 -sign officer1.key -out officer1.token.sig1 officer1.token
Enter pass phrase for officer1.key:
```
Pada perintah berikut, officer2 menandatangani token yang sama.  

```
$ openssl dgst -sha256 -sign officer2.key -out officer1.token.sig2 officer1.token
Enter pass phrase for officer2.key:
```

## Langkah 3. Menyetujui token yang ditandatangani di HSM
<a name="quorum-crypto-officers-approve-token"></a>

Setelah CO mendapatkan jumlah minimum persetujuan (tanda tangan) dari yang lain COs, ia harus menyetujui token yang ditandatangani pada HSM.

**Untuk menyetujui token yang ditandatangani pada HSM**

1. Buat file persetujuan token. Untuk informasi selengkapnya, lihat contoh berikut.

1. Gunakan perintah berikut untuk memulai alat baris perintah cloudhsm\$1mgmt\$1util.

   ```
   $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
   ```

1. Gunakan perintah **loginHSM** untuk masuk ke HSM sebagai pengguna CO. Untuk informasi selengkapnya, lihat [Manajemen pengguna HSM dengan CloudHSM Management Utility (CMU)](manage-hsm-users-cmu.md).

1. Gunakan perintah **approveToken** untuk menyetujui token yang ditandatangani, melewati file persetujuan token. Untuk informasi selengkapnya, lihat contoh berikut.

**Example — Buat file persetujuan token dan setujui token yang ditandatangani di HSM**  
File persetujuan token adalah file teks dalam format tertentu yang dibutuhkan HSM. File berisi informasi tentang token, pemberi persetujuan, dan tanda tangan pemberi persetujuan. Berikut ini adalah contoh file persetujuan token.  

```
# For "Multi Token File Path", type the path to the file that contains
# the token. You can type the same value for "Token File Path", but
# that's not required. The "Token File Path" line is required in any
# case, regardless of whether you type a value.
Multi Token File Path = officer1.token;
Token File Path = ;

# Total number of approvals
Number of Approvals = 2;

# Approver 1
# Type the approver's type, name, and the path to the file that
# contains the approver's signature.
Approver Type = 2; # 2 for CO, 1 for CU
Approver Name = officer1;
Approval File = officer1.token.sig1;

# Approver 2
# Type the approver's type, name, and the path to the file that
# contains the approver's signature.
Approver Type = 2; # 2 for CO, 1 for CU
Approver Name = officer2;
Approval File = officer1.token.sig2;
```
Setelah membuat file persetujuan token, CO menggunakan alat baris perintah cloudhsm\$1mgmt\$1util untuk masuk ke HSM. CO kemudian menggunakan perintah **approveToken** untuk menyetujui token, seperti yang ditunjukkan dalam contoh berikut. Ganti *approval.txt* dengan nama file persetujuan token.  

```
aws-cloudhsm > approveToken approval.txt
approveToken success on server 0(10.0.2.14)
approveToken success on server 1(10.0.1.4)
```
Ketika perintah ini berhasil, HSM telah menyetujui token kuorum. Untuk memeriksa status token, gunakan perintah **listTokens**, seperti yang ditunjukkan dalam contoh berikut. Output perintah menunjukkan bahwa token memiliki jumlah persetujuan yang diperlukan.  
Waktu validitas token menunjukkan berapa lama token dijamin bertahan di HSM. Bahkan setelah waktu validitas token berlalu (nol detik), Anda masih dapat menggunakan token.  

```
aws-cloudhsm > listTokens
=====================
    Server 0(10.0.2.14)
=====================
-------- Token - 0 ----------
Token:
Id:1
Service:3
Node:1
Key Handle:0
User:officer1
Token Validity: 506 sec
Required num of approvers : 2
Current num of approvals : 2
Approver-0: officer1
Approver-1: officer2
Num of tokens = 1

=====================
    Server 1(10.0.1.4)
=====================
-------- Token - 0 ----------
Token:
Id:1
Service:3
Node:0
Key Handle:0
User:officer1
Token Validity: 506 sec
Required num of approvers : 2
Current num of approvals : 2
Approver-0: officer1
Approver-1: officer2
Num of tokens = 1

listTokens success
```

## Langkah 4. Gunakan token untuk operasi manajemen pengguna
<a name="quorum-crypto-officers-use-token"></a>

Setelah CO memiliki token dengan jumlah persetujuan yang diperlukan, seperti yang ditunjukkan pada bagian sebelumnya, CO dapat melakukan salah satu operasi manajemen pengguna HSM berikut:
+ Buat pengguna HSM dengan perintah [createUser](cloudhsm_mgmt_util-createUser.md)
+ Hapus pengguna HSM dengan perintah **deleteUser**
+ Ubah kata sandi pengguna HSM yang berbeda dengan perintah **changePswd**

Untuk informasi selengkapnya tentang menggunakan perintah ini, lihat [Pengguna HSM](manage-hsm-users.md).

CO dapat menggunakan token hanya untuk satu operasi. Ketika operasi itu berhasil, token tidak lagi berlaku. Untuk melakukan operasi manajemen pengguna HSM lain, CO harus mendapatkan token kuorum baru, mendapatkan tanda tangan baru dari pemberi persetujuan, dan menyetujui token baru di HSM.

**catatan**  
Token MofN hanya berlaku selama sesi login Anda saat ini terbuka. Jika Anda keluar dari cloudhsm\$1mgmt\$1util atau sambungan jaringan terputus, token tidak lagi valid. Demikian pula, token resmi hanya dapat digunakan dalam cloudhsm\$1mgmt\$1util, tidak dapat digunakan untuk mengautentikasi dalam aplikasi yang berbeda.

Pada contoh perintah berikut, CO membuat pengguna baru pada HSM.

```
aws-cloudhsm > createUser CU user1 <password>
*************************CAUTION********************************
This is a CRITICAL operation, should be done on all nodes in the
cluster. AWS does NOT synchronize these changes automatically with the
nodes on which this operation is not executed or failed, please
ensure this operation is executed on all nodes in the cluster.
****************************************************************

Do you want to continue(y/n)? y
Creating User user1(CU) on 2 nodes
```

Setelah perintah sebelumnya berhasil, perintah **listUsers** berikutnya menunjukkan pengguna baru.

```
aws-cloudhsm > listUsers
Users on server 0(10.0.2.14):
Number of users found:8

    User Id             User Type       User Name                          MofnPubKey    LoginFailureCnt         2FA
         1              PCO             admin                                    NO               0               NO
         2              AU              app_user                                 NO               0               NO
         3              CO              officer1                                YES               0               NO
         4              CO              officer2                                YES               0               NO
         5              CO              officer3                                YES               0               NO
         6              CO              officer4                                YES               0               NO
         7              CO              officer5                                YES               0               NO
         8              CU              user1                                    NO               0               NO
Users on server 1(10.0.1.4):
Number of users found:8

    User Id             User Type       User Name                          MofnPubKey    LoginFailureCnt         2FA
         1              PCO             admin                                    NO               0               NO
         2              AU              app_user                                 NO               0               NO
         3              CO              officer1                                YES               0               NO
         4              CO              officer2                                YES               0               NO
         5              CO              officer3                                YES               0               NO
         6              CO              officer4                                YES               0               NO
         7              CO              officer5                                YES               0               NO
         8              CU              user1                                    NO               0               NO
```

Jika CO mencoba untuk melakukan operasi manajemen pengguna HSM lain, operasi akan gagal dengan kesalahan autentikasi kuorum, seperti yang ditunjukkan dalam contoh berikut.

```
aws-cloudhsm > deleteUser CU user1
Deleting user user1(CU) on 2 nodes
deleteUser failed: RET_MXN_AUTH_FAILED
deleteUser failed on server 0(10.0.2.14)

Retry/rollBack/Ignore?(R/B/I): I
deleteUser failed: RET_MXN_AUTH_FAILED
deleteUser failed on server 1(10.0.1.4)

Retry/rollBack/Ignore?(R/B/I): I
```

Perintah **listTokens** akan menampilkan bahwa CO tidak memiliki token yang disetujui, seperti yang ditunjukkan dalam contoh berikut. Untuk melakukan operasi manajemen pengguna HSM lain, CO harus mendapatkan token kuorum baru, mendapatkan tanda tangan baru dari pemberi persetujuan, dan menyetujui token baru pada HSM.

```
aws-cloudhsm > listTokens
=====================
    Server 0(10.0.2.14)
=====================
Num of tokens = 0

=====================
    Server 1(10.0.1.4)
=====================
Num of tokens = 0

listTokens success
```