Menggunakan otentikasi kuorum untuk admin: penyiapan pertama kali - AWS CloudHSM

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

Menggunakan otentikasi kuorum untuk admin: penyiapan pertama kali

Topik berikut menjelaskan langkah-langkah yang harus Anda selesaikan untuk mengonfigurasi modul keamanan perangkat keras (HSM) Anda sehingga 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 Menggunakan otentikasi kuorum untuk admin.

Prasyarat

Untuk memahami contoh ini, Anda harus terbiasa dengan CloudHSM CLI. Dalam contoh ini, AWS CloudHSM cluster memiliki dua HSM, masing-masing dengan admin yang sama, seperti yang ditunjukkan pada output berikut dari perintah. user list Untuk informasi selengkapnya tentang membuat pengguna, lihat Menggunakan CloudHSM CLI.

aws-cloudhsm>user list { "error_code": 0, "data": { "users": [ { "username": "admin", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "admin2", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "admin3", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "admin4", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "app_user", "role": "internal(APPLIANCE_USER)", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" } ] } }

Buat dan daftarkan kunci untuk penandatanganan

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

Buat key pair RSA

Ada banyak cara berbeda untuk membuat dan melindungi pasangan kunci. Contoh berikut menunjukkan cara melakukannya dengan OpenSSL.

contoh — Membuat kunci privat dengan OpenSSL

Contoh berikut menunjukkan bagaimana menggunakan OpenSSL untuk membuat kunci RSA 2048-bit yang dilindungi oleh frase sandi. Untuk menggunakan contoh ini, ganti <admin.key>dengan nama file tempat Anda ingin menyimpan kunci.

$ openssl genrsa -out <admin.key> -aes256 2048 Generating RSA private key, 2048 bit long modulus .....................................+++ .+++ e is 65537 (0x10001) Enter pass phrase for admin.key: Verifying - Enter pass phrase for admin.key:

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

contoh — 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 Enter pass phrase for admin.key: writing RSA key

Membuat dan menandatangani token pendaftaran

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

contoh — Buat token pendaftaran
  1. Gunakan perintah berikut untuk memulai CloudHSM CLI:

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Buat token registrasi dengan menjalankan perintah quorum token-sign generate:

    aws-cloudhsm > quorum token-sign generate --service registration --token /path/tokenfile { "error_code": 0, "data": { "path": "/path/tokenfile" } }
  3. Perintah quorum token-sign generate menghasilkan 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 di-hash SHA256 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

contoh — 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
  2. 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
  3. Mengkodekan tanda tangan biner ke base64:

    $ base64 -w0 admin.sig.bin > admin.sig.b64
  4. 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

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
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Menggunakan CloudHSM CLI, masuk sebagai admin.

    aws-cloudhsm > login --username admin --role admin Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
  3. Gunakan perintah daftar tanda token ubah-kuorum pengguna untuk mendaftarkan kunci publik. Untuk informasi selengkapnya, lihat contoh berikut atau gunakan perintah help user change-quorum token-sign register.

contoh — 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" } }
catatan

/path/admin.pub: Filepath 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" } ] } }

Tetapkan nilai minimum kuorum pada HSM

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 lebih lanjut, lihat. Ubah nilai minimum

Untuk menetapkan nilai minimum kuorum pada HSM
  1. Gunakan perintah berikut untuk memulai CloudHSM CLI:

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Menggunakan CloudHSM CLI, masuk sebagai admin.

    aws-cloudhsm > login --username admin --role admin Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
  3. Gunakan perintah tanda token kuorum set-quorum-value untuk menetapkan nilai minimum kuorum. Untuk informasi selengkapnya, lihat contoh berikut atau gunakan perintah help quorum token-sign set-quorum-value.

contoh — 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, layanan mengidentifikasi layanan HSM yang nilai minimum kuorumnya Anda tetapkan. tanda token kuorum list-quorum-valuesPerintah mencantumkan jenis layanan HSM, nama, dan deskripsi yang disertakan dalam layanan.

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.

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
  • pengguna membuat

  • menghapus pengguna

  • perubahan kata sandi pengguna

  • perubahan pengguna-mfa

kuorum Admin
  • tanda token kuorum set-quorum-value

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 Menggunakan kuorum (M dari N).