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 objek- kind:- apiVersion: "kms.gdc.goog/v1" kind: KeyImport metadata: name: KEY_IMPORT_NAME namespace: PROJECT spec: context: mechanism: MECHANISM- Ganti 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.yaml- Ganti FILENAME dengan nama file YAML. - Dengan kunci publik pasangan kunci yang dibuat secara internal, KMS memperbarui status resource - KeyImportmenjadi- AwaitingKeyToImport. 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 PROJECT- Ganti 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 objek- kind, 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_NAME- Ganti 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.yaml- Ganti 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 PROJECT- Ganti 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_KEY- EXPORTED_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 di- keyexport.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_KEY
- Setelah mengedit file YAML, terapkan isinya ke KMS: - kubectl apply -f FILENAME.yaml- Setelah 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_NAME- Anda akan melihat output yang mirip dengan berikut ini: - NAMESPACE NAME AGE READY REASON KEY KIND kms-test1 KEY_IMPORT_NAME 60s True KeyImportCompleted KEY_PRIMITIVE- KEY_PRIMITIVE merepresentasikan jenis kunci yang Anda impor, antara kunci AEAD dan Penandatanganan.