Halaman ini menunjukkan cara mengonfigurasi bidang kontrol cluster Google Kubernetes Engine (GKE) dengan certificate authority (CA) dan kunci yang Anda kelola. Panduan ini ditujukan untuk administrator keamanan yang memiliki kepatuhan organisasi atau persyaratan kebijakan tertentu untuk mengontrol penerbitan dan penandatanganan kredensial.
Halaman ini menjelaskan salah satu bagian dari serangkaian fitur platform kontrol opsional di GKE yang memungkinkan Anda melakukan tugas seperti memverifikasi postur keamanan platform kontrol atau mengonfigurasi enkripsi dan penandatanganan kredensial di platform kontrol menggunakan kunci yang Anda kelola. Untuk mengetahui detailnya, lihat Tentang otoritas bidang kontrol GKE.
Secara default, Google Cloud menerapkan berbagai langkah keamanan ke bidang kontrol terkelola. Halaman ini menjelaskan kemampuan opsional yang memberi Anda visibilitas atau kontrol lebih besar atas panel kontrol GKE.
Anda seharusnya sudah memahami konsep berikut:
Komponen kredensial bidang kontrol
Cluster GKE menggunakan CA dan kunci tertentu untuk menerbitkan kredensial di cluster, seperti sertifikat X.509 atau token ServiceAccount. Anda dapat membuat kunci di Cloud Key Management Service (Cloud KMS) dan CA di Certificate Authority Service (CA Service) dan mengonfigurasi cluster untuk menggunakan resource ini, bukan CA dan kunci yang dikelola Google Cloud.
Untuk mempelajari lebih lanjut komponen tertentu yang Anda buat, lihat Kunci dan CA yang dikelola sendiri.
Penggunaan dengan fitur otoritas bidang kontrol GKE lainnya
Otoritas plane kontrol GKE menyediakan fitur berikut yang terkait dengan kunci yang dikelola sendiri:
- Menjalankan kunci dan certificate authority (CA) Anda sendiri (halaman ini)
- Mengenkripsi komponen bidang kontrol
Tujuan
- Membuat kunci di Cloud KMS
- Membuat CA di CA Service
- Memberikan peran Identity and Access Management (IAM) ke agen layanan GKE
- Membuat cluster GKE yang menggunakan CA dan kunci Anda
- Memverifikasi bahwa cluster menggunakan CA dan kunci Anda
Biaya
Dalam dokumen ini, Anda menggunakan komponen Google Cloud yang dapat ditagih berikut:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Buat atau pilih project Google Cloud.
-
Membuat project Google Cloud:
gcloud projects create PROJECT_ID
Ganti
PROJECT_ID
dengan nama untuk project Google Cloud yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_ID
dengan nama project Google Cloud Anda.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan API Kubernetes Engine, Certificate Authority Service, and Cloud Key Management Service:
gcloud services enable container.googleapis.com
privateca.googleapis.com cloudkms.googleapis.com - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Buat atau pilih project Google Cloud.
-
Membuat project Google Cloud:
gcloud projects create PROJECT_ID
Ganti
PROJECT_ID
dengan nama untuk project Google Cloud yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_ID
dengan nama project Google Cloud Anda.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan API Kubernetes Engine, Certificate Authority Service, and Cloud Key Management Service:
gcloud services enable container.googleapis.com
privateca.googleapis.com cloudkms.googleapis.com - Pastikan lingkungan Anda memenuhi syarat untuk menggunakan fitur otorisasi bidang kontrol GKE. Untuk ikut serta dalam fitur ini, hubungi tim penjualan Google Cloud Anda.
- Untuk melacak pemberian dan penggunaan kredensial secara andal, pastikan log audit Akses Data berikut diaktifkan:
- Cloud KMS:
DATA_READ
- Layanan CA:
ADMIN_READ
danADMIN_WRITE
Untuk mengaktifkan jenis log ini, lihat Mengaktifkan log audit Akses Data.
- Cloud KMS:
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk menjalankan CA dan kunci enkripsi Anda sendiri, minta administrator untuk memberi Anda peran IAM berikut:
-
Membuat kunci Cloud KMS:
Cloud KMS Admin (
roles/cloudkms.admin
) di project kunci Anda -
Membuat kumpulan CA dan root CA:
CA Service Admin (
roles/privateca.admin
) di project kunci enkripsi Anda -
Membuat cluster GKE:
Kubernetes Engine Cluster Admin (
roles/container.clusterAdmin
) di project cluster Anda
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Persyaratan
Anda harus menggunakan GKE versi 1.31.1-gke.1846000 atau yang lebih baru.
Batasan
Batasan berikut berlaku:
- Anda hanya dapat menggunakan kunci dari Cloud KMS. Anda tidak dapat menggunakan penyedia KMS atau penyedia enkripsi lainnya.
- Kunci Cloud External Key Manager (Cloud EKM) tidak didukung.
- Anda hanya dapat menggunakan CA dari CA Service.
Menyiapkan lingkungan
Di bagian ini, Anda akan mengidentifikasi project Google Cloud yang akan digunakan dalam tutorial ini, dan membuat key ring di Cloud KMS untuk menyimpan kunci Anda.
Mengidentifikasi project
Sebaiknya gunakan project Google Cloud terpisah sebagai berikut:
- Project utama: berisi semua kunci dan CA.
- Project cluster: berisi cluster GKE Anda.
Anda dapat menggunakan project yang sama untuk kunci, CA, dan cluster GKE secara opsional, tetapi sebaiknya gunakan project terpisah sehingga tim yang mengelola operasi kriptografis di organisasi Anda terpisah dari tim yang mengelola operasi cluster.
Membuat key ring
Buat key ring dalam project kunci untuk menyimpan semua kunci untuk cluster tertentu. Anda harus membuat key ring di lokasi yang sama dengan cluster GKE.
Jalankan perintah berikut:
gcloud kms keyrings create KEY_RING_NAME \
--location=us-central1 \
--project=KEY_PROJECT_ID
Ganti kode berikut:
KEY_RING_NAME
: nama untuk key ring Anda.KEY_PROJECT_ID
: project ID project utama Anda.
Membuat kunci
Untuk setiap otoritas kredensial seperti kunci akun layanan dan CA, Anda membuat kunci menggunakan Cloud KMS. Bagian ini menunjukkan cara membuat
kunci yang digunakan GKE untuk menandatangani dan memverifikasi kredensial di cluster.
Anda dapat menentukan properti Anda sendiri untuk kunci ini, bergantung pada
kebutuhan organisasi Anda. Untuk mengetahui detailnya, lihat halaman Membuat kunci dan referensi API projects.locations.keyRings.cryptoKeys
.
Pertimbangkan hal-hal berikut saat Anda membuat resource ini di Cloud KMS:
- Jika sudah memiliki key ring di project kunci, Anda dapat menggunakan key ring tersebut untuk menyimpan semua kunci yang Anda buat untuk digunakan dengan cluster.
- Key ring Anda harus berada di lokasi Google Cloud yang sama dengan cluster Anda untuk meminimalkan latensi.
- Kunci harus menentukan
asymmetric-signing
sebagai tujuan kunci. - Gunakan algoritma berikut berdasarkan jenis kunci:
- Kunci penandatanganan ServiceAccount: algoritma PKCS1 penandatanganan RSA yang kuat, seperti
rsa-sign-pkcs1-4096-sha256
ataursa-sign-pkcs1-3072-sha256
. - Kunci Certificate Authority: algoritma yang kuat seperti
ec-sign-p256-sha256
.
- Kunci penandatanganan ServiceAccount: algoritma PKCS1 penandatanganan RSA yang kuat, seperti
- Kunci hardware Cloud HSM didukung, tetapi tingkat perlindungan
software
sudah memadai untuk sebagian besar kasus penggunaan. Untuk mengetahui detail tentang kunci hardware, lihat Cloud HSM. - Jangan ubah durasi default untuk penghancuran kunci.
- GKE tidak mencegah Anda menghapus kunci Cloud KMS, termasuk kunci Layanan CA, yang digunakan oleh cluster. Sebelum Anda menghapus kunci atau CA, pastikan resource tersebut tidak digunakan.
Untuk membuat kunci, jalankan perintah berikut:
Buat kunci penandatanganan ServiceAccount Kubernetes, yang juga Anda tentukan sebagai kunci verifikasi akun layanan selama pembuatan cluster:
gcloud kms keys create sa-signing-key \ --keyring=KEY_RING_NAME \ --location=us-central1\ --purpose="asymmetric-signing" \ --protection-level=hsm \ --default-algorithm=rsa-sign-pkcs1-4096-sha256 \ --project=KEY_PROJECT_ID
Ganti
KEY_PROJECT_ID
dengan project ID untuk project kunci enkripsi khusus Anda.Buat kunci CA root cluster:
gcloud kms keys create cluster-ca-key \ --keyring=KEY_RING_NAME \ --location=us-central1\ --purpose="asymmetric-signing" \ --protection-level=hsm \ --default-algorithm=ec-sign-p256-sha256 \ --project=KEY_PROJECT_ID
Buat kunci CA root peer etcd:
gcloud kms keys create etcd-peer-ca-key \ --keyring=KEY_RING_NAME \ --location=us-central1\ --purpose="asymmetric-signing" \ --protection-level=hsm \ --default-algorithm=ec-sign-p256-sha256 \ --project=KEY_PROJECT_ID
Buat kunci CA root etcd API:
gcloud kms keys create etcd-api-ca-key \ --keyring=KEY_RING_NAME \ --location=us-central1\ --purpose="asymmetric-signing" \ --protection-level=hsm \ --default-algorithm=ec-sign-p256-sha256 \ --project=KEY_PROJECT_ID
Buat kunci CA root agregasi:
gcloud kms keys create aggregation-ca-key \ --keyring=KEY_RING_NAME \ --location=us-central1\ --purpose="asymmetric-signing" \ --protection-level=hsm \ --default-algorithm=ec-sign-p256-sha256 \ --project=KEY_PROJECT_ID
Membuat CA
Setelah membuat kunci untuk setiap fungsi bidang kontrol, gunakan setiap kunci untuk membuat kumpulan CA dan CA root yang sesuai menggunakan Layanan CA:
Buat kumpulan CA cluster:
gcloud privateca pools create cluster-ca-pool \ --location=us-central1 \ --tier=enterprise \ --project=KEY_PROJECT_ID \ --no-publish-crl --no-publish-ca-cert
Flag
--no-publish-crl
dan flag--no-publish-ca-cert
bersifat opsional. Menghapus tanda ini akan memublikasikan sertifikat ke bucket Cloud Storage. Untuk mengetahui detailnya, lihat Mengaktifkan publikasi sertifikat CA dan CRL untuk CA dalam kumpulan CA.Buat root CA cluster:
gcloud privateca roots create cluster-root-ca \ --pool=cluster-ca-pool \ --location=us-central1 \ --kms-key-version=projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/cluster-ca-key/cryptoKeyVersions/1 \ --subject="CN=cluster-ca, O=ORGANIZATION" \ --project=KEY_PROJECT_ID \ --auto-enable
Ganti
ORGANIZATION
dengan nama organisasi Anda.Buat kumpulan CA peer etcd:
gcloud privateca pools create etcd-peer-ca-pool \ --location=us-central1 \ --tier=enterprise \ --project=KEY_PROJECT_ID \ --no-publish-crl --no-publish-ca-cert
Buat root CA peer etcd:
gcloud privateca roots create etcd-peer-root-ca \ --pool=etcd-peer-ca-pool \ --location=us-central1 \ --kms-key-version=projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/etcd-peer-ca-key/cryptoKeyVersions/1 \ --subject="CN=etcd-peer-ca, O=ORGANIZATION" \ --project=KEY_PROJECT_ID \ --auto-enable
Buat kumpulan CA API etcd:
gcloud privateca pools create etcd-api-ca-pool \ --location=us-central1 \ --tier=enterprise \ --project=KEY_PROJECT_ID \ --no-publish-crl --no-publish-ca-cert
Buat CA root etcd API:
gcloud privateca roots create etcd-api-root-ca \ --pool=etcd-api-ca-pool \ --location=us-central1 \ --kms-key-version=projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/etcd-api-ca-key/cryptoKeyVersions/1 \ --subject="CN=etcd-api-ca, O=ORGANIZATION" \ --project=KEY_PROJECT_ID \ --auto-enable
Buat kumpulan CA agregasi:
gcloud privateca pools create aggregation-ca-pool \ --location=us-central1 \ --tier=enterprise \ --project=KEY_PROJECT_ID \ --no-publish-crl --no-publish-ca-cert
Buat root CA agregasi:
gcloud privateca roots create aggregation-root-ca \ --pool=aggregation-ca-pool \ --location=us-central1 \ --kms-key-version=projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/aggregation-ca-key/cryptoKeyVersions/1 \ --subject="CN=aggregation-ca, O=ORGANIZATION" \ --project=KEY_PROJECT_ID \ --auto-enable
Memberikan peran IAM ke agen layanan GKE
Agen layanan GKE memerlukan akses ke resource yang Anda buat di Cloud KMS dan di Layanan CA. Agen layanan menggunakan resource ini untuk menandatangani, memverifikasi, dan menerbitkan kredensial di cluster. Anda dapat menggunakan peran IAM yang telah ditetapkan berikut:
- Pengguna Kunci Kripto KMS Kubernetes Engine
(
roles/container.cloudKmsKeyUser
) - CA Service Certificate Manager
(
roles/privateca.certificateManager
)
Untuk memberikan peran ini ke agen layanan GKE, lakukan tindakan berikut:
Temukan nomor project project cluster Anda:
gcloud projects describe CLUSTER_PROJECT_ID \ --format='value(projectNumber)'
Ganti
CLUSTER_PROJECT_ID
dengan project ID project cluster Anda.Berikan peran Pengguna Kunci Crypto KMS Kubernetes Engine pada kunci penandatanganan akun layanan yang Anda buat di Membuat kunci:
gcloud kms keys add-iam-policy-binding sa-signing-key \ --location=us-central1 \ --keyring=KEY_RING_NAME \ --member="serviceAccount:service-CLUSTER_PROJECT_NUMBER@container-engine-robot." \ --role=roles/container.cloudKmsKeyUser \ --project=KEY_PROJECT_ID
Ganti
CLUSTER_PROJECT_NUMBER
dengan nomor project untuk project cluster.Berikan peran CA Service Certificate Manager di kumpulan CA yang Anda buat di Membuat CA:
gcloud privateca pools add-iam-policy-binding cluster-ca-pool \ --location=us-central1 \ --member="serviceAccount:service-CLUSTER_PROJECT_NUMBER@container-engine-robot." \ --role=roles/privateca.certificateManager \ --project=KEY_PROJECT_ID gcloud privateca pools add-iam-policy-binding etcd-peer-ca-pool \ --location=us-central1 \ --member="serviceAccount:service-CLUSTER_PROJECT_NUMBER@container-engine-robot." \ --role=roles/privateca.certificateManager \ --project=KEY_PROJECT_ID gcloud privateca pools add-iam-policy-binding etcd-api-ca-pool \ --location=us-central1 \ --member="serviceAccount:service-CLUSTER_PROJECT_NUMBER@container-engine-robot." \ --role=roles/privateca.certificateManager \ --project=KEY_PROJECT_ID gcloud privateca pools add-iam-policy-binding aggregation-ca-pool \ --location=us-central1 \ --member="serviceAccount:service-CLUSTER_PROJECT_NUMBER@container-engine-robot." \ --role=roles/privateca.certificateManager \ --project=KEY_PROJECT_ID
Menyiapkan CA dan kunci di cluster baru
Setelah Anda membuat kunci, kumpulan CA, CA root, dan memberikan peran IAM ke agen layanan GKE, buat cluster baru yang menggunakan resource ini.
Flag yang Anda tentukan dalam perintah pembuatan cluster memerlukan jalur resource berikut sebagai nilai:
- Jalur ke versi kunci di Cloud KMS untuk kunci penandatanganan akun layanan yang Anda buat di Membuat kunci. Anda
menentukan jalur ini untuk flag
service-account-signing-keys
dan untuk flagservice-account-verification-keys
. - Jalur ke setiap kumpulan CA yang Anda buat di Membuat CA.
Untuk mengonfigurasi cluster baru agar menggunakan kunci dan CA Anda, lakukan langkah-langkah berikut:
Temukan jalur ke versi kunci penandatanganan akun layanan terbaru yang diaktifkan:
gcloud kms keys versions list \ --key=sa-signing-key \ --keyring=KEY_RING_NAME \ --location=us-central1 \ --project=KEY_PROJECT_ID \ --filter="STATE=ENABLED" --sort-by=~ --format="value(name)" | sed 1q
Ganti
KEY_PROJECT_ID
dengan project ID project kunci.Outputnya mirip dengan hal berikut ini:
projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1
Temukan jalur ke setiap kumpulan CA yang Anda buat:
gcloud privateca pools list --format="get(name)" \ --project=KEY_PROJECT_ID
Outputnya mirip dengan hal berikut ini:
projects/KEY_PROJECT_ID/locations/us-central1/caPools/cluster-ca-pool projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-peer-ca-pool projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-api-ca-pool projects/KEY_PROJECT_ID/locations/us-central1/caPools/aggregation-ca-pool
Pastikan output berisi semua kumpulan CA yang Anda buat untuk GKE.
Membuat cluster
Di bagian ini, Anda akan membuat cluster dengan opsi yang berbeda-beda, bergantung pada fitur otoritas bidang kontrol GKE yang ingin Anda konfigurasikan. Anda hanya dapat mengonfigurasi fitur ini di cluster selama pembuatan
cluster. Perintah berikut akan membuat cluster mode Autopilot. Untuk
membuat cluster mode Standar, gunakan flag yang sama dengan
perintah
gcloud container clusters create
.
Untuk hanya mengonfigurasi CA dan kunci yang Anda buat dalam tutorial ini, jalankan perintah berikut:
gcloud container clusters create-auto example-cluster \ --location=us-central1 \ --project=CLUSTER_PROJECT_ID \ --cluster-version=VERSION \ --service-account-signing-keys=projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1 \ --service-account-verification-keys=projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1 \ --cluster-ca=projects/KEY_PROJECT_ID/locations/us-central1/caPools/cluster-ca-pool \ --etcd-peer-ca=projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-peer-ca-pool \ --etcd-api-ca=projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-api-ca-pool \ --aggregation-ca=projects/KEY_PROJECT_ID/locations/us-central1/caPools/aggregation-ca-pool
Ganti kode berikut:
CLUSTER_PROJECT_ID
: project ID project cluster.VERSION
: versi GKE cluster. Harus 1.31.1-gke.1846000 atau yang lebih baru.
Untuk mengonfigurasi CA dan kunci serta enkripsi disk booting kontrol dan enkripsi etcd, lakukan hal berikut:
- Lakukan semua langkah konfigurasi kunci di Menyetel enkripsi pada disk booting control plane dan etcd.
- Temukan jalur ke setiap kunci menggunakan petunjuk di Menggunakan kunci enkripsi di cluster.
Membuat cluster:
gcloud container clusters create-auto example-cluster \ --location=us-central1 \ --project=CLUSTER_PROJECT_ID \ --cluster-version=VERSION \ --service-account-signing-keys=projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1 \ --service-account-verification-keys=projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1 \ --cluster-ca=projects/KEY_PROJECT_ID/locations/us-central1/caPools/cluster-ca-pool \ --etcd-peer-ca=projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-peer-ca-pool \ --etcd-api-ca=projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-api-ca-pool \ --aggregation-ca=projects/KEY_PROJECT_ID/locations/us-central1/caPools/aggregation-ca-pool \ --control-plane-disk-encryption-key=PATH_TO_DISK_KEY \ --gkeops-etcd-backup-encryption-key=PATH_TO_ETCD_BACKUP_KEY
Ganti kode berikut:
CLUSTER_PROJECT_ID
: project ID dari project cluster.VERSION
: versi GKE cluster. Harus 1.31.1-gke.1846000 atau yang lebih baru.PATH_TO_DISK_KEY
: jalur ke kunci enkripsi disk Anda.PATH_TO_ETCD_BACKUP_KEY
: jalur ke kunci enkripsi cadangan internal etcd Anda.
Anda juga dapat menggunakan flag ini saat membuat cluster mode Standar baru.
Memverifikasi bahwa cluster menggunakan kunci dan CA yang Anda tentukan
Bagian ini menunjukkan cara memverifikasi kunci dan CA yang digunakan selama pembuatan cluster. Anda dapat melakukan verifikasi ini menggunakan Cloud Logging atau menggunakan Google Cloud CLI.
Menggunakan Logging untuk memverifikasi kunci dan CA
Untuk memverifikasi kunci dan CA menggunakan Logging, lakukan hal berikut:
Di konsol Google Cloud, buka halaman Logs Explorer:
Tentukan kueri berikut:
resource.type="gke_cluster" resource.labels.cluster_name="CLUSTER_NAME" resource.labels.location="CLUSTER_LOCATION" protoPayload.serviceName="container.googleapis.com" protoPayload.methodName=~"google.container.v(1|1alpha1|1beta1).ClusterManager.CreateCluster" protoPayload.request.cluster.userManagedKeysConfig:*
protoPayload.request.cluster.userManagedKeysConfig:*
memfilter hasil untuk log pembuatan cluster yang menyertakan kunci dan CA yang Anda kelola.Klik Run query.
Pada hasil, luaskan log pembuatan cluster Anda. Pastikan jalur ke kunci dan CA sama dengan yang Anda buat untuk cluster tersebut, seperti dalam contoh berikut:
# lines omitted for clarity
userManagedKeysConfig: {
aggregationCa: "projects/KEY_PROJECT_ID/locations/us-central1/caPools/aggregation-ca-pool"
clusterCa: "projects/KEY_PROJECT_ID/locations/us-central1/caPools/cluster-ca-pool"
etcdApiCa: "projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-api-ca-pool"
etcdPeerCa: "projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-peer-ca-pool"
serviceAccountSigningKeys: [
0: "projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1"
]
serviceAccountVerificationKeys: [
0: "projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1"
]
}
Menggunakan gcloud CLI untuk memverifikasi kunci dan CA
Untuk memverifikasi bahwa cluster menggunakan CA dan kunci yang Anda buat, jalankan perintah berikut:
gcloud container clusters describe example-cluster \
--location=us-central1 \
--project=CLUSTER_PROJECT_ID
Output harus menyertakan kolom userManagedKeysConfig
seperti dalam
contoh berikut:
# lines omitted for clarity
userManagedKeysConfig:
sa-signing-key: projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1
sa-verification-key: projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1
cluster-ca: projects/KEY_PROJECT_ID/locations/us-central1/caPools/cluster-ca-pool
etcd-peer-ca: projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-peer-ca-pool
etcd-api-ca: projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-api-ca-pool
aggregation-ca: projects/KEY_PROJECT_ID/locations/us-central1/caPools/aggregation-ca-pool
Pembersihan
Agar tidak perlu membayar biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.
Menghapus project
Menghapus project Google Cloud:
gcloud projects delete PROJECT_ID
Menghapus resource satu per satu
Hapus cluster:
gcloud container clusters delete example-cluster \ --location=us-central1 \ --project=CLUSTER_PROJECT_ID
Nonaktifkan root CA:
gcloud privateca roots disable cluster-root-ca \ --location=us-central1 \ --pool=projects/KEY_PROJECT_ID/locations/us-central1/caPools/cluster-ca-pool \ --project=KEY_PROJECT_ID gcloud privateca roots disable etcd-peer-root-ca \ --location=us-central1 \ --pool=projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-peer-ca-pool \ --project=KEY_PROJECT_ID gcloud privateca roots disable etcd-api-root-ca \ --location=us-central1 \ --pool=projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-api-ca-pool \ --project=KEY_PROJECT_ID gcloud privateca roots disable aggregation-root-ca \ --location=us-central1 \ --pool=projects/KEY_PROJECT_ID/locations/us-central1/caPools/aggregation-ca-pool \ --project=KEY_PROJECT_ID
Hapus root CA:
gcloud privateca roots delete cluster-root-ca \ --location=us-central1 \ --pool=projects/KEY_PROJECT_ID/locations/us-central1/caPools/cluster-ca-pool \ --project=KEY_PROJECT_ID gcloud privateca roots delete etcd-peer-root-ca \ --location=us-central1 \ --pool=projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-peer-ca-pool \ --project=KEY_PROJECT_ID gcloud privateca roots delete etcd-api-root-ca \ --location=us-central1 \ --pool=projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-api-ca-pool \ --project=KEY_PROJECT_ID gcloud privateca roots delete aggregation-root-ca \ --location=us-central1 \ --pool=projects/KEY_PROJECT_ID/locations/us-central1/caPools/aggregation-ca-pool \ --project=KEY_PROJECT_ID
Hapus kumpulan CA:
gcloud privateca pools delete cluster-ca-pool --location=us-central1 \ --project=KEY_PROJECT_ID gcloud privateca pools delete etcd-peer-ca-pool --location=us-central1 \ --project=KEY_PROJECT_ID gcloud privateca pools delete etcd-api-ca-pool --location=us-central1 \ --project=KEY_PROJECT_ID gcloud privateca pools delete aggregation-ca-pool --location=us-central1 \ --project=KEY_PROJECT_ID
Hapus kunci:
gcloud kms keys versions destroy 1 \ --location=us-central1 \ --keyring=KEY_RING_NAME \ --key=sa-signing-key \ --project=KEY_PROJECT_ID gcloud kms keys versions destroy 1 \ --location=us-central1 \ --keyring=KEY_RING_NAME \ --key=cluster-ca-key \ --project=KEY_PROJECT_ID gcloud kms keys versions destroy 1 \ --location=us-central1 \ --keyring=KEY_RING_NAME \ --key=etcd-peer-ca-key \ --project=KEY_PROJECT_ID gcloud kms keys versions destroy 1 \ --location=us-central1 \ --keyring=KEY_RING_NAME \ --key=etcd-api-ca-key \ --project=KEY_PROJECT_ID gcloud kms keys versions destroy 1 \ --location=us-central1 \ --keyring=KEY_RING_NAME \ --key=aggregation-ca-key \ --project=KEY_PROJECT_ID
Anda tidak dapat menghapus ring kunci dari Cloud KMS. Namun, gantungan kunci tidak dikenai biaya tambahan.
Langkah selanjutnya
- Melacak penggunaan identitas sejak saat penerbitan
- Pelajari arsitektur referensi, diagram, dan praktik terbaik tentang Google Cloud. Lihat Cloud Architecture Center kami.