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 2048Generating 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
-
Gunakan perintah berikut untuk memulai CloudHSM CLI:
-
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" } }
-
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
Dekode token unsigned base64 yang dikodekan dan letakkan ke dalam file biner:
$
echo -n '6BMUj6mUjjko6ZLCEdzGlWpR5sILhFJfqhW1ej3Oq1g=' | base64 -d > admin.bin
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
-
Mengkodekan tanda tangan biner ke base64:
$
base64 -w0 admin.sig.bin > admin.sig.b64
-
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
-
Gunakan perintah berikut untuk memulai CloudHSM CLI:
-
Menggunakan CloudHSM CLI, masuk sebagai admin.
aws-cloudhsm >
login --username admin --role admin
Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } } -
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
-
Gunakan perintah berikut untuk memulai CloudHSM CLI:
-
Menggunakan CloudHSM CLI, masuk sebagai admin.
aws-cloudhsm >
login --username admin --role admin
Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } } -
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 |
|
kuorum | Admin |
|
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).