Topik ini menunjukkan cara mengimpor kunci kriptografis ke Cloud HSM atau Cloud Key Management Service sebagai versi kunci baru.
Untuk detail selengkapnya tentang cara mengimpor kunci, termasuk batasan dan pembatasan, lihat impor kunci.
Anda dapat menyelesaikan langkah-langkah dalam topik ini dalam waktu 5 hingga 10 menit, tidak termasuk langkah Sebelum memulai. Menggabungkan kunci secara manual akan menambah kerumitan pada tugas.
Sebelum memulai
Sebaiknya buat project baru untuk menguji fitur ini, untuk memudahkan pembersihan setelah pengujian, dan untuk memastikan bahwa Anda memiliki izin Identity and Access Management (IAM) yang memadai untuk mengimpor kunci.
Sebelum dapat mengimpor kunci, Anda harus menyiapkan project, sistem lokal, dan kunci itu sendiri.
Mempersiapkan proyek
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API yang diperlukan.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API yang diperlukan.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Pengguna yang melakukan impor memerlukan izin IAM berikut untuk membuat key ring, kunci, dan tugas impor. Jika pengguna bukan pemilik project, Anda dapat menetapkan kedua dari dua peran yang telah ditetapkan berikut kepada pengguna:
roles/editor
roles/cloudkms.importer
Untuk mengetahui informasi selengkapnya tentang peran IAM yang tersedia dan izin untuk Cloud KMS, lihat Izin dan peran.
Menyiapkan sistem lokal
Siapkan sistem lokal dengan memilih salah satu opsi berikut. Penggabungan kunci otomatis direkomendasikan untuk sebagian besar pengguna.
- Jika ingin mengizinkan Google Cloud CLI untuk menggabungkan kunci secara otomatis sebelum mengirimkannya ke Google Cloud, Anda harus menginstal library kriptografi Pyca di sistem lokal. Library Pyca digunakan oleh tugas impor yang menggabungkan dan melindungi kunci secara lokal sebelum mengirimkannya ke Google Cloud.
- Jika ingin menggabungkan kunci secara manual, Anda harus mengonfigurasi OpenSSL untuk penggabungan kunci manual.
Menyiapkan kunci
Pastikan algoritma dan panjang kunci Anda didukung. Algoritma yang diizinkan untuk kunci bergantung pada apakah kunci tersebut digunakan untuk enkripsi simetris, enkripsi asimetris, atau penandatanganan asimetris, serta apakah kunci disimpan dalam software atau HSM. Anda menentukan algoritma kunci sebagai bagian dari permintaan impor.
Secara terpisah, Anda juga harus memverifikasi cara kunci dienkode, dan melakukan penyesuaian jika perlu.
Hal berikut tidak dapat diubah untuk versi kunci setelah dibuat atau diimpor:
Tingkat perlindungan menunjukkan apakah kunci tetap ada dalam software, di HSM, atau dalam sistem pengelolaan kunci eksternal. Materi kunci tidak dapat dipindahkan dari salah satu lingkungan penyimpanan ini ke lingkungan penyimpanan lainnya. Semua versi kunci memiliki level perlindungan yang sama.
Tujuan menunjukkan apakah versi kunci digunakan untuk enkripsi simetris, enkripsi asimetris, atau penandatanganan asimetris. Tujuan kunci ini membatasi kemungkinan algoritma yang dapat digunakan untuk membuat versi kunci tersebut. Semua versi kunci memiliki fungsi yang sama.
Jika tidak memiliki kunci untuk diimpor, tetapi ingin memvalidasi prosedur impor kunci, Anda dapat membuat kunci simetris di sistem lokal, menggunakan perintah berikut:
openssl rand 32 > ${HOME}/test.bin
Gunakan kunci ini hanya untuk pengujian. Kunci yang dibuat dengan cara ini mungkin tidak sesuai untuk penggunaan produksi.
Jika Anda perlu menggabungkan kunci secara manual, lakukan hal tersebut sebelum melanjutkan prosedur dalam topik ini.
Membuat kunci dan key ring target
Kunci Cloud KMS adalah objek container yang berisi nol atau beberapa versi kunci. Setiap versi kunci berisi kunci kriptografis.
Saat Anda mengimpor kunci ke Cloud KMS atau Cloud HSM, kunci yang diimpor akan menjadi versi kunci baru pada kunci Cloud KMS atau Cloud HSM yang sudah ada. Pada bagian selanjutnya dari topik ini, kunci ini disebut kunci target. Kunci target harus ada sebelum Anda dapat mengimpor materi kunci ke dalamnya.
Mengimpor versi kunci tidak akan memengaruhi versi kunci yang sudah ada. Namun, sebaiknya buat kunci kosong saat menguji impor kunci. Kunci kosong tidak memiliki versi, tidak aktif, dan tidak dapat digunakan.
Secara opsional, Anda dapat menentukan bahwa kunci yang baru dibuat hanya dapat berisi versi yang diimpor, sehingga mencegah pembuatan versi baru secara tidak sengaja di Cloud KMS.
Sebuah kunci ada pada key ring; dalam topik ini, key ring ini disebut key ring target. Lokasi key ring target menentukan lokasi tempat materi kunci tersedia setelah impor. Kunci Cloud HSM tidak dapat dibuat atau diimpor di beberapa lokasi. Setelah dibuat, kunci tidak dapat dipindahkan ke key ring atau lokasi lain.
Ikuti langkah-langkah berikut untuk membuat kunci kosong pada key ring baru menggunakan Google Cloud CLI atau Konsol Google Cloud.
Konsol
Di konsol Google Cloud, buka halaman Key Management.
Klik Create key ring.
Di kolom Key ring name, masukkan nama untuk key ring.
Di bagian Jenis lokasi, pilih jenis lokasi dan lokasi.
Klik Create. Halaman Buat kunci akan terbuka.
Di kolom Key name, masukkan nama untuk kunci Anda.
Untuk Tingkat perlindungan, pilih Software atau HSM, lalu klik Continue.
Untuk Key material, pilih Imported key, lalu klik Continue. Tindakan ini akan mencegah pembuatan versi kunci awal.
Tetapkan Destination dan Algorithm untuk kunci, lalu klik Continue.
Opsional: Jika Anda ingin kunci ini hanya berisi versi kunci yang diimpor, pilih Restrict key version to import only. Hal ini dapat mencegah Anda membuat versi kunci baru di Cloud KMS secara tidak sengaja.
Opsional: Untuk kunci yang diimpor, rotasi otomatis dinonaktifkan secara default. Untuk mengaktifkan rotasi otomatis, pilih nilai dari kolom KeyRotation periode.
Jika Anda mengaktifkan rotasi otomatis, versi kunci baru akan dibuat di Cloud KMS, dan versi kunci yang diimpor tidak akan lagi menjadi versi kunci default setelah rotasi.
Klik Create.
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade Google Cloud CLI ke versi terbaru terlebih dahulu.
Buat key ring target. Jika Anda ingin mengimpor ke kunci Cloud HSM, pilih lokasi yang memiliki dukungan untuk Cloud HSM.
gcloud kms keyrings create KEY_RING \ --location LOCATION
Anda dapat mempelajari membuat key ring lebih lanjut.
Buat kunci target.
- Tentukan tujuan kunci.
- Cegah pembuatan versi awal menggunakan
tanda
--skip-initial-version-creation
. - Opsional: Cegah pembuatan versi baru di Cloud KMS menggunakan flag
--import-only
. - Opsional: Jangan tentukan kebijakan rotasi. Jika Anda mengaktifkan rotasi otomatis, versi kunci baru akan dibuat di Cloud KMS, dan versi kunci yang diimpor tidak akan lagi menjadi versi kunci default setelah rotasi. Anda mungkin tidak menentukan
kebijakan rotasi jika menentukan flag
--import-only
.
gcloud kms keys create KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --purpose PURPOSE \ --skip-initial-version-creation \ --import-only
Anda dapat mempelajari lebih lanjut cara membuat kunci Cloud KMS atau kunci Cloud HSM.
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu lalu instal Cloud KMS Go SDK.
Java
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Java terlebih dahulu dan instal Java SDK Cloud KMS.
Node.js
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Node.js terlebih dahulu, lalu instal Node.js SDK Cloud KMS.
Python
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Python terlebih dahulu lalu instal Cloud KMS Python SDK.
API
Contoh ini menggunakan curl sebagai klien HTTP untuk menunjukkan penggunaan API. Untuk informasi selengkapnya tentang kontrol akses, lihat Mengakses Cloud KMS API.
Membuat key ring baru:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings?keyRingId=KEY_RING" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --header "x-goog-user-project: PROJECT_ID" \ --data "{}"
Lihat dokumentasi API
KeyRing.create
untuk informasi selengkapnya.Buat kunci khusus impor yang kosong:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?cryptoKeyId=KEY_NAME&skipInitialVersionCreation=true&importOnly=true" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --header "x-goog-user-project: PROJECT_ID" \ --data "{"purpose":"PURPOSE", "versionTemplate":{"protectionLevel":"PROTECTION_LEVEL","algorithm":"ALGORITHM"}}"
Lihat dokumentasi API
CryptoKey.create
untuk informasi selengkapnya.
Key ring dan key sudah ada, tetapi kunci tersebut tidak berisi materi kunci, tidak memiliki versi, dan tidak aktif. Selanjutnya, Anda membuat tugas impor.
Membuat tugas impor
Tugas impor menentukan karakteristik kunci yang diimpornya, termasuk properti yang tidak dapat diubah setelah kunci diimpor.
Tingkat perlindungan menentukan apakah kunci yang diimpor oleh tugas impor ini akan berada dalam software, di HSM, atau dalam sistem pengelolaan kunci eksternal. Tingkat perlindungan tidak dapat diubah setelah kunci pada akhirnya diimpor.
Metode impor menentukan algoritma yang digunakan untuk membuat kunci penggabungan yang melindungi kunci yang diimpor selama pengiriman dari sistem lokal Anda ke project Google Cloud target. Anda dapat memilih kunci RSA 3072-bit atau 4096-bit. Sebaiknya gunakan kunci penggabungan 3072-bit, kecuali jika Anda memiliki persyaratan khusus.
Anda dapat membuat tugas impor menggunakan gcloud CLI, Google Cloud Console, atau Cloud Key Management Service API.
Konsol
Buka halaman Key Management di konsol Google Cloud.
Klik nama key ring target.
Setel Tingkat perlindungan ke Software atau HSM. Gunakan tingkat perlindungan yang sama seperti yang Anda tetapkan untuk kunci target.
Klik Buat tugas impor.
Di kolom Name, masukkan nama untuk tugas impor Anda.
Dari dropdown Import method, tetapkan metode impor ke RSA 3072 bit atau RSA 4096 bit.
Klik Create.
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade Google Cloud CLI ke versi terbaru terlebih dahulu.
Gunakan perintah seperti berikut untuk membuat tugas impor.
gcloud kms import-jobs create IMPORT_JOB \ --location LOCATION \ --keyring KEY_RING \ --import-method IMPORT_METHOD \ --protection-level PROTECTION_LEVEL
- Gunakan key ring dan lokasi yang sama dengan kunci target.
- Setel tingkat perlindungan ke
software
atauhsm
. - Tetapkan metode impor ke
rsa-oaep-3072-sha1-aes-256
rsa-oaep-4096-sha1-aes-256
,rsa-oaep-3072-sha256-aes-256
,rsa-oaep-4096-sha256-aes-256
,rsa-oaep-3072-sha256
, ataursa-oaep-4096-sha256
.
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu lalu instal Cloud KMS Go SDK.
Java
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Java terlebih dahulu dan instal Java SDK Cloud KMS.
Node.js
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Node.js terlebih dahulu, lalu instal Node.js SDK Cloud KMS.
Python
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Python terlebih dahulu lalu instal Cloud KMS Python SDK.
API
Contoh ini menggunakan curl sebagai klien HTTP untuk menunjukkan penggunaan API. Untuk informasi selengkapnya tentang kontrol akses, lihat Mengakses Cloud KMS API.
Untuk membuat tugas impor, gunakan
metode
ImportJobs.create
:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/importJobs?import_job_id=IMPORT_JOB_ID" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"import_method": "IMPORT_METHOD", "protection_level": "PROTECTION_LEVEL"}'
Ganti kode berikut:
- IMPORT_METHOD: metode penggabungan kunci yang didukung.
- PROTECTION_LEVEL: tingkat perlindungan versi kunci yang diimpor oleh tugas impor ini.
Memeriksa status tugas impor
Status awal untuk tugas impor adalah PENDING_GENERATION
. Jika statusnya adalah
ACTIVE
, Anda dapat menggunakannya untuk mengimpor kunci.
Tugas impor akan berakhir setelah tiga hari. Jika tugas impor sudah berakhir, Anda harus membuat tugas baru.
Anda dapat memeriksa status tugas impor menggunakan Google Cloud CLI, Konsol Google Cloud, atau Cloud Key Management Service API.
Konsol
Buka halaman Key Management di konsol Google Cloud.
Klik nama key ring yang berisi tugas impor Anda.
Klik tab Impor Tugas di bagian atas halaman.
Status akan terlihat di bagian Status di samping nama tugas impor Anda.
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade Google Cloud CLI ke versi terbaru terlebih dahulu.
Saat tugas impor aktif, Anda dapat menggunakannya untuk mengimpor kunci. Proses ini mungkin memerlukan waktu beberapa menit. Gunakan perintah ini untuk memverifikasi bahwa tugas impor aktif. Gunakan lokasi dan keyring tempat Anda membuat tugas impor.
gcloud kms import-jobs describe IMPORT_JOB \ --location LOCATION \ --keyring KEY_RING \ --format="value(state)"
Outputnya mirip dengan hal berikut ini:
state: ACTIVE
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu lalu instal Cloud KMS Go SDK.
Java
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Java terlebih dahulu dan instal Java SDK Cloud KMS.
Node.js
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Node.js terlebih dahulu, lalu instal Node.js SDK Cloud KMS.
Python
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Python terlebih dahulu lalu instal Cloud KMS Python SDK.
API
Contoh ini menggunakan curl sebagai klien HTTP untuk menunjukkan penggunaan API. Untuk informasi selengkapnya tentang kontrol akses, lihat Mengakses Cloud KMS API.
Untuk memeriksa status tugas impor, gunakan
metode
ImportJobs.get
:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/importJobs/IMPORT_JOB_ID" \ --request "GET" \ --header "authorization: Bearer TOKEN"
Segera setelah tugas impor aktif, Anda dapat membuat permintaan untuk mengimpor kunci.
Mencegah modifikasi tugas impor
Tugas impor menentukan banyak karakteristik kunci yang diimpor, termasuk algoritma kunci dan apakah kunci yang diimpor adalah kunci HSM atau kunci software. Anda dapat mengonfigurasi izin IAM agar pengguna tidak membuat tugas impor, sekaligus mengizinkan mereka menggunakan tugas impor untuk mengimpor kunci.
- Berikan izin
importjobs.create
hanya kepada administrator utama. - Berikan izin
importjobs.useToImport
untuk tugas impor tertentu kepada operator yang akan menggunakan tugas tersebut untuk mengimpor kunci. - Saat Anda membuat tugas impor, tentukan tingkat perlindungan dan algoritma untuk versi kunci yang diimpor menggunakan tugas tersebut.
Hingga tugas impor berakhir, pengguna yang memiliki importjobs.useToImport
dan tidak memiliki izin importjobs.create
untuk tugas impor tertentu dapat mengimpor kunci, tetapi tidak dapat mengubah karakteristik tugas impor.
Mengimpor kunci
Setelah memeriksa status tugas impor, Anda dapat membuat permintaan impor.
Anda menggunakan tanda yang berbeda untuk membuat permintaan impor, bergantung pada apakah Anda ingin Google Cloud CLI menggabungkan kunci secara otomatis atau apakah Anda telah menggabungkan kunci secara manual.
Terlepas dari apakah Anda menggabungkan kunci secara manual atau otomatis, Anda harus menetapkan algoritma ke algoritma yang didukung yang cocok dengan panjang kunci sebenarnya yang akan diimpor, dan menentukan tujuan kunci.
Kunci dengan tujuan
ENCRYPT_DECRYPT
menggunakan algoritmagoogle-symmetric-encryption
, dan memiliki panjang 32.Kunci dengan
ASYMMETRIC_DECRYPT
atauASYMMETRIC_SIGN
tujuan mendukung berbagai algoritma dan panjang.Tujuan kunci tidak dapat diubah setelah kunci dibuat, tetapi versi kunci berikutnya dapat dibuat dengan panjang yang berbeda dari versi kunci awal.
Menggabungkan dan mengimpor kunci secara otomatis
Jika ingin menggunakan penggabungan otomatis, Anda harus menggunakan Google Cloud CLI.
Gunakan perintah seperti berikut. Tetapkan --target-key-file
ke lokasi
kunci yang belum digabungkan untuk digabungkan dan diimpor. Jangan tetapkan --wrapped-key-file
.
Secara opsional, Anda dapat menyetel flag --public-key-file
ke lokasi tempat kunci publik telah didownload. Saat mengimpor kunci dalam jumlah besar, hal ini akan mencegah kunci publik
didownload pada setiap proses impor. Misalnya, Anda dapat menulis skrip yang mendownload kunci publik satu kali, lalu memberikan lokasinya saat mengimpor setiap kunci.
gcloud kms keys versions import \ --import-job IMPORT_JOB \ --location LOCATION \ --keyring KEY_RING \ --key KEY_NAME \ --algorithm ALGORITHM \ --target-key-file PATH_TO_UNWRAPPED_KEY
Kunci ini digabungkan oleh kunci penggabungan yang terkait dengan tugas impor, dikirim ke Google Cloud, dan diimpor sebagai versi kunci baru pada kunci target.
Mengimpor kunci yang digabungkan secara manual
Gunakan petunjuk di bagian ini untuk mengimpor kunci yang
telah Anda gabungkan secara manual. Tetapkan
--wrapped-key-file
ke lokasi kunci yang Anda gabungkan secara manual.
Jangan tetapkan --target-key-file
.
Secara opsional, Anda dapat menyetel flag --public-key-file
ke lokasi tempat kunci publik telah didownload. Saat mengimpor kunci dalam jumlah besar, hal ini akan mencegah kunci publik
didownload pada setiap proses impor. Misalnya, Anda dapat menulis skrip yang mendownload kunci publik satu kali, lalu memberikan lokasinya saat mengimpor setiap kunci.
Konsol
Buka halaman Key Management di Konsol Google Cloud.
Klik nama key ring yang berisi tugas impor Anda. Kunci target ditampilkan bersama dengan tombol lain pada key ring.
Klik nama kunci target, lalu klik Import key version.
Pilih tugas impor dari menu dropdown Pilih tugas impor.
Di pemilih Upload the wrapped key, pilih kunci yang telah Anda gabung.
Jika Anda mengimpor kunci asimetris, pilih algoritma dari menu drop-down Algoritma. Halaman Import key version Anda akan terlihat mirip dengan:
Klik Import.
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade Google Cloud CLI ke versi terbaru terlebih dahulu.
Gunakan perintah seperti berikut.
gcloud kms keys versions import \ --import-job IMPORT_JOB \ --location LOCATION \ --keyring KEY_RING \ --key KEY_NAME \ --algorithm ALGORITHM \ --wrapped-key-file PATH_TO_WRAPPED_KEY
Untuk mengetahui informasi selengkapnya, lihat output
perintah gcloud kms keys versions import --help
.
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu lalu instal Cloud KMS Go SDK.
Java
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Java terlebih dahulu dan instal Java SDK Cloud KMS.
Node.js
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Node.js terlebih dahulu, lalu instal Node.js SDK Cloud KMS.
Python
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Python terlebih dahulu lalu instal Cloud KMS Python SDK.
API
Contoh ini menggunakan curl sebagai klien HTTP untuk menunjukkan penggunaan API. Untuk informasi selengkapnya tentang kontrol akses, lihat Mengakses Cloud KMS API.
Gunakan metode cryptoKeyVersions.import
untuk
mengimpor kunci.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions:import" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"importJob": "IMPORT_JOB_ID", "algorithm": "ALGORITHM", "wrappedKey": "WRAPPED_KEY"}'
Ganti kode berikut:
IMPORT_JOB_ID: nama resource lengkap dari tugas impor yang sesuai.
ALGORITHM:
algorithm
kunci yang diimpor, yang berjenisCryptoKeyVersionAlgorithm
.WRAPPED_KEY: kunci yang digabungkan secara manual dalam format base64.
Permintaan impor kunci dimulai. Anda dapat memantau statusnya.
Memeriksa status versi kunci yang diimpor
Status awal untuk versi kunci yang diimpor adalah PENDING_IMPORT
. Jika statusnya adalah ENABLED
, berarti versi kunci telah berhasil diimpor. Jika
impor gagal, statusnya adalah IMPORT_FAILED
.
Anda dapat memeriksa status permintaan impor menggunakan Google Cloud CLI, Konsol Google Cloud, atau Cloud Key Management Service API.
Konsol
Buka halaman Key Management di Konsol Google Cloud.
Klik nama key ring yang berisi tugas impor Anda.
Klik tab Impor Tugas di bagian atas halaman.
Status akan terlihat di bagian Status di samping nama tugas impor Anda.
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade Google Cloud CLI ke versi terbaru terlebih dahulu.
Gunakan perintah versions list
untuk memeriksa status. Gunakan lokasi, key ring target, dan kunci target yang sama dengan yang Anda buat sebelumnya dalam
topik ini.
gcloud kms keys versions list \ --keyring KEY_RING \ --location LOCATION \ --key KEY_NAME
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu lalu instal Cloud KMS Go SDK.
Java
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Java terlebih dahulu dan instal Java SDK Cloud KMS.
Node.js
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Node.js terlebih dahulu, lalu instal Node.js SDK Cloud KMS.
Python
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Python terlebih dahulu lalu instal Cloud KMS Python SDK.
API
Contoh ini menggunakan curl sebagai klien HTTP untuk menunjukkan penggunaan API. Untuk informasi selengkapnya tentang kontrol akses, lihat Mengakses Cloud KMS API.
Panggil metode ImportJob.get
dan periksa kolom
state
. Jika state
adalah PENDING_GENERATION
, tugas impor masih dibuat.
Periksa kembali status secara berkala hingga menjadi ACTIVE
.
Setelah versi kunci awal diimpor, status kunci akan berubah menjadi Aktif. Untuk kunci simetris, Anda harus menetapkan versi kunci yang diimpor sebagai versi utama sebelum dapat menggunakan kunci tersebut.
Kunci simetris: Menetapkan versi utama
Langkah ini diperlukan saat mengimpor kunci simetris, dan tidak relevan untuk kunci asimetris. Kunci asimetris tidak memiliki versi utama. Anda harus menggunakan Google Cloud CLI untuk menetapkan versi utama.
gcloud kms keys set-primary-version KEY_NAME\ --location=LOCATION\ --keyring=KEY_RING\ --version=KEY_VERSION
Mengimpor ulang kunci yang sebelumnya dihancurkan
Cloud Key Management Service mendukung impor ulang kunci, yang memungkinkan Anda memulihkan versi kunci yang sebelumnya diimpor dalam status DESTROYED
atau IMPORT_FAILED
ke status ENABLED
dengan menyediakan materi kunci asli. Jika belum ada materi kunci asli yang diimpor karena kegagalan impor awal, bahan kunci apa pun dapat disediakan.
Pembatasan
- Hanya
CryptoKeyVersions
yang telah diimpor sebelumnya yang dapat diimpor ulang. - Materi kunci yang diimpor ulang harus sama persis dengan materi kunci asli jika versinya berhasil diimpor sebelumnya.
CryptoKeyVersions
yang dihancurkan sebelum perilisan fitur ini tidak dapat diimpor ulang. Kolomreimport_eligible
dariCryptoKeyVersion
adalahtrue
jika versi memenuhi syarat untuk diimpor ulang danfalse
jika tidak.
Kunci Software dan Cloud HSM dapat diimpor ulang, tetapi kunci eksternal tidak dapat diimpor ulang.
Mengimpor ulang kunci yang dihancurkan
Buat ImportJob
untuk diimpor ulang dengan mengikuti langkah-langkah dalam
Membuat tugas impor. Anda dapat menggunakan ImportJob
yang ada
atau ImportJob
baru, selama tingkat perlindungannya cocok dengan
tingkat perlindungan asli.
Konsol
Buka halaman Key Management di konsol Google Cloud.
Klik nama key ring yang berisi kunci yang versi kuncinya akan Anda impor ulang.
Klik kunci yang versi kuncinya ingin Anda impor ulang.
Klik tiga titik di samping versi kunci yang ingin Anda impor ulang.
Pilih Impor ulang versi kunci
Pilih tugas impor dari menu dropdown Pilih tugas impor.
Di pemilih Upload the wrapped key, pilih kunci yang telah Anda gabung. Kunci ini harus cocok dengan materi kunci asli.
Klik Re-Import.
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade Google Cloud CLI ke versi terbaru terlebih dahulu.
Impor ulang versi kunci menggunakan materi kunci asli.
gcloud kms keys versions import \ --location LOCATION \ --keyring KEY_RING \ --key KEY_NAME \ --version KEY_VERSION \ --algorithm ALGORITHM \ --import-job IMPORT_JOB \ --target-key-file PATH_TO_KEY \
API
Contoh ini menggunakan curl sebagai klien HTTP untuk menunjukkan penggunaan API. Untuk informasi selengkapnya tentang kontrol akses, lihat Mengakses Cloud KMS API.
Dalam isi permintaan metode
cryptoKeyVersions.import
, tetapkan kolomcryptoKeyVersion
ke nama versi kunci dari versi yang diimpor. Ini harus berupa turunan dari kunci kripto.Dalam isi permintaan, tetapkan kolom
algorithm
ke algoritma kunci yang diimpor. Nilai ini harus sesuai dengan algoritma versi kunci asli. Kolomalgorithm
berjenisCryptoKeyVersionAlgorithm
.Dalam isi permintaan, tetapkan kolom
wrappedKeyMaterial
ke materi kunci yang telah Anda gabungkan.Panggil metode
cryptoKeyVersions.import
. ResponscryptoKeyVersions.import
adalah jenisCryptoKeyVersion
. Setelah kunci berhasil diimpor, statusnya adalahENABLED
dan Anda dapat menggunakannya di Cloud KMS.
Langkah selanjutnya
- Verifikasi kunci yang diimpor. Setelah mengonfirmasi bahwa materi kunci yang diimpor sama dengan kunci asli, Anda dapat menggunakan kunci tersebut untuk menandatangani atau melindungi data.
- Memecahkan masalah impor kunci yang gagal.