Sistem Pengelolaan Kunci (KMS) mendukung berbagai jenis kunci untuk operasi kriptografi seperti enkripsi, dekripsi, penandatanganan, dan verifikasi. Lihat Kunci yang didukung untuk mengetahui informasi selengkapnya tentang jenis dan algoritma kunci yang tersedia.
Halaman ini ditujukan untuk audiens dalam grup operator aplikasi, seperti tim DevOps, saat melakukan operasi pengelolaan kunci dalam lingkungan air-gapped Google Distributed Cloud (GDC). Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC yang terisolasi dari internet.
Sebelum memulai
Untuk membuat dan mengelola kunci, minta izin yang diperlukan dan siapkan lingkungan Anda.
Meminta peran IAM
Hubungi Admin IAM Organisasi Anda untuk memberi Anda peran berikut di namespace project Anda:
- KMS Creator (
kms-creator): melihat dan membuat resourceAEADKeydanSigningKeydalam project. - KMS Admin (
kms-admin): melihat, membuat, dan menghapus kunci dalam project.
Menyiapkan lingkungan Anda
Instal dan inisialisasi gdcloud CLI, jika Anda belum melakukannya.
Lakukan autentikasi ke GDC menggunakan gdcloud CLI. Proses ini memerlukan sertifikat Certificate Authority (CA) untuk konsol organisasi Anda:
Download sertifikat CA:
echo -n | openssl s_client -showcerts -connect CONSOLE_URL:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > CA_CERT_PATHGanti kode berikut:
CONSOLE_URL: URL konsol organisasi Anda (seperticonsole.org-1.zone1.google.gdch.test)CA_CERT_PATH: jalur lengkap tempat Anda ingin menyimpan file sertifikat CA (seperti/tmp/my-org-ca.crt)
Login menggunakan sertifikat CA yang didownload:
gdcloud auth login --login-config-cert=CA_CERT_PATH
Dapatkan file kubeconfig untuk server Management API menggunakan gdcloud CLI.
Membuat kunci
Anda dapat membuat kunci untuk berbagai tujuan kriptografi.
Membuat kunci AEAD
Untuk melakukan enkripsi yang diautentikasi dengan data terkait (AEAD), buat resource
AEADKey di namespace project Anda:
kubectl --kubeconfig KUBECONFIG_PATH \
apply -f - << EOF
apiVersion: "kms.gdc.goog/v1"
kind: AEADKey
metadata:
name: KEY_NAME
namespace: PROJECT
spec:
algorithm: AES_256_GCM
EOF
Ganti kode berikut:
KUBECONFIG_PATH: jalur ke file kubeconfig untuk server Management APIKEY_NAME: nama untuk kunci AEAD yang ingin Anda buatmisalnya:key-1PROJECT: nama project—misalnya:kms-test1
Membuat kunci penandatanganan
Untuk menandatangani dan memverifikasi data, buat resource SigningKey di namespace project Anda:
kubectl --kubeconfig KUBECONFIG_PATH \
apply -f - << EOF
apiVersion: "kms.gdc.goog/v1"
kind: SigningKey
metadata:
name: KEY_NAME
namespace: PROJECT
spec:
algorithm: EC_SIGN_P384_SHA384
EOF
Ganti kode berikut:
KUBECONFIG_PATH: jalur ke file kubeconfig untuk server Management APIKEY_NAME: nama untuk kunci penandatanganan yang ingin Anda buatmisalnya:key-1PROJECT: nama project—misalnya:kms-test1
Memverifikasi pembuatan kunci
Setelah membuat kunci, verifikasi bahwa operasi berhasil dan resource kunci sudah siap.
Memverifikasi pembuatan kunci AEAD
Periksa status kunci AEAD:
kubectl --kubeconfig KUBECONFIG_PATH \
get aeadkey KEY_NAME \
--namespace=PROJECT -o yaml
Ganti kode berikut:
KUBECONFIG_PATH: jalur ke file kubeconfig untuk server Management APIKEY_NAME: nama kunci AEAD yang akan diverifikasimisalnya:key-1PROJECT: nama project—misalnya:kms-test1
Jika pembuatan kunci berhasil, periksa output untuk menemukan kondisi Ready
dengan status True.
Memverifikasi pembuatan kunci penandatanganan
Periksa status kunci penandatanganan:
kubectl --kubeconfig KUBECONFIG_PATH \
get signingkey KEY_NAME \
--namespace=PROJECT -o yaml
Ganti kode berikut:
KUBECONFIG_PATH: jalur ke file kubeconfig untuk server Management APIKEY_NAME: nama kunci penandatanganan yang akan diverifikasimisalnya:key-1PROJECT: nama project—misalnya:kms-test1
Jika pembuatan kunci berhasil, periksa output untuk menemukan kondisi Ready
dengan status True.
Menghapus kunci
Untuk menghapus resource kunci, tentukan jenis dan nama kunci.
Hapus kunci di namespace project:
kubectl --kubeconfig KUBECONFIG_PATH \ delete KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECTGanti kode berikut:
KUBECONFIG_PATH: jalur ke file kubeconfig untuk server Management APIKEY_PRIMITIVE: jenis resource kunci yang ingin Anda hapus, sepertiaeadkeyuntuk kunci AEAD atausigningkeyuntuk kunci penandatangananKEY_NAME: nama kunci yang ingin Anda hapusmisalnya:key-1.PROJECT: nama project—misalnya:kms-test1.
Verifikasi penghapusan kunci dengan mencoba mengambil kunci:
kubectl --kubeconfig KUBECONFIG_PATH \ get KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECTJika kunci berhasil dihapus, perintah tidak akan menampilkan objek kunci.