

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

# Mengatur otentikasi kuorum untuk AWS CloudHSM admin menggunakan CloudHSM CLI
<a name="quorum-auth-chsm-cli-first-time"></a>

Topik berikut menjelaskan langkah-langkah yang harus Anda selesaikan untuk mengonfigurasi modul keamanan perangkat keras (HSM) Anda sehingga AWS CloudHSM [admin](understanding-users.md#admin) dapat menggunakan otentikasi kuorum. Anda perlu melakukan langkah-langkah ini hanya sekali ketika Anda pertama kali mengonfigurasi otentikasi kuorum untuk admin. Setelah Anda menyelesaikan langkah ini, lihat [Manajemen pengguna dengan otentikasi kuorum diaktifkan untuk menggunakan AWS CloudHSM CloudHSM CLI](quorum-auth-chsm-cli-admin.md).

**Topics**
+ [Prasyarat](#quorum-admin-prerequisites)
+ [Langkah 1. Buat dan daftarkan kunci untuk penandatanganan](#quorum-admin-create-and-register-key)
+ [Langkah 2. Tetapkan nilai minimum kuorum pada HSM](#quorum-admin-set-quorum-minimum-value-chsm-cli)
+ [Nilai minimum kuorum](#cloudhsm_cli-qm-list-minimum)

## Prasyarat
<a name="quorum-admin-prerequisites"></a>

Untuk memahami contoh ini, Anda harus terbiasa dengan [CloudHSM CLI](cloudhsm_cli.md).

## Langkah 1. Buat dan daftarkan kunci untuk penandatanganan
<a name="quorum-admin-create-and-register-key"></a>

Untuk menggunakan otentikasi kuorum, setiap admin harus menyelesaikan *semua langkah* berikut: 

**Topics**
+ [Buat key pair RSA](#mofn-key-pair-create-chsm-cli)
+ [Membuat dan menandatangani token pendaftaran](#mofn-registration-token-chsm-cli)
+ [Daftarkan kunci publik dengan HSM](#mofn-register-key-chsm-cli)

### Buat key pair RSA
<a name="mofn-key-pair-create-chsm-cli"></a>

Ada banyak cara berbeda untuk membuat dan melindungi pasangan kunci. Contoh berikut menunjukkan cara melakukannya dengan [OpenSSL](https://www.openssl.org/).

**Example — Membuat kunci privat dengan OpenSSL**  
Contoh berikut menunjukkan bagaimana menggunakan OpenSSL untuk membuat kunci RSA 2048-bit. Untuk menggunakan contoh ini, ganti {{<admin.key>}} dengan nama file tempat Anda ingin menyimpan kunci.  

```
$ openssl genrsa -out {{<admin.key>}}
Generating RSA private key, 2048 bit long modulus
.....................................+++
.+++
e is 65537 (0x10001)
```

Berikutnya, hasilkan kunci publik menggunakan kunci privat yang baru saja Anda buat.

**Example — Membuat kunci privat dengan OpenSSL**  
Contoh berikut menunjukkan bagaimana menggunakan OpenSSL untuk membuat kunci publik dari kunci privat yang baru saja Anda buat.  

```
$ openssl rsa -in admin.key -outform PEM -pubout -out admin1.pub
writing RSA key
```

### Membuat dan menandatangani token pendaftaran
<a name="mofn-registration-token-chsm-cli"></a>

Anda membuat token dan menandatanganinya dengan kunci privat yang baru saja Anda hasilkan pada langkah sebelumnya.

**Example — Buat token pendaftaran**  

1. Gunakan perintah berikut untuk memulai CloudHSM CLI:

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

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

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

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

------

1. Buat token registrasi dengan menjalankan perintah [quorum token-sign](cloudhsm_cli-qm-token-gen.md) generate:

   ```
   aws-cloudhsm > quorum token-sign generate --service registration --token /path/tokenfile
   {
     "error_code": 0,
     "data": {
       "path": "/path/tokenfile"
     }
   }
   ```

1. Perintah [quorum token-sign generate menghasilkan](cloudhsm_cli-qm-token-gen.md) token registrasi di jalur file yang ditentukan. Periksa file token:

   ```
   $ cat /path/tokenfile
   {
     "version": "2.0",
     "tokens": [
       {
         "approval_data": {{<approval data in base64 encoding>}},
         "unsigned": {{<unsigned token in base64 encoding>}},
         "signed": ""
       }
     ]
   }
   ```

   File token terdiri dari yang berikut:
   + **approval \_data**: Token data acak yang dikodekan base64 yang data mentahnya tidak melebihi maksimum 245 byte.
   + **unsigned: Token** base64 yang dikodekan dan SHA256 di-hash dari approval \_data.
   + **ditandatangani**: Token bertanda tangan (tanda tangan) yang disandikan base64 dari token yang tidak ditandatangani, menggunakan kunci pribadi RSA 2048-bit yang sebelumnya dibuat dengan OpenSSL.

   Anda menandatangani token yang tidak ditandatangani dengan kunci pribadi untuk menunjukkan bahwa Anda memiliki akses ke kunci pribadi. Anda akan memerlukan file token pendaftaran yang diisi penuh dengan tanda tangan dan kunci publik untuk mendaftarkan admin sebagai pengguna kuorum dengan cluster. AWS CloudHSM 

**Example — Tanda tangani token pendaftaran yang tidak ditandatangani**  

1. Dekode token unsigned base64 yang dikodekan dan letakkan ke dalam file biner:

   ```
   $ echo -n '6BMUj6mUjjko6ZLCEdzGlWpR5sILhFJfqhW1ej3Oq1g=' | base64 -d > admin.bin
   ```

1. Gunakan OpenSSL dan kunci pribadi untuk menandatangani token pendaftaran biner yang sekarang tidak ditandatangani dan membuat file tanda tangan biner:

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

1. Mengkodekan tanda tangan biner ke base64:

   ```
   $ base64 -w0 admin.sig.bin > admin.sig.b64
   ```

1. Salin dan tempel tanda tangan yang dikodekan base64 ke dalam file token:

   ```
   {
     "version": "2.0",
     "tokens": [
       {
         "approval_data": {{<approval data in base64 encoding>}},
         "unsigned": {{<unsigned token in base64 encoding>}},
         "signed": {{<signed token in base64 encoding>}}
       }
     ]
   }
   ```

### Daftarkan kunci publik dengan HSM
<a name="mofn-register-key-chsm-cli"></a>

Setelah membuat kunci, admin harus mendaftarkan kunci publik dengan AWS CloudHSM cluster.

**Untuk mendaftarkan kunci publik dengan HSM**

1. Gunakan perintah berikut untuk memulai CloudHSM CLI:

------
#### [ 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 sebagai admin.

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

1. Gunakan perintah **[Daftarkan strategi kuorum tanda token pengguna menggunakan CloudHSM CLI](cloudhsm_cli-user-chqm-token-reg.md)** untuk mendaftarkan kunci publik. Untuk informasi selengkapnya, lihat contoh berikut atau gunakan perintah **help user change-quorum token-sign register**.

**Example — Daftarkan kunci publik dengan AWS CloudHSM cluster**  
Contoh berikut menunjukkan cara menggunakan **user change-quorum token-sign register** perintah di CloudHSM CLI untuk mendaftarkan kunci publik admin dengan HSM. Untuk menggunakan perintah ini, admin harus login ke HSM. Ganti nilai-nilai ini dengan nilai Anda sendiri:  

```
aws-cloudhsm > user change-quorum token-sign register --public-key {{</path/admin.pub>}} --signed-token {{</path/tokenfile>}}
{
  "error_code": 0,
  "data": {
    "username": "admin",
    "role": "admin"
  }
}
```
**/path/admin.pub**: Jalur file ke file PEM kunci publik  
**Wajib**: Ya  
**/path/tokenfile**: Filepath dengan token yang ditandatangani oleh kunci pribadi pengguna  
**Wajib**: Ya
Setelah semua admin mendaftarkan kunci publik mereka, output dari **user list** perintah menunjukkan ini di bidang kuorum, yang menyatakan strategi kuorum yang diaktifkan yang digunakan, seperti yang ditunjukkan di bawah ini:  

```
aws-cloudhsm > user list
{
  "error_code": 0,
  "data": {
    "users": [
      {
        "username": "admin",
        "role": "admin",
        "locked": "false",
        "mfa": [],
        "quorum": [
          {
            "strategy": "token-sign",
            "status": "enabled"
          }
        ],
        "cluster-coverage": "full"
      },
      {
        "username": "admin2",
        "role": "admin",
        "locked": "false",
        "mfa": [],
        "quorum": [
          {
            "strategy": "token-sign",
            "status": "enabled"
          }
        ],
        "cluster-coverage": "full"
      },
      {
        "username": "admin3",
        "role": "admin",
        "locked": "false",
        "mfa": [],
        "quorum": [
          {
            "strategy": "token-sign",
            "status": "enabled"
          }
        ],
        "cluster-coverage": "full"
      },
      {
        "username": "admin4",
        "role": "admin",
        "locked": "false",
        "mfa": [],
        "quorum": [
          {
            "strategy": "token-sign",
            "status": "enabled"
          }
        ],
        "cluster-coverage": "full"
      },
      {
        "username": "app_user",
        "role": "internal(APPLIANCE_USER)",
        "locked": "false",
        "mfa": [],
        "quorum": [],
        "cluster-coverage": "full"
      }
    ]
  }
}
```
 Dalam contoh ini, AWS CloudHSM cluster memiliki dua HSMs, masing-masing dengan admin yang sama, seperti yang ditunjukkan pada output berikut dari perintah. **user list** Untuk informasi selengkapnya tentang membuat pengguna, lihat [Manajemen pengguna dengan CloudHSM CLI](manage-hsm-users-chsm-cli.md)

## Langkah 2. Tetapkan nilai minimum kuorum pada HSM
<a name="quorum-admin-set-quorum-minimum-value-chsm-cli"></a>

*Untuk menggunakan otentikasi kuorum, admin harus masuk ke HSM dan kemudian menetapkan nilai minimum kuorum.* Ini adalah jumlah minimum persetujuan admin yang diperlukan untuk melakukan operasi manajemen pengguna HSM. Setiap admin di HSM dapat menetapkan nilai minimum kuorum, termasuk admin yang belum mendaftarkan kunci untuk penandatanganan. Anda dapat mengubah nilai minimum kuorum kapan saja. Untuk informasi selengkapnya, lihat [Ubah nilai minimum](quorum-auth-chsm-cli-min-value.md).

**Untuk menetapkan nilai minimum kuorum pada HSM**

1. Gunakan perintah berikut untuk memulai CloudHSM CLI:

------
#### [ 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 sebagai admin.

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

1. Gunakan perintah **[Perbarui nilai kuorum menggunakan CloudHSM CLI](cloudhsm_cli-qm-token-set-qm.md)** untuk menetapkan nilai minimum kuorum. `--service`Bendera mengidentifikasi layanan HSM yang Anda setel nilainya. Lihat contoh berikut atau gunakan **help quorum token-sign set-quorum-value** perintah untuk informasi lebih lanjut.

**Example — Tetapkan nilai minimum kuorum pada HSM**  
Contoh ini menggunakan nilai minimum kuorum dua (2). Anda dapat memilih nilai dari dua (2) hingga delapan (8), hingga jumlah total admin di HSM. Dalam contoh ini, HSM memiliki empat (4) admin, sehingga nilai maksimum yang mungkin adalah empat (4).  
Untuk menggunakan perintah contoh berikut, ganti angka akhir ({{<2>}}) dengan nilai minimum kuorum yang disukai.  

```
aws-cloudhsm > quorum token-sign set-quorum-value --service user --value {{<2>}}
{
  "error_code": 0,
  "data": "Set quorum value successful"
}
```
Dalam contoh ini, **[Tampilkan nilai kuorum menggunakan CloudHSM CLI](cloudhsm_cli-qm-token-list-qm.md)** perintah mencantumkan jenis layanan HSM, nama, dan deskripsi yang disertakan dalam layanan. 

## Nilai minimum kuorum
<a name="cloudhsm_cli-qm-list-minimum"></a>

Untuk mendapatkan nilai minimum kuorum untuk layanan, gunakan perintah: **quorum token-sign list-quorum-values**

```
aws-cloudhsm > quorum token-sign list-quorum-values
{
  "error_code": 0,
  "data": {
    "user": 2,
    "quorum": 1
  }
}
```

Output dari **quorum token-sign list-quorum-values** perintah sebelumnya menunjukkan bahwa nilai minimum kuorum untuk layanan pengguna HSM, yang bertanggung jawab untuk operasi manajemen pengguna, sekarang dua (2). Setelah Anda menyelesaikan langkah ini, lihat [Manajemen pengguna dengan kuorum (M dari N)](quorum-auth-chsm-cli-admin.md).

**Layanan Admin**: Otentikasi kuorum digunakan untuk layanan istimewa admin seperti membuat pengguna, menghapus pengguna, mengubah kata sandi pengguna, mengatur nilai kuorum, dan menonaktifkan kemampuan kuorum dan MFA.

**Layanan Pengguna Crypto**: Otentikasi kuorum digunakan untuk layanan istimewa pengguna kripto yang terkait dengan kunci tertentu seperti menandatangani dengan kunci, kunci, sharing/unsharing kunci, dan wrapping/unwrapping pengaturan atribut kunci. Nilai kuorum kunci terkait dikonfigurasi saat kunci dihasilkan, diimpor, atau dibuka. Nilai kuorum harus sama dengan atau kurang dari jumlah pengguna yang dikaitkan dengan kunci, yang mencakup pengguna yang kunci dibagikan dan pemilik kunci.

Setiap jenis layanan selanjutnya dipecah menjadi nama layanan yang memenuhi syarat, yang berisi serangkaian operasi layanan yang didukung kuorum tertentu yang dapat dilakukan.


****  

| Nama layanan | Jenis Layanan | Operasi layanan | 
| --- | --- | --- | 
| user | Admin |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 
| kuorum | Admin |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 
| kluster 1 | Admin |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 
| manajemen kunci | Pengguna Crypto |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 
| penggunaan kunci | Pengguna Crypto |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 

[1] Layanan cluster tersedia secara eksklusif di hsm2m.medium