AO melakukan operasi pengelolaan kunci melalui perintah kubectl untuk mengakses server Management API.
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 berikut di project Anda:
- Untuk membuat dan mencantumkan kunci, minta peran Pembuat KMS (
kms-creator). - Untuk membuat, mencantumkan, dan menghapus kunci, minta peran Admin KMS (
kms-admin).
Buat kunci
Selesaikan langkah-langkah berikut:
Buat kunci di namespace project. Contoh berikut membuat kunci
AEAD:kubectl --kubeconfig MANAGEMENT_API_SERVER \ apply -f - << EOF apiVersion: "kms.gdc.goog/v1" kind: AEADKey metadata: name: KEY_NAME namespace: PROJECT spec: algorithm: AES_256_GCM EOFGanti variabel berikut:
- MANAGEMENT_API_SERVER: file kubeconfig server Management API. Login dan buat file kubeconfig jika Anda belum memilikinya.
- KEY_NAME: nama untuk kunci yang ingin Anda
buatmisalnya:
key-1. - PROJECT: nama project—misalnya:
kms-test1.
Verifikasi pembuatan kunci:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get aeadkey KEY_NAME \ --namespace=PROJECT -o yamlJika pembuatan kunci berhasil, Anda akan melihat nilai
Truedi kolomREADY.
Menghapus kunci
Selesaikan langkah-langkah berikut:
Hapus kunci di namespace project:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ delete KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECTGanti variabel berikut:
- MANAGEMENT_API_SERVER: file kubeconfig server Management API. Login dan buat file kubeconfig jika Anda belum memilikinya.
- KEY_PRIMITIVE: kunci yang ingin Anda hapus, misalnya:
aeadkeyuntuk kunciAEAD. - KEY_NAME: nama kunci yang ingin Anda
hapusmisalnya:
key-1. - PROJECT: nama project—misalnya:
kms-test1.
Verifikasi penghapusan kunci, dan pastikan Anda tidak melihat kunci tersebut lagi:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECT