Panduan ini menunjukkan cara membuat, menyediakan, dan mengelola instance Cloud HSM Single-tenant menggunakan Google Cloud CLI. Setelah membuat dan menyediakan instance, Anda dapat membuat dan menggunakan kunci di instance menggunakan konsol Google Cloud , Cloud Key Management Service API, gcloud CLI, dan library klien.
Membuat dan mengelola instance Anda memerlukan autentikasi kuorum. Saat membuat instance, Anda menentukan jumlah persetujuan anggota kuorum yang diperlukan untuk menjalankan operasi instance. Anggota kuorum Anda harus selalu memiliki setidaknya sejumlah ini kunci kontrol yang tersedia untuk mempertahankan kontrol administratif atas instance Anda.
Sebelum memulai
- Tinjau dan terapkan praktik terbaik Single-tenant Cloud HSM saat membuat dan memelihara instance Anda.
- Tentukan jumlah anggota kuorum yang ingin Anda mulai. Anggota kuorum tambahan dapat ditambahkan nanti, jika disetujui oleh anggota kuorum yang ada. Jumlah minimum anggota kuorum adalah tiga.
- Tentukan jumlah anggota kuorum yang diperlukan untuk menyetujui proposal. Anda tidak dapat mengubah nomor ini setelah instance dibuat. Anggota kuorum Anda harus selalu memiliki akses ke sejumlah kunci kontrol ini untuk mempertahankan instance. Ukuran kuorum minimum adalah dua. Ukuran kuorum yang diperlukan harus lebih kecil dari jumlah anggota kuorum.
- Tentukan cara Anda memastikan instance diperbarui tepat waktu.
Anda harus memantau
disableDateinstance dan mengajukan, menyetujui, dan menjalankan operasi penggantian instance sebelum batas waktu untuk menghindari periode nonaktif yang tidak diinginkan. -
Untuk mendapatkan izin yang Anda perlukan guna membuat, mengelola, dan menggunakan instance Cloud HSM Single-tenant, minta administrator untuk memberi Anda peran IAM berikut pada project atau resource induk:
-
Buat proposal:
Pengusul HSM tenant tunggal Cloud KMS (
cloudkms.hsmSingleTenantProposer) -
Menyetujui proposal:
Anggota Kuorum HSM Single-Tenant Cloud KMS (
cloudkms.hsmSingleTenantQuorumMember) -
Menjalankan proposal:
Cloud KMS single-tenant HSM Executor (
cloudkms.hsmSingleTenantExecutor) -
Buat kunci:
Pembuat Kunci HSM Single-Tenant Cloud KMS (
roles/cloudkms.hsmSingleTenantKeyCreator)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
-
Buat proposal:
Pengusul HSM tenant tunggal Cloud KMS (
Untuk setiap anggota kuorum, buat satu pasangan kunci RSA-2048 untuk autentikasi 2 langkah (2FA). Sebaiknya gunakan token fisik untuk kunci kontrol Anda. Ikuti standar organisasi Anda untuk membuat pasangan kunci RSA-2048 di token fisik.
Untuk tujuan demonstrasi, panduan ini menggunakan OpenSSL untuk membuat tiga kunci RSA-2048 yang didukung software:
openssl genrsa -out rsaprivate1.pem openssl genrsa -out rsaprivate2.pem openssl genrsa -out rsaprivate3.pem openssl rsa -in rsaprivate1.pem -out rsapub1.pem --pubout openssl rsa -in rsaprivate2.pem -out rsapub2.pem --pubout openssl rsa -in rsaprivate3.pem -out rsapub3.pem --puboutSimpan kunci pribadi dengan aman; Anda memerlukannya untuk menyetujui proposal. Siapkan kunci publik; Anda akan memerlukannya untuk membuat instance Cloud HSM Single-tenant.
Pilih lokasi Cloud KMS yang mendukung Cloud HSM tenant tunggal. Untuk mengidentifikasi lokasi yang kompatibel, lihat daftar lokasi di halaman Lokasi Cloud KMS. Untuk filter HSM support, pilih Supports single-tenant HSM.
Membuat dan menyediakan instance
Untuk membuat dan menyediakan instance Cloud HSM Single-tenant, Anda menggunakan gcloud CLI untuk membuat resource instance, membuat proposal untuk mendaftarkan kunci autentikasi Anda, lalu menyetujui dan menjalankan proposal tersebut.
Buat instance
Langkah ini harus diselesaikan oleh administrator instance dengan peran Pengusul HSM Properti tenant tunggal Cloud KMS.
Tetapkan project default Anda.
gcloud config set project PROJECT_IDGanti PROJECT_ID dengan ID project Anda.
Buat instance Single-tenant Cloud HSM.
gcloud kms single-tenant-hsm create --location=LOCATION \ --total-approver-count=QUORUM_MEMBER_COUNT \ --single-tenant-hsm-instance-id=INSTANCE_IDGanti kode berikut:
LOCATION: lokasi tempat Anda ingin membuat instance—misalnya,us-central1.QUORUM_MEMBER_COUNT: jumlah total anggota kuorum. Ini juga merupakan jumlah kunci kontrol yang Anda buat sebelumnya. Nilai minimum adalah3. Kunci tambahan dapat ditambahkan nanti dengan persetujuan kuorum. Anda harus memiliki minimal satu anggota kuorum lebih banyak daripada ukuran kuorum yang diperlukan untuk memulihkan setelah kehilangan kunci kontrol.INSTANCE_ID: ID yang ingin Anda gunakan untuk instance—misalnya,example-sthsm-instance. Anda dapat menghilangkan flag--single-tenant-hsm-instance-idagar Cloud HSM menetapkan UUID.
Periksa status instance.
gcloud kms single-tenant-hsm describe INSTANCE_ID \ --location=LOCATIONGanti kode berikut:
INSTANCE_ID: ID instance Anda.LOCATION: lokasi tempat Anda membuat instance.
Jika statusnya
PENDING_TWO_FACTOR_AUTH_REGISTRATION, Anda dapat menyediakan instance. Biasanya perlu waktu antara 5 dan 30 menit untuk mencapai status ini.
Menyediakan instance
-
Buat proposal untuk mendaftarkan kunci autentikasi 2 langkah Anda menggunakan operasi
register_two_factor_auth_keys. Langkah ini memerlukan peran Pengusul HSM tenant tunggal Cloud KMS. Tidak seperti sebagian besar proposal, proposal register_two_factor_auth_keys memerlukan tantangan bertanda tangan dari semua anggota kuorum.gcloud kms single-tenant-hsm proposal create INSTANCE_ID
--single-tenant-hsm-instance-proposal-id PROPOSAL_ID
--location LOCATION
--operation-type register_two_factor_auth_keys
--required-approver-count MEMBERS_REQUIRED_FOR_APPROVAL
--two-factor-public-key-pems=PUBLIC_KEY_LISTGanti kode berikut:
INSTANCE_ID: ID instance Anda.PROPOSAL_IDID unik yang ingin Anda gunakan untuk proposal ini—misalnya,set-up-2fa.LOCATION: lokasi tempat Anda membuat instance.MEMBERS_REQUIRED_FOR_APPROVAL: jumlah anggota kuorum yang harus menyetujui proposal sebelum operasi dapat dieksekusi. Nilai minimum adalah2. Nilai ini tidak dapat diubah setelah instance disediakan. Anggota kuorum Anda harus selalu memiliki akses ke setidaknya sebanyak ini kunci kontrol untuk mempertahankan kontrol administratif instance.PUBLIC_KEY_LIST: daftar yang dipisahkan koma dari jalur ke bagian kunci publik dari semua kunci kontrol Anda—misalnya,rsapub1.pem,rsapub2.pem,rsapub3.pem. Jumlah kunci publik dalam daftar ini harus cocok dengan nilaiQUORUM_MEMBER_COUNTyang Anda gunakan sebelumnya.
-
Lihat status proposal dan tunggu hingga statusnya menjadi
PENDING.gcloud kms single-tenant-hsm proposal describe PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID \ --location LOCATION
Ganti kode berikut:
INSTANCE_ID: ID instance Anda.PROPOSAL_IDID proposal—misalnya,set-up-2fa.LOCATION: lokasi tempat Anda membuat instance.
Jika statusnya
PENDING, Anda dapat menandatangani tantangan. -
Dapatkan tantangan dari proposal. Penyediaan instance Single-tenant Cloud HSM baru memerlukan tantangan bertanda tangan dari semua anggota kuorum.
gcloud kms single-tenant-hsm proposal describe PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID \ --location LOCATION \ --format="json[](quorumParameters.challenges)"
Perintah ini menampilkan array tantangan berformat JSON.
-
Untuk setiap kunci, dekode tantangan menggunakan `basenc --base64url -d` dan tanda tangani dengan kunci pribadi yang sesuai.
echo CHALLENGE_N | basenc --base64url -d > decoded-challenge-N.txt openssl dgst -sign PRIVATE_KEY_N -out signed-challenge-N.txt decoded-challenge-N.txt
Ganti kode berikut:
N: nomor tantangan—misalnya,1untuk tantangan pertama,2untuk tantangan kedua, dan seterusnya.CHALLENGE_N: isi tantangan nomorNdari output langkah sebelumnya.PRIVATE_KEY_N: jalur ke nomor kunci pribadiN—misalnya,rsaprivate1.pemuntuk tantangan pertama.
-
Setujui proposal dengan mengupload tantangan yang ditandatangani. Anda dapat menguploadnya dalam satu perintah atau beberapa perintah. Langkah ini memerlukan peran Anggota Kuorum HSM tenant tunggal Cloud KMS.
gcloud kms single-tenant-hsm proposal approve PROPOSAL_ID \ --location LOCATION \ --single_tenant_hsm_instance INSTANCE_ID \ --quorum-challenge-replies="SIGNED_QUORUM_CHALLENGE_LIST"
Ganti
SIGNED_QUORUM_CHALLENGE_LISTdengan array tantangan berformat JSON, dengan setiap item daftar adalah tuple yang berisi jalur ke tantangan bertanda tangan dan jalur ke kunci publik yang sesuai—misalnya,[('signed-challenge-1.txt','rsapub1.pem'), ('signed-challenge-2.txt','rsapub2.pem')]untuk mengirimkan dua tantangan bertanda tangan pertama dalam satu perintah.Setelah Anda mengupload jumlah tantangan bertanda tangan yang diperlukan, status proposal akan diperbarui menjadi
APPROVED. -
Setelah proposal disetujui, gunakan perintah
executeuntuk menyelesaikan operasiregister_two_factor_auth_keys. Langkah ini memerlukan peran Cloud KMS single-tenant HSM Executor, dan harus diselesaikan dalam waktu 24 jam setelah proposal dibuat.gcloud kms single-tenant-hsm proposal execute PROPOSAL_ID
--single_tenant_hsm_instance INSTANCE_ID --location LOCATIONIni adalah operasi yang berjalan lama yang menyediakan pengguna dan membuat cadangan. Instance akan menjadi
ACTIVEsetelah 20 hingga 30 menit. Setelah instance
ACTIVE, lihat detail instance untuk melihatdisableDate:gcloud kms single-tenant-hsm describe INSTANCE_ID
--location=LOCATIONPerhatikan
disableDateinstance. Anda harus menyelesaikan operasirefresh_single_tenant_hsm_instancesebelum waktu ini, atau instance Anda akan dinonaktifkan.
Lihat instance
Pengguna dengan salah satu peran berikut dapat melihat daftar instance Cloud HSM Single-tenant dan statusnya:
- Pengusul HSM tenant tunggal Cloud KMS
- Anggota Kuorum HSM tenant tunggal Cloud KMS
- Cloud KMS single-tenant HSM Executor
- Cloud KMS Viewer
- Administrator Cloud KMS
Pastikan untuk meninjau status instance Anda secara berkala. Instance harus diperbarui secara rutin agar tetap Aktif.
Instance dalam status Aktif dapat digunakan. Developer yang perlu membuat atau mengimpor kunci di instance Single-tenant Cloud HSM memerlukan ID resource instance. ID resource menggunakan format berikut:
projects/INSTANCE_PROJECT/locations/LOCATION/singleTenantHsmInstances/INSTANCE_NAME
Untuk melihat instance di organisasi Anda dan menemukan ID resource-nya, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud , buka halaman KMS infrastructure.
Di kartu Single-tenant HSM instance, klik View. Halaman Instance HSM tenant tunggal menampilkan daftar semua instance Cloud HSM tenant tunggal yang izinnya Anda miliki untuk dilihat.
Untuk melihat detail instance, klik nama instance. Halaman Single-tenant HSM instance details menampilkan detail untuk instance yang dipilih, termasuk ID resource lengkap dari instance dan daftar proposal yang dibuat untuk instance tersebut.
Opsional: Untuk melihat atau mendownload kunci publik yang terkait dengan kunci otorisasi dua faktor (2FA) saat ini dari anggota kuorum Anda, klik Dapatkan kunci publik. Anda dapat membandingkan kunci publik dengan kunci 2FA pribadi Anda untuk memverifikasi kunci kontrol mana yang aktif.
gcloud
Lihat daftar instance yang ada menggunakan
metode kms single-tenant-hsm list.
gcloud kms single-tenant-hsm list projects/PROJECT_ID/locations/LOCATION
Ganti kode berikut:
PROJECT_ID: ID project tempat Anda ingin melihat instance Cloud HSM Single-tenant.LOCATION: lokasi tempat Anda ingin melihat instance Single-tenant Cloud HSM.
Lihat detail instance yang ada menggunakan
metode kms single-tenant-hsm describe.
gcloud kms single-tenant-hsm describe --location=LOCATION \ --singletenanthsminstance=INSTANCE_ID
Ganti kode berikut:
LOCATION: lokasi tempat Anda ingin melihat instance Single-tenant Cloud HSM.INSTANCE_ID: instance yang ingin Anda lihat detailnya.
Menggunakan instance
Saat instance Anda ACTIVE, Anda dapat membuat dan menggunakan kunci. Anda dapat membuat kunci Cloud HSM tenant tunggal di key ring yang ada di lokasi yang sama dengan instance Cloud HSM Tenant Tunggal yang aktif.
Pembuatan kunci Cloud HSM tenant tunggal memerlukan peran Pembuat Kunci HSM tenant tunggal Cloud KMS selain peran Admin Cloud KMS.
Setelah dibuat, penggunaan kunci Cloud HSM tenant tunggal tidak memerlukan izin khusus.
Buat kunci
Saat membuat kunci Cloud HSM tenant tunggal, Anda harus menentukan instance Cloud HSM Tenant Tunggal tempat Anda ingin membuatnya. Jika tidak, prosesnya mirip dengan membuat kunci lainnya. Untuk mengetahui petunjuk selengkapnya, lihat Membuat kunci.
Mengimpor kunci
Saat mengimpor materi kunci ke kunci Cloud HSM tenant tunggal, Anda harus menentukan instance Cloud HSM tenant tunggal tempat Anda ingin menyimpannya. Jika tidak, prosesnya mirip dengan mengimpor kunci lainnya. Untuk mengetahui petunjuk mendetail, lihat Mengimpor versi kunci ke Cloud Key Management Service.
Menggunakan kunci
Setelah kunci dibuat, penggunaan kunci Cloud HSM tenant tunggal identik dengan penggunaan kunci Cloud HSM lainnya. Anda tidak perlu menentukan instance Cloud HSM Single-tenant untuk menggunakan kunci.
Memelihara instance
Setelah instance Anda disediakan, Anda bertanggung jawab untuk memelihara instance tersebut. Anda mengelola instance dengan membuat proposal untuk operasi pemeliharaan, mendapatkan persetujuan kuorum, lalu menjalankan operasi yang disetujui. Hanya satu proposal yang dapat aktif dalam satu waktu; jika Anda memilih untuk tidak melanjutkan proposal, Anda tidak dapat mengusulkan operasi lain hingga Anda menghapus proposal aktif atau menunggu hingga proposal berakhir.
Anda harus memuat ulang instance sebelum disableDate. Jika Anda perlu
memeriksa disableDate instance, Anda dapat melihat detail
instance.
Melihat proposal instance
Untuk melihat proposal instance, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud , buka halaman KMS infrastructure.
Di kartu Single-tenant HSM instance, klik View. Halaman Instance HSM tenant tunggal menampilkan daftar semua instance Cloud HSM tenant tunggal yang izinnya Anda miliki untuk dilihat.
Cari instance tempat Anda ingin melihat proposal, lalu klik nama instance. Halaman Single-tenant HSM instance details menampilkan detail untuk instance, termasuk daftar proposal yang dibuat untuk instance tersebut.
Opsional: Untuk memfilter daftar saran, klik Filter, lalu masukkan kriteria filter Anda. Misalnya, Anda dapat memfilter daftar untuk hanya melihat proposal yang menunggu persetujuan atau hanya proposal yang telah berhasil diselesaikan.
gcloud
-
Lihat daftar proposal yang ada menggunakan metode
kms single-tenant-hsm proposal list.gcloud kms single-tenant-hsm proposal list --location=LOCATION \ --singletenanthsminstance=INSTANCE_ID
Ganti kode berikut:
LOCATION: lokasi tempat Anda ingin melihat instance Single-tenant Cloud HSM.INSTANCE_ID: ID instance Cloud HSM Single-tenant yang ingin Anda lihat proposalnya.
Memuat ulang instance
Anda dapat memuat ulang instance agar tetap diupdate dan membantu mencegah periode nonaktif yang tidak direncanakan. Operasi ini memerlukan autentikasi kuorum. Setelah proposal disetujui, operasi ini memerlukan waktu sekitar 15 hingga 30 menit hingga selesai.
Saat Anda memperbarui instance, disableDate disetel ke 120 hari
dari waktu pembaruan.
-
Buat proposal untuk memperbarui instance menggunakan jenis operasi
refresh_single_tenant_hsm_instance. Langkah ini memerlukan peran Pengusul HSM tenant tunggal Cloud KMS.gcloud kms single-tenant-hsm proposal create INSTANCE_ID \ --location LOCATION \ --single-tenant-hsm-instance-proposal-id PROPOSAL_ID \ --operation-type refresh_single_tenant_hsm_instance
Ganti kode berikut:
INSTANCE_ID: ID instance.LOCATION: lokasi tempat Anda membuat instance.PROPOSAL_ID: ID unik yang ingin Anda gunakan untuk proposal ini—misalnya,refresh_instance.
-
Lihat status proposal dan tunggu hingga statusnya menjadi
PENDING.gcloud kms single-tenant-hsm proposal describe PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID \ --location LOCATION
Ganti kode berikut:
INSTANCE_ID: ID instance Anda.PROPOSAL_IDID proposal—misalnya,refresh_instance.LOCATION: lokasi tempat Anda membuat instance.
Jika statusnya
PENDING, Anda dapat menandatangani tantangan. -
Dapatkan tantangan dari proposal.
gcloud kms single-tenant-hsm proposal describe PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID \ --location LOCATION \ --format="json[](quorumParameters.challenges)"
Perintah ini menampilkan array tantangan berformat JSON.
-
Untuk setiap tantangan yang ditampilkan pada langkah sebelumnya, dekode tantangan menggunakan
basenc --base64url -ddan tandatangani dengan kunci pribadi.echo CHALLENGE_N | basenc --base64url -d > decoded-challenge-N.txt openssl dgst -sign PRIVATE_KEY_N -out signed-challenge-N.txt decoded-challenge-N.txt
Ganti kode berikut:
N: nomor tantangan—misalnya,1untuk tantangan pertama,2untuk tantangan kedua, dan seterusnya.CHALLENGE_N: isi tantangan nomorNdari output langkah sebelumnya.PRIVATE_KEY_N: jalur ke nomor kunci pribadiN—misalnya,rsaprivate1.pemuntuk tantangan pertama.
-
Setujui proposal dengan mengupload tantangan yang ditandatangani. Anda dapat menguploadnya dalam satu perintah atau beberapa perintah. Langkah ini memerlukan peran Anggota Kuorum HSM tenant tunggal Cloud KMS.
gcloud kms single-tenant-hsm proposal approve PROPOSAL_ID \ --location LOCATION \ --single_tenant_hsm_instance INSTANCE_ID \ --quorum-challenge-replies="SIGNED_QUORUM_CHALLENGE_LIST"
Ganti
SIGNED_QUORUM_CHALLENGE_LISTdengan array tantangan berformat JSON, dengan setiap item daftar adalah tuple yang berisi jalur ke tantangan bertanda tangan dan jalur ke kunci publik yang sesuai—misalnya,[('signed-challenge-1.txt','rsapub1.pem'), ('signed-challenge-2.txt','rsapub2.pem')]untuk mengirimkan dua tantangan bertanda tangan pertama dalam satu perintah.Setelah Anda mengupload jumlah tantangan bertanda tangan yang diperlukan, status proposal akan diperbarui menjadi
APPROVED. -
Jalankan proposal. Langkah ini memerlukan peran Cloud KMS single-tenant HSM Executor, dan harus diselesaikan dalam waktu 24 jam setelah proposal dibuat.
gcloud kms single-tenant-hsm proposal execute PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID --location LOCATION
Setelah operasi selesai, instance tetap dalam status `AKTIF` dan
disableDatedisetel ke 120 hari sejak waktu penyegaran.
Menambahkan anggota kuorum
Anda dapat menambahkan anggota kuorum ke instance. Operasi ini memerlukan autentikasi kuorum. Setelah proposal disetujui, operasi ini memerlukan waktu sekitar 15 hingga 30 menit untuk selesai.
Buat pasangan kunci RSA-2048 baru untuk anggota kuorum baru. Ikuti standar organisasi Anda untuk membuat pasangan kunci RSA-2048 di token fisik.
Simpan kunci pribadi dengan aman; Anda memerlukannya untuk menyetujui proposal. Siapkan kunci publik; Anda memerlukannya untuk menambahkan anggota kuorum baru ke instance Cloud HSM Single-tenant.
-
Buat proposal untuk menambahkan anggota kuorum ke instance menggunakan operasi
add_quorum_member. Langkah ini memerlukan peran Pengusul HSM tenant tunggal Cloud KMS.gcloud kms single-tenant-hsm proposal create INSTANCE_ID \ --location LOCATION \ --single-tenant-hsm-instance-proposal-id PROPOSAL_ID \ --operation-type add_quorum_member \ --two_factor_public_key_pem PATH_TO_PUBLIC_KEY
Ganti kode berikut:
INSTANCE_ID: ID instance.LOCATION: lokasi tempat Anda membuat instance.PROPOSAL_ID: ID unik yang ingin Anda gunakan untuk proposal ini—misalnya,add_quorum_member.PATH_TO_PUBLIC_KEY: jalur ke kunci publik baru—misalnya,rsapub4.pem.
-
Lihat status proposal dan tunggu hingga statusnya menjadi
PENDING.gcloud kms single-tenant-hsm proposal describe PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID \ --location LOCATION
Ganti kode berikut:
INSTANCE_ID: ID instance Anda.PROPOSAL_IDID proposal—misalnya,add_quorum_member.LOCATION: lokasi tempat Anda membuat instance.
Jika statusnya
PENDING, Anda dapat menandatangani tantangan. -
Dapatkan tantangan dari proposal. Menambahkan anggota kuorum baru memerlukan tantangan bertanda tangan dari kuorum anggota yang ada ditambah tantangan bertanda tangan dari anggota baru menggunakan kunci baru.
gcloud kms single-tenant-hsm proposal describe PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID \ --location LOCATION \ --format="json[](requiredActionQuorumParameters.requiredChallenges,requiredActionQuorumParameters.quorumChallenges)"
Perintah ini menampilkan array tantangan berformat JSON. Kolom
requiredActionQuorumParameters.requiredChallengesberisi tantangan untuk kunci baru yang Anda daftarkan. KolomrequiredActionQuorumParameters.quorumChallengesberisi tantangan untuk kuorum kunci yang ada. Anda harus menandatangani semua tantangan dalam objekrequiredActionQuorumParameters. -
Untuk setiap tantangan yang ditampilkan pada langkah sebelumnya, dekode tantangan menggunakan
basenc --base64url -ddan tandatangani dengan kunci pribadi.echo CHALLENGE_N | basenc --base64url -d > decoded-challenge-N.txt openssl dgst -sign PRIVATE_KEY_N -out signed-challenge-N.txt decoded-challenge-N.txt
Ganti kode berikut:
N: nomor tantangan—misalnya,1untuk tantangan pertama,2untuk tantangan kedua, dan seterusnya.CHALLENGE_N: isi tantangan nomorNdari output langkah sebelumnya.PRIVATE_KEY_N: jalur ke nomor kunci pribadiN—misalnya,rsaprivate1.pemuntuk tantangan pertama.
-
Setujui proposal dengan mengupload tantangan yang ditandatangani. Anda dapat menguploadnya dalam satu perintah atau beberapa perintah. Langkah ini memerlukan peran Anggota Kuorum HSM tenant tunggal Cloud KMS.
gcloud kms single-tenant-hsm proposal approve PROPOSAL_ID \ --location LOCATION \ --single_tenant_hsm_instance INSTANCE_ID \ --quorum-challenge-replies="SIGNED_QUORUM_CHALLENGE_LIST" \ --required-challenge-replies="SIGNED_REQUIRED_CHALLENGE_LIST"
Ganti kode berikut:
SIGNED_QUORUM_CHALLENGE_LIST: array berformat JSON dari tantangan yang ditandatangani menggunakan kunci pribadi yang sudah terdaftar, dengan setiap item daftar adalah tuple yang berisi jalur ke tantangan yang ditandatangani dan jalur ke kunci publik yang sesuai—misalnya,[('signed-challenge-1.txt','rsapub1.pem'), ('signed-challenge-2.txt','rsapub2.pem')]untuk mengirimkan dua tantangan yang ditandatangani pertama dalam satu perintah.SIGNED_REQUIRED_CHALLENGE_LIST: array berformat JSON yang berisi tantangan yang ditandatangani menggunakan kunci pribadi baru, dengan satu-satunya item daftar adalah tuple yang berisi jalur ke tantangan yang ditandatangani dan jalur ke kunci publik yang sesuai—misalnya,[('signed-challenge-newkey.txt','rsapub-newkey.pem')].
Setelah Anda mengupload jumlah tantangan bertanda tangan yang diperlukan, status proposal akan diperbarui menjadi
APPROVED. -
Jalankan proposal. Langkah ini memerlukan peran Cloud KMS single-tenant HSM Executor, dan harus diselesaikan dalam waktu 24 jam setelah proposal dibuat.
gcloud kms single-tenant-hsm proposal execute PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID --location LOCATION
Setelah operasi selesai, anggota kuorum baru dapat berpartisipasi dalam tantangan untuk menyetujui proposal. Kunci publik yang Anda tambahkan kini disertakan dalam daftar kunci publik di detail instance.
Menghapus anggota kuorum
Jika Anda memiliki lebih banyak anggota kuorum daripada ukuran kuorum yang diperlukan, Anda dapat menghapus anggota kuorum dari instance. Operasi ini memerlukan autentikasi kuorum. Setelah proposal disetujui, operasi ini memerlukan waktu sekitar 15 hingga 30 menit untuk diselesaikan.
-
Buat proposal untuk menghapus anggota kuorum ke instance menggunakan operasi
remove_quorum_member. Langkah ini memerlukan peran Pengusul HSM tenant tunggal Cloud KMS.gcloud kms single-tenant-hsm proposal create INSTANCE_ID \ --location LOCATION \ --single-tenant-hsm-instance-proposal-id PROPOSAL_ID \ --operation-type remove_quorum_member \ --two_factor_public_key_pem PATH_TO_PUBLIC_KEY
Ganti kode berikut:
INSTANCE_ID: ID instance.LOCATION: lokasi tempat Anda membuat instance.PROPOSAL_ID: ID unik yang ingin Anda gunakan untuk proposal ini—misalnya,remove_quorum_member.PATH_TO_PUBLIC_KEY: jalur ke kunci publik yang ingin Anda hapus dari instance—misalnya,rsapub3.pem. Setelah operasi selesai, kunci pribadi yang sesuai tidak dapat digunakan untuk menyetujui proposal.
-
Lihat status proposal dan tunggu hingga statusnya menjadi
PENDING.gcloud kms single-tenant-hsm proposal describe PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID \ --location LOCATION
Ganti kode berikut:
INSTANCE_ID: ID instance Anda.PROPOSAL_IDID proposal—misalnya,remove_quorum_member.LOCATION: lokasi tempat Anda membuat instance.
Jika statusnya
PENDING, Anda dapat menandatangani tantangan. -
Dapatkan tantangan dari proposal.
gcloud kms single-tenant-hsm proposal describe PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID \ --location LOCATION \ --format="json[](quorumParameters.challenges)"
Perintah ini menampilkan array tantangan berformat JSON.
-
Untuk setiap tantangan yang ditampilkan pada langkah sebelumnya, dekode tantangan menggunakan
basenc --base64url -ddan tandatangani dengan kunci pribadi.echo CHALLENGE_N | basenc --base64url -d > decoded-challenge-N.txt openssl dgst -sign PRIVATE_KEY_N -out signed-challenge-N.txt decoded-challenge-N.txt
Ganti kode berikut:
N: nomor tantangan—misalnya,1untuk tantangan pertama,2untuk tantangan kedua, dan seterusnya.CHALLENGE_N: isi tantangan nomorNdari output langkah sebelumnya.PRIVATE_KEY_N: jalur ke nomor kunci pribadiN—misalnya,rsaprivate1.pemuntuk tantangan pertama.
-
Setujui proposal dengan mengupload tantangan yang ditandatangani. Anda dapat menguploadnya dalam satu perintah atau beberapa perintah. Langkah ini memerlukan peran Anggota Kuorum HSM tenant tunggal Cloud KMS.
gcloud kms single-tenant-hsm proposal approve PROPOSAL_ID \ --location LOCATION \ --single_tenant_hsm_instance INSTANCE_ID \ --quorum-challenge-replies="SIGNED_QUORUM_CHALLENGE_LIST"
Ganti
SIGNED_QUORUM_CHALLENGE_LISTdengan array tantangan berformat JSON, dengan setiap item daftar adalah tuple yang berisi jalur ke tantangan bertanda tangan dan jalur ke kunci publik yang sesuai—misalnya,[('signed-challenge-1.txt','rsapub1.pem'), ('signed-challenge-2.txt','rsapub2.pem')]untuk mengirimkan dua tantangan bertanda tangan pertama dalam satu perintah.Setelah Anda mengupload jumlah tantangan bertanda tangan yang diperlukan, status proposal akan diperbarui menjadi
APPROVED. -
Jalankan proposal. Langkah ini memerlukan peran Cloud KMS single-tenant HSM Executor, dan harus diselesaikan dalam waktu 24 jam setelah proposal dibuat.
gcloud kms single-tenant-hsm proposal execute PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID --location LOCATION
Setelah operasi selesai, anggota kuorum yang dihapus tidak dapat lagi berpartisipasi dalam tantangan untuk menyetujui proposal. Kunci publik yang Anda hapus tidak lagi disertakan dalam daftar kunci publik di detail instance.
Menonaktifkan instance
Anda dapat menonaktifkan instance untuk memblokir sementara akses ke semua kuncinya. Operasi ini memerlukan autentikasi kuorum. Setelah proposal disetujui, operasi ini membutuhkan waktu sekitar 15 hingga 30 menit untuk diselesaikan.
Saat instance dinonaktifkan, kunci yang disimpan di instance tersebut tetap muncul sebagai ACTIVE, tetapi tidak dapat digunakan. Mencoba melakukan operasi kriptografi dengan kunci di instance yang dinonaktifkan akan menyebabkan error.
-
Buat proposal untuk menonaktifkan instance menggunakan jenis operasi
disable_single_tenant_hsm_instance. Langkah ini memerlukan peran Pengusul HSM tenant tunggal Cloud KMS.gcloud kms single-tenant-hsm proposal create INSTANCE_ID \ --location LOCATION \ --single-tenant-hsm-instance-proposal-id PROPOSAL_ID \ --operation-type disable_single_tenant_hsm_instance
Ganti kode berikut:
INSTANCE_ID: ID instance.LOCATION: lokasi tempat Anda membuat instance.PROPOSAL_ID: ID unik yang ingin Anda gunakan untuk proposal ini—misalnya,disable_instance.
-
Lihat status proposal dan tunggu hingga statusnya menjadi
PENDING.gcloud kms single-tenant-hsm proposal describe PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID \ --location LOCATION
Ganti kode berikut:
INSTANCE_ID: ID instance Anda.PROPOSAL_IDID proposal—misalnya,disable_instance.LOCATION: lokasi tempat Anda membuat instance.
Jika statusnya
PENDING, Anda dapat menandatangani tantangan. -
Dapatkan tantangan dari proposal.
gcloud kms single-tenant-hsm proposal describe PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID \ --location LOCATION \ --format="json[](quorumParameters.challenges)"
Perintah ini menampilkan array tantangan berformat JSON.
-
Untuk setiap tantangan yang ditampilkan pada langkah sebelumnya, dekode tantangan menggunakan
basenc --base64url -ddan tandatangani dengan kunci pribadi.echo CHALLENGE_N | basenc --base64url -d > decoded-challenge-N.txt openssl dgst -sign PRIVATE_KEY_N -out signed-challenge-N.txt decoded-challenge-N.txt
Ganti kode berikut:
N: nomor tantangan—misalnya,1untuk tantangan pertama,2untuk tantangan kedua, dan seterusnya.CHALLENGE_N: isi tantangan nomorNdari output langkah sebelumnya.PRIVATE_KEY_N: jalur ke nomor kunci pribadiN—misalnya,rsaprivate1.pemuntuk tantangan pertama.
-
Setujui proposal dengan mengupload tantangan yang ditandatangani. Anda dapat menguploadnya dalam satu perintah atau beberapa perintah. Langkah ini memerlukan peran Anggota Kuorum HSM tenant tunggal Cloud KMS.
gcloud kms single-tenant-hsm proposal approve PROPOSAL_ID \ --location LOCATION \ --single_tenant_hsm_instance INSTANCE_ID \ --quorum-challenge-replies="SIGNED_QUORUM_CHALLENGE_LIST"
Ganti
SIGNED_QUORUM_CHALLENGE_LISTdengan array tantangan berformat JSON, dengan setiap item daftar adalah tuple yang berisi jalur ke tantangan bertanda tangan dan jalur ke kunci publik yang sesuai—misalnya,[('signed-challenge-1.txt','rsapub1.pem'), ('signed-challenge-2.txt','rsapub2.pem')]untuk mengirimkan dua tantangan bertanda tangan pertama dalam satu perintah.Setelah Anda mengupload jumlah tantangan bertanda tangan yang diperlukan, status proposal akan diperbarui menjadi
APPROVED. -
Jalankan proposal. Langkah ini memerlukan peran Cloud KMS single-tenant HSM Executor, dan harus diselesaikan dalam waktu 24 jam setelah proposal dibuat.
gcloud kms single-tenant-hsm proposal execute PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID --location LOCATION
Setelah operasi selesai, instance tetap dalam status
DISABLEDdan tidak dapat digunakan hingga diaktifkan kembali.
Mengaktifkan instance
Anda dapat mengaktifkan kembali instance DISABLED untuk memulihkan akses ke instance tersebut dan kuncinya.
Operasi ini memerlukan autentikasi kuorum. Setelah proposal disetujui,
operasi ini memerlukan waktu sekitar 15 hingga 30 menit untuk diselesaikan.
-
Buat proposal untuk mengaktifkan instance menggunakan jenis operasi
enable_single_tenant_hsm_instance. Langkah ini memerlukan peran Pengusul HSM tenant tunggal Cloud KMS.gcloud kms single-tenant-hsm proposal create INSTANCE_ID \ --location LOCATION \ --single-tenant-hsm-instance-proposal-id PROPOSAL_ID \ --operation-type enable_single_tenant_hsm_instance
Ganti kode berikut:
INSTANCE_ID: ID instance.LOCATION: lokasi tempat Anda membuat instance.PROPOSAL_ID: ID unik yang ingin Anda gunakan untuk proposal ini—misalnya,enable_instance.
-
Lihat status proposal dan tunggu hingga statusnya menjadi
PENDING.gcloud kms single-tenant-hsm proposal describe PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID \ --location LOCATION
Ganti kode berikut:
INSTANCE_ID: ID instance Anda.PROPOSAL_IDID proposal—misalnya,enable_instance.LOCATION: lokasi tempat Anda membuat instance.
Jika statusnya
PENDING, Anda dapat menandatangani tantangan. -
Dapatkan tantangan dari proposal.
gcloud kms single-tenant-hsm proposal describe PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID \ --location LOCATION \ --format="json[](quorumParameters.challenges)"
Perintah ini menampilkan array tantangan berformat JSON.
-
Untuk setiap tantangan yang ditampilkan pada langkah sebelumnya, dekode tantangan menggunakan
basenc --base64url -ddan tandatangani dengan kunci pribadi.echo CHALLENGE_N | basenc --base64url -d > decoded-challenge-N.txt openssl dgst -sign PRIVATE_KEY_N -out signed-challenge-N.txt decoded-challenge-N.txt
Ganti kode berikut:
N: nomor tantangan—misalnya,1untuk tantangan pertama,2untuk tantangan kedua, dan seterusnya.CHALLENGE_N: isi tantangan nomorNdari output langkah sebelumnya.PRIVATE_KEY_N: jalur ke nomor kunci pribadiN—misalnya,rsaprivate1.pemuntuk tantangan pertama.
-
Setujui proposal dengan mengupload tantangan yang ditandatangani. Anda dapat menguploadnya dalam satu perintah atau beberapa perintah. Langkah ini memerlukan peran Anggota Kuorum HSM tenant tunggal Cloud KMS.
gcloud kms single-tenant-hsm proposal approve PROPOSAL_ID \ --location LOCATION \ --single_tenant_hsm_instance INSTANCE_ID \ --quorum-challenge-replies="SIGNED_QUORUM_CHALLENGE_LIST"
Ganti
SIGNED_QUORUM_CHALLENGE_LISTdengan array tantangan berformat JSON, dengan setiap item daftar adalah tuple yang berisi jalur ke tantangan bertanda tangan dan jalur ke kunci publik yang sesuai—misalnya,[('signed-challenge-1.txt','rsapub1.pem'), ('signed-challenge-2.txt','rsapub2.pem')]untuk mengirimkan dua tantangan bertanda tangan pertama dalam satu perintah.Setelah Anda mengupload jumlah tantangan bertanda tangan yang diperlukan, status proposal akan diperbarui menjadi
APPROVED. -
Jalankan proposal. Langkah ini memerlukan peran Cloud KMS single-tenant HSM Executor, dan harus diselesaikan dalam waktu 24 jam setelah proposal dibuat.
gcloud kms single-tenant-hsm proposal execute PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID --location LOCATION
Setelah operasi selesai, instance akan kembali ke status `AKTIF` dan
disableDatedisetel ke 120 hari sejak waktu penyegaran.
Menghapus instance
Anda dapat menghapus instance untuk menghancurkannya dan kuncinya secara permanen. Operasi ini memerlukan autentikasi kuorum. Setelah proposal disetujui, operasi ini membutuhkan waktu sekitar 15 hingga 30 menit untuk diselesaikan.
Setelah instance dihapus, kunci yang disimpan di instance tersebut masih muncul sebagai
ACTIVE, tetapi tidak dapat digunakan. Mencoba melakukan operasi kriptografis dengan kunci di instance yang dihapus akan menghasilkan error.
-
Buat proposal untuk menghapus instance menggunakan jenis operasi
delete_single_tenant_hsm_instance. Langkah ini memerlukan peran Pengusul HSM tenant tunggal Cloud KMS.gcloud kms single-tenant-hsm proposal create INSTANCE_ID \ --location LOCATION \ --single-tenant-hsm-instance-proposal-id PROPOSAL_ID \ --operation-type delete_single_tenant_hsm_instance
Ganti kode berikut:
INSTANCE_ID: ID instance yang ingin Anda hapus.LOCATION: lokasi tempat Anda membuat instance.PROPOSAL_ID: ID unik yang ingin Anda gunakan untuk proposal ini—misalnya,delete_instance.
-
Lihat status proposal dan tunggu hingga statusnya menjadi
PENDING.gcloud kms single-tenant-hsm proposal describe PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID \ --location LOCATION
Ganti kode berikut:
INSTANCE_ID: ID instance Anda.PROPOSAL_IDID proposal—misalnya,delete_instance.LOCATION: lokasi tempat Anda membuat instance.
Jika statusnya
PENDING, Anda dapat menandatangani tantangan. -
Dapatkan tantangan dari proposal.
gcloud kms single-tenant-hsm proposal describe PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID \ --location LOCATION \ --format="json[](quorumParameters.challenges)"
Perintah ini menampilkan array tantangan berformat JSON.
-
Untuk setiap tantangan yang ditampilkan pada langkah sebelumnya, dekode tantangan menggunakan
basenc --base64url -ddan tandatangani dengan kunci pribadi.echo CHALLENGE_N | basenc --base64url -d > decoded-challenge-N.txt openssl dgst -sign PRIVATE_KEY_N -out signed-challenge-N.txt decoded-challenge-N.txt
Ganti kode berikut:
N: nomor tantangan—misalnya,1untuk tantangan pertama,2untuk tantangan kedua, dan seterusnya.CHALLENGE_N: isi tantangan nomorNdari output langkah sebelumnya.PRIVATE_KEY_N: jalur ke nomor kunci pribadiN—misalnya,rsaprivate1.pemuntuk tantangan pertama.
-
Setujui proposal dengan mengupload tantangan yang ditandatangani. Anda dapat menguploadnya dalam satu perintah atau beberapa perintah. Langkah ini memerlukan peran Anggota Kuorum HSM tenant tunggal Cloud KMS.
gcloud kms single-tenant-hsm proposal approve PROPOSAL_ID \ --location LOCATION \ --single_tenant_hsm_instance INSTANCE_ID \ --quorum-challenge-replies="SIGNED_QUORUM_CHALLENGE_LIST"
Ganti
SIGNED_QUORUM_CHALLENGE_LISTdengan array tantangan berformat JSON, dengan setiap item daftar adalah tuple yang berisi jalur ke tantangan bertanda tangan dan jalur ke kunci publik yang sesuai—misalnya,[('signed-challenge-1.txt','rsapub1.pem'), ('signed-challenge-2.txt','rsapub2.pem')]untuk mengirimkan dua tantangan bertanda tangan pertama dalam satu perintah.Setelah Anda mengupload jumlah tantangan bertanda tangan yang diperlukan, status proposal akan diperbarui menjadi
APPROVED. -
Pastikan Anda ingin melanjutkan untuk menghapus instance dan menghancurkan secara kriptografis semua data yang dienkripsi menggunakan kunci yang dibuat di instance ini, lalu jalankan proposal. Langkah ini memerlukan peran Cloud KMS single-tenant HSM Executor, dan harus diselesaikan dalam waktu 24 jam setelah proposal dibuat.
Peringatan: Perintah berikut tidak dapat diurungkan. Kehilangan data permanen dapat terjadi. Google tidak dapat membantu Anda memulihkan kunci di instance yang dihapus.gcloud kms single-tenant-hsm proposal execute PROPOSAL_ID \ --single_tenant_hsm_instance INSTANCE_ID --location LOCATION
Setelah operasi selesai, instance akan dihapus.
Menghapus proposal
Jika memutuskan untuk tidak menyetujui atau menjalankan proposal, Anda dapat menghapus proposal tersebut sebelum masa berlakunya berakhir. Menghapus proposal yang menunggu keputusan akan mencegah Anda menyetujuinya, dan memungkinkan Anda membuat proposal baru. Menghapus proposal yang disetujui akan mencegah Anda menjalankan operasi.
-
Hapus proposal menggunakan perintah
proposal delete. Tindakan ini memerlukan peran Cloud KMS single-tenant HSM Proposer.gcloud kms single-tenant-hsm proposal delete PROPOSAL_ID \ --location LOCATION \ --single_tenant_hsm_instance INSTANCE_ID
Ganti kode berikut:
INSTANCE_ID: ID instance.LOCATION: lokasi tempat Anda membuat instance.PROPOSAL_ID: ID unik proposal yang ingin Anda hapus—misalnya,proposal_to_delete.
Langkah berikutnya
- Pelajari lebih lanjut Cloud HSM tenant tunggal.