Dokumen ini menjelaskan cara merotasi kunci root. Jika kunci root Anda
disusupi, atau jika Anda memilih untuk merotasi kunci root secara berkala guna meningkatkan
keamanan, Anda dapat merotasi kunci ke kunci root baru menggunakan
resource
RotationJob.
Merotasi kunci root akan membuat kunci root baru, yang menjadi kunci utama dan menggabungkan semua kunci non-root. Anda tidak dapat menghapus kunci root; rotasi adalah satu-satunya cara untuk menggantinya. Lihat Jenis kunci root untuk mengetahui informasi selengkapnya tentang kunci root.
Lihat ringkasan KMS API untuk mengetahui detail tentang KMS API dan Key Management Service KRM API untuk melihat definisi API lengkap.
Sebelum memulai
Sebelum merotasi kunci root, Anda harus memiliki izin yang diperlukan dan menyiapkan lingkungan Anda.
Meminta peran IAM
Untuk merotasi kunci, hubungi Admin Org IAM Anda untuk meminta peran KMS Rotation Job Admin (kms-rotationjob-admin).
Menyiapkan lingkungan Anda
Download dan instal gdcloud CLI, jika Anda belum melakukannya.
Buat file kubeconfig untuk mengonfigurasi akses
kubectl.
Merotasi kunci root
Untuk merotasi kunci root, Anda harus mengidentifikasi nama resource kunci root yang digunakan terlebih dahulu. Anda dapat menemukan informasi ini dengan memeriksa resource AEADKey apa pun dalam project Anda, karena semua kunci ini dilindungi oleh kunci root yang sama.
Buat kunci root baru dan rotasikan kunci Anda:
Cantumkan resource
AEADKeydalam project Anda:kubectl get AEADKey -n PROJECTGanti
PROJECTdengan nama namespace project Anda.Dari output, catat nama
AEADKeymana pun.Dapatkan
ROOT_KEY_RESOURCE_NAMEdariAEADKey. Perintah berikut mengekstrak dan memformat ulang ID kunci root yang diperlukan untuk resourceRotationJob:kubectl describe aeadkey KEY_NAME -n PROJECT | grep "Root Key ID:" | awk '{print $4}' | awk -F/ '{print "namespaces/" $1 "/secrets/" $2}'Ganti kode berikut:
KEY_NAME: namaAEADKeyapa pun di project AndaPROJECT: nama namespace project Anda
Outputnya mungkin akan terlihat seperti berikut:
namespaces/kms-system/secrets/kms-key-local-rootBuat file YAML, lalu tambahkan resource
RotationJobdan konten berikut:apiVersion: "kms.gdc.goog/v1" kind: RotationJob metadata: name: ROTATION_NAME spec: rootKeyResourceName: ROOT_KEY_RESOURCE_NAMEGanti kode berikut:
ROTATION_NAME: nama untuk tugas rotasi misalnya:rotate-job1.ROOT_KEY_RESOURCE_NAME: output yang Anda peroleh pada langkah sebelumnya
Terapkan konten file YAML ke KMS:
kubectl apply -f FILENAME.yamlGanti FILENAME dengan nama file YAML.
Setelah menjalankan perintah, KMS akan membuat kunci root baru dan merotasi setiap kunci dengan kunci root baru.
Untuk memverifikasi bahwa rotasi kunci root telah selesai, jalankan perintah berikut:
kubectl get rotationjobs ROTATION_NAMEGanti ROTATION_NAME dengan nama tugas rotasi.
Setelah menjalankan perintah, Anda akan melihat status tugas rotasi sebagai
Completedjika berhasil.