Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS CloudHSM Admin pada modul keamanan perangkat keras (HSM) dapat mengonfigurasi otentikasi kuorum untuk operasi berikut di cluster: AWS CloudHSM
Setelah AWS CloudHSM klaster dikonfigurasi untuk otentikasi kuorum, admin tidak dapat melakukan operasi manajemen HSM pengguna sendiri. Contoh berikut menunjukkan output ketika admin mencoba untuk membuat pengguna baru padaHSM. Perintah gagal dengan kesalahan, yang menyatakan bahwa otentikasi kuorum diperlukan.
aws-cloudhsm >
user create --username user1 --role crypto-user
Enter password: Confirm password: { "error_code": 1, "data": "Quorum approval is required for this operation" }
Untuk melakukan operasi manajemen HSM pengguna, admin harus menyelesaikan tugas-tugas berikut:
Topik
Langkah 1. Dapatkan token kuorum
Pertama, admin harus menggunakan Cloud HSM CLI untuk meminta token kuorum.
Dapatkan token kuorum.
-
Gunakan perintah berikut untuk memulai Cloud HSMCLI.
$
/opt/cloudhsm/bin/cloudhsm-cli interactive
-
Gunakan login perintah dan masuk ke cluster sebagai admin.
aws-cloudhsm>
login --username
admin
--role admin -
Gunakan quorum token-sign generate perintah untuk menghasilkan token kuorum. Untuk informasi selengkapnya, lihat contoh berikut atau gunakan perintah help quorum token-sign generate.
contoh — Hasilkan token kuorum
Contoh ini mendapatkan token kuorum untuk admin dengan nama pengguna admin
dan menyimpan token ke file bernama. admin.token
Untuk menggunakan perintah contoh berikut, ganti nilai ini dengan nilai Anda sendiri:
-
<admin>
— Nama admin yang mendapatkan token. Ini harus admin yang sama yang masuk ke HSM dan menjalankan perintah ini. -
<admin.token>
— Nama file yang akan digunakan untuk menyimpan token kuorum.
Dalam perintah berikut, user
identifikasi nama layanan yang dapat Anda gunakan token yang Anda hasilkan. Dalam hal ini, token adalah untuk operasi manajemen HSM pengguna (user
layanan).
aws-cloudhsm >
login --username
<ADMIN>
--role<ADMIN>
--password<PASSWORD>
{ "error_code": 0, "data": { "username": "admin", "role": "admin" } }
aws-cloudhsm >
quorum token-sign generate --service user --token
</path/admin.token>
{ "error_code": 0, "data": { "path": "/home/tfile" } }
quorum token-sign generatePerintah menghasilkan token kuorum layanan pengguna di jalur file yang ditentukan. File token dapat diperiksa:
$
cat
</path/admin.token>
{ "version": "2.0", "service": "user-management", "approval_data": "AAEAAwAAABgAAAAAAAAAAJ9eFkfcP3mNzJAlfK+OWbNhZG1pbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj5vbeAAAAAAAAAAAAAQADAAAAFQAAAAAAAAAAW/v5Euk83amq1fij0zyvD2FkbWluAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGPm9t4AAAAAAAAAAAABAAMAAAAUAAAAAAAAAABDw2XDwfK4hB8a15Xh1E0nYWRtaW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY+b23gAAAAAAAAAA", "token": "0l2LZkmAHZyAc1hPhyckOoVW33aGrgG77qmDHWQ3CJ8=", "signatures": [] }
File token terdiri dari yang berikut:
layanan: Pengidentifikasi untuk layanan kuorum yang dikaitkan dengan token.
approval _data: Token data mentah yang dikodekan base64 yang dihasilkan oleh. HSM
token: Token base64 yang dikodekan dan SHA -256 hash dari approval _data
tanda tangan: Array token bertanda tangan yang disandikan base64 (tanda tangan) dari token yang tidak ditandatangani, di mana setiap tanda tangan pemberi persetujuan dalam bentuk objek literal: JSON
{ "username": "
<APPROVER_USERNAME>
", "role": "<APPROVER_ROLE>
", "signature": "<APPROVER_RSA2048_BIT_SIGNATURE>
" }Setiap tanda tangan dibuat dari hasil pemberi persetujuan menggunakan kunci pribadi RSA 2048-bit yang sesuai yang kunci publiknya terdaftar di.. HSM
Token kuorum layanan pengguna yang dihasilkan dapat dikonfirmasi ada di HSM klaster Cloud dengan menjalankan perintah: quorum token-sign list
aws-cloudhsm >
quorum token-sign list
{ "error_code": 0, "data": { "tokens": [ { "username": "admin", "service": "user", "approvals-required": { "value": 2 }, "number-of-approvals": { "value": 0 }, "token-timeout-seconds": { "value": 597 }, "cluster-coverage": "full" } ] } }
token-timeout-seconds
Waktu menunjukkan periode batas waktu dalam hitungan detik agar token yang dihasilkan disetujui sebelum kedaluwarsa.
Langkah 2. Dapatkan tanda tangan dari admin yang menyetujui
Admin yang memiliki token kuorum harus mendapatkan token yang disetujui oleh admin lain. Untuk memberikan persetujuan mereka, admin lain menggunakan kunci penandatanganan mereka untuk menandatangani token secara kriptografis. Mereka melakukan ini di luarHSM.
Ada banyak cara yang berbeda untuk menandatangani token. Contoh berikut menunjukkan bagaimana melakukannya dengan Open SSL
contoh — Dapatkan tanda tangan dari admin yang menyetujui
Dalam contoh ini, admin yang memiliki token (admin
) membutuhkan setidaknya dua (2) persetujuan. Contoh perintah berikut menunjukkan bagaimana dua (2) admin dapat menggunakan Open SSL untuk menandatangani token secara kriptografis.
-
Dekode token unsigned base64 yang dikodekan dan letakkan ke dalam file biner:
$
echo -n '0l2LZkmAHZyAc1hPhyckOoVW33aGrgG77qmDHWQ3CJ8=' | base64 -d > admin.bin
-
Gunakan Open SSL dan kunci pribadi masing-masing dari pemberi persetujuan
(admin3)
untuk menandatangani token kuorum biner yang sekarang tidak ditandatangani untuk layanan pengguna dan membuat file tanda tangan biner:$
openssl pkeyutl -sign \ -inkey admin3.key \ -pkeyopt digest:sha256 \ -keyform PEM \ -in admin.bin \ -out admin.sig.bin
-
Mengkodekan tanda tangan biner ke base64:
$
base64 -w0 admin.sig.bin > admin.sig.b64
-
Terakhir, salin dan tempel tanda tangan yang dikodekan base64 ke dalam file token, mengikuti format literal JSON objek yang ditentukan sebelumnya untuk tanda tangan pemberi persetujuan:
{ "version": "2.0", "approval_data": "AAEAAwAAABgAAAAAAAAAAJ9eFkfcP3mNzJAlfK+OWbNhZG1pbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj5vbeAAAAAAAAAAAAAQADAAAAFQAAAAAAAAAAW/v5Euk83amq1fij0zyvD2FkbWluAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGPm9t4AAAAAAAAAAAABAAMAAAAUAAAAAAAAAABDw2XDwfK4hB8a15Xh1E0nYWRtaW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY+b23gAAAAAAAAAA", "token": "0l2LZkmAHZyAc1hPhyckOoVW33aGrgG77qmDHWQ3CJ8=", "signatures": [ { "username": "admin2", "role": "admin", "signature": "O6qx7/mUaVkYYVr1PW7l8JJko+Kh3e8zBIqdk3tAiNy+1rW+OsDtvYujhEU4aOFVLcrUFmyB/CX9OQmgJLgx/pyK+ZPEH+GoJGqk9YZ7X1nOXwZRP9g7hKV+7XCtg9TuDFtHYWDpBfz2jWiu2fXfX4/jTs4f2xIfFPIDKcSP8fhxjQ63xEcCf1jzGha6rDQMu4xUWWdtDgfT7um7EJ9dXNoHqLB7cTzphaubNaEFbFPXQ1siGmYKmvETlqe/ssktwyruGFLpXs1n0tJOEglGhx2qbYTs+omKWZdORl5WIWEXW3IXw/Dg5vVObrNpvG0eZKO8nSMc27+cyPySc+ZbNw==" }, { "username": "admin3", "role": "admin", "signature": "O6qx7/mUaVkYYVr1PW7l8JJko+Kh3e8zBIqdk3tAiNy+1rW+OsDtvYujhEU4aOFVLcrUFmyB/CX9OQmgJLgx/pyK+ZPEH+GoJGqk9YZ7X1nOXwZRP9g7hKV+7XCtg9TuDFtHYWDpBfz2jWiu2fXfX4/jTs4f2xIfFPIDKcSP8fhxjQ63xEcCf1jzGha6rDQMu4xUWWdtDgfT7um7EJ9dXNoHqLB7cTzphaubNaEFbFPXQ1siGmYKmvETlqe/ssktwyruGFLpXs1n0tJOEglGhx2qbYTs+omKWZdORl5WIWEXW3IXw/Dg5vVObrNpvG0eZKO8nSMc27+cyPySc+ZbNw==" } ] }
Langkah 3. Menyetujui token pada AWS CloudHSM
cluster dan menjalankan operasi manajemen pengguna
Setelah admin memiliki persetujuan/tanda tangan yang diperlukan, seperti yang dijelaskan di bagian sebelumnya, admin dapat menyediakan token tersebut ke AWS CloudHSM cluster bersama dengan salah satu operasi manajemen pengguna berikut:
Untuk informasi selengkapnya tentang menggunakan perintah ini, lihat Manajemen pengguna dengan Cloud HSM CLI.
Selama transaksi, token akan disetujui dalam AWS CloudHSM cluster dan menjalankan operasi manajemen pengguna yang diminta. Keberhasilan operasi manajemen pengguna bergantung pada token kuorum yang disetujui yang valid dan operasi manajemen pengguna yang valid.
Admin dapat menggunakan token hanya untuk satu operasi. Ketika operasi itu berhasil, token tidak lagi berlaku. Untuk melakukan operasi manajemen HSM pengguna lain, admin harus mengulangi proses yang diuraikan di atas. Artinya, admin harus membuat token kuorum baru, mendapatkan tanda tangan baru dari pemberi persetujuan, dan kemudian menyetujui dan menggunakan token baru HSM dengan operasi manajemen pengguna yang diminta.
catatan
Token kuorum hanya berlaku selama sesi login Anda saat ini terbuka. Jika Anda keluar dari Cloud HSM CLI atau jika jaringan terputus, token tidak lagi valid. Demikian pula, token resmi hanya dapat digunakan dalam Cloud HSMCLI. Itu tidak dapat digunakan untuk mengautentikasi dalam aplikasi yang berbeda.
contoh Membuat pengguna baru sebagai admin
Dalam contoh berikut, admin yang masuk membuat pengguna baru diHSM:
aws-cloudhsm >
user create --username user1 --role crypto-user --approval /path/admin.token
Enter password: Confirm password: { "error_code": 0, "data": { "username": "user1", "role": "crypto-user" } }
Admin kemudian memasukkan user list perintah untuk mengkonfirmasi pembuatan pengguna baru:
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": "user1", "role": "crypto-user", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "app_user", "role": "internal(APPLIANCE_USER)", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" } ] } }
Jika admin mencoba melakukan operasi manajemen HSM pengguna lain, itu gagal dengan kesalahan otentikasi kuorum:
aws-cloudhsm >
user delete --username user1 --role crypto-user
{ "error_code": 1, "data": "Quorum approval is required for this operation" }
Seperti yang ditunjukkan di bawah ini, quorum token-sign list perintah menunjukkan bahwa admin tidak memiliki token yang disetujui. Untuk melakukan operasi manajemen HSM pengguna lain, admin harus membuat token kuorum baru, mendapatkan tanda tangan baru dari pemberi persetujuan, dan menjalankan operasi manajemen pengguna yang diinginkan dengan argumen --approval untuk menyediakan token kuorum yang akan disetujui dan digunakan selama eksekusi operasi manajemen pengguna.
aws-cloudhsm >
quorum token-sign list
{ "error_code": 0, "data": { "tokens": [] } }