Halaman ini mencakup petunjuk bagi Operator Aplikasi (AO) untuk melakukan operasi impor kunci utama 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 melakukan operasi KMS, konfigurasi kubectl untuk mengakses server Management API dan mendapatkan izin yang diperlukan.
Mengonfigurasi akses server Management API
Konfigurasi kubectl untuk mengakses server Management API:
- Jika Anda belum melakukannya, dapatkan file kubeconfig untuk server Management API menggunakan antarmuka command-line (CLI) gdcloud.
Tetapkan variabel lingkungan
MANAGEMENT_API_SERVER:export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIGGanti
PATH_TO_KUBECONFIGdengan jalur file kubeconfig yang dihasilkan.
Izin yang diperlukan
Untuk mendapatkan izin yang Anda perlukan, minta Admin IAM Organisasi Anda untuk memberi Anda peran KMS Key Import Admin (kms-keyimport-admin) dan KMS Key Export Admin (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 merepresentasikan 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.