Halaman ini mencakup petunjuk bagi Operator Aplikasi (AO) untuk melakukan operasi impor kunci dari kunci sistem pengelolaan kunci (KMS) yang diekspor. AO
melakukan operasi impor dan ekspor menggunakan antarmuka command line (CLI) kubectl dari resource berikut:
Untuk melihat detail selengkapnya tentang resource ini, lihat Ringkasan KMS API.
Lihat bagian Kunci yang didukung di halaman Sistem pengelolaan kunci (KMS) untuk melihat daftar lengkap dan detail kunci yang didukung KMS.
Sebelum memulai
Sebelum melanjutkan, pastikan Anda memiliki hal berikut:
Perintah
kubectldikonfigurasi untuk mengakses server Management API. Untuk melakukannya, ikuti bagian Mendapatkan file kubeconfig dan antarmuka command line (CLI) gdcloud.Peran Admin Impor Kunci KMS dan Admin Ekspor Kunci KMS. Untuk mendapatkan izin yang diperlukan untuk mengimpor kunci yang diekspor, minta Administrator Platform (PA) untuk memberi Anda peran Admin Impor Kunci KMS (
kms-keyimport-admin) dan Admin Ekspor Kunci KMS (kms-keyexport-admin).
Mengimpor kunci yang diekspor
Untuk mengimpor kunci yang diekspor, selesaikan langkah-langkah berikut:
Buat file YAML, lalu tambahkan resource
KeyImportsebagai nilai objekkind:apiVersion: "kms.gdc.goog/v1" kind: KeyImport metadata: name: KEY_IMPORT_NAME namespace: PROJECT spec: context: mechanism: MECHANISMGanti variabel berikut:
- KEY_IMPORT_NAME: nama resource
KeyImport misalnya:key-import-test. - PROJECT: nama namespace project misalnya:
kms-test1. - MECHANISM: mekanisme berbagi kunci misalnya: `EDCH_P521_AES256` .
- KEY_IMPORT_NAME: nama resource
Terapkan isi file YAML ke KMS dan buat resource
KeyImport:kubectl apply -f FILENAME.yamlGanti FILENAME dengan nama file YAML.
Dengan kunci publik pasangan kunci yang dibuat secara internal, KMS memperbarui status resource
KeyImportmenjadiAwaitingKeyToImport. Untuk melanjutkan, Anda perlu melihat status resource dan mendapatkan kunci publik yang dibuat KMS.Untuk melihat status resource
KeyImportdan mendapatkan kunci publik yang dibuat KMS, jalankan perintah berikut:kubectl describe keyimport KEY_IMPORT_NAME --namespace PROJECTGanti variabel berikut:
- KEY_IMPORT_NAME: nama resource
KeyImport— misalnya,key-import-test. - PROJECT: nama namespace project misalnya:
kms-test1.
Setelah menjalankan perintah, Anda akan melihat output yang mirip dengan berikut ini:
... Status: Conditions: Last Transition Time: 2022-12-14T20:43:50Z Message: waiting for user to provide KeyToImport Observed Generation: 1 Reason: AwaitingKeyToImport Status: False Type: Ready Imported Key Ref: Kind: KeyImport Name: key-import-test Peer Context: Private Key: Public Key: PUBLIC_KEY Events: <none>Nilai PUBLIC_KEY mewakili kunci publik yang dihasilkan KMS. Salin kunci publik, lalu tambahkan ke resource
KeyExportpada langkah berikutnya.- KEY_IMPORT_NAME: nama resource
Buat file YAML lain, tambahkan resource
KeyExportsebagai nilai objekkind, dan konten berikut:apiVersion: "kms.gdc.goog/v1" kind: KeyExport metadata: name: KEY_EXPORT_NAME namespace: PROJECT spec: context: mechanism: MECHANISM publicKey: PUBLIC_KEY keyToExport: kind: KEY_PRIMITIVE name: KEY_NAMEGanti variabel berikut:
- KEY_EXPORT_NAME: nama resource
KeyExport misalnya:key-export-test. PROJECT: nama namespace project misalnya:
kms-test1.MECHANISM: mekanisme berbagi kunci misalnya: `EDCH_P521_AES256` .
PUBLIC_KEY: kunci publik dari
keyImport.Status.PeerContext.PublicKey.KEY_PRIMITIVE: CRD kunci—misalnya, aeadkey dan signingkey.
KEY_NAME: nama kunci—misalnya,
key-1.
- KEY_EXPORT_NAME: nama resource
Terapkan isi file YAML ke KMS dan buat resource
KeyExport:kubectl apply -f FILENAME.yamlGanti FILENAME dengan nama file YAML.
Setelah menjalankan perintah, KMS akan memperbarui status resource
KeyExportdan membuat kunci yang diekspor. Untuk mendapatkan kunci yang diekspor, lihat status resource.Untuk melihat status resource, jalankan perintah berikut:
kubectl describe keyexport KEY_EXPORT_NAME --namespace PROJECTGanti variabel berikut:
- KEY_EXPORT_NAME: nama resource
KeyExport— misalnya,key-export-test. - PROJECT: nama namespace projectmisalnya:
kms-test1.
Setelah menjalankan perintah, Anda akan melihat output yang mirip dengan berikut ini:
... Status: Conditions: Last Transition Time: 2022-12-14T20:45:57Z Message: key successfully exported Observed Generation: 1 Reason: KeyExportCompleted Status: True Type: Ready Exported Key: EXPORTED_KEYEXPORTED_KEY mewakili metadata kunci yang diekspor. Salin konten di EXPORTED_KEY untuk melanjutkan ke langkah berikutnya.
- KEY_EXPORT_NAME: nama resource
Edit file YAML yang berisi resource
KeyImport, lalu tambahkan konten yang Anda salin dari output dikeyexport.status.exportedkey.apiVersion: "kms.gdc.goog/v1" kind: KeyImport metadata: name: key-import-test namespace: kms-test1 spec: context: mechanism: EDCH_P521_AES256 keyToImport: EXPORTED_KEYSetelah mengedit file YAML, terapkan isinya ke KMS:
kubectl apply -f FILENAME.yamlSetelah menjalankan perintah, KMS akan mengimpor kunci yang diekspor yang Anda berikan.
Untuk melihat detail kunci yang diimpor, jalankan perintah berikut:
kubectl get keyimport KEY_IMPORT_NAMEAnda akan melihat output yang mirip dengan berikut ini:
NAMESPACE NAME AGE READY REASON KEY KIND kms-test1 KEY_IMPORT_NAME 60s True KeyImportCompleted KEY_PRIMITIVEKEY_PRIMITIVE merepresentasikan jenis kunci yang Anda impor, antara kunci AEAD dan Penandatanganan.