Esegui le tue autorità di certificazione e le tue chiavi in GKE


Questa pagina mostra come configurare il piano di controllo del cluster Google Kubernetes Engine (GKE) con le autorità di certificazione (CA) e le chiavi che gestisci. Queste linee guida sono rivolte agli amministratori della sicurezza che hanno requisiti specifici di conformità o criteri dell'organizzazione per il controllo dell'emissione e della firma delle credenziali.

Questa pagina descrive una parte di un insieme di funzionalità facoltative del piano di controllo in GKE che ti consente di eseguire attività come verificare la posizione di sicurezza del piano di controllo o configurare la crittografia e la firma delle credenziali nel piano di controllo utilizzando le chiavi che gestisci. Per maggiori dettagli, consulta Informazioni sull'autorità del piano di controllo GKE.

Per impostazione predefinita, Google Cloud applica varie misure di sicurezza al control plane gestito. Questa pagina descrive funzionalità facoltative che ti offrono maggiore visibilità o controllo sul piano di controllo di GKE.

Dovresti già conoscere i seguenti concetti:

Componenti delle credenziali del piano di controllo

I cluster GKE utilizzano CA e chiavi specifiche per emettere credenziali nel cluster, ad esempio certificati X.509 o token ServiceAccount. Puoi creare chiavi in Cloud Key Management Service (Cloud KMS) e autorità di certificazione in Certificate Authority Service (CA Service) e configurare i tuoi cluster in modo che utilizzino queste risorse anziché le chiavi e le autorità di certificazione gestite da Google Cloud.

Per scoprire di più sui componenti specifici che crei, consulta Chiavi e CA autogestite.

Utilizzo con altre funzionalità dell'autorità del control plane GKE

L'autorità del piano di controllo GKE fornisce le seguenti funzionalità relative alle chiavi gestite autonomamente:

Obiettivi

  • Creare chiavi in Cloud KMS
  • Crea CA in CA Service
  • Concedi i ruoli IAM (Identity and Access Management) all'agente di servizio GKE
  • Crea un cluster GKE che utilizzi le tue CA e le tue chiavi
  • Verifica che il cluster utilizzi le CA e le chiavi

Costi

In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:

Per generare una stima dei costi in base all'utilizzo previsto, utilizza il Calcolatore prezzi. I nuovi utenti di Google Cloud potrebbero essere idonei per una prova gratuita.

Al termine delle attività descritte in questo documento, puoi evitare la fatturazione continua eliminando le risorse che hai creato. Per ulteriori informazioni, consulta la sezione Pulizia.

Prima di iniziare

  1. 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.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. Make sure that billing is enabled for your Google Cloud project.

  5. Enable the Kubernetes Engine, Certificate Authority Service, and Cloud Key Management Service APIs:

    gcloud services enable container.googleapis.com privateca.googleapis.com cloudkms.googleapis.com
  6. Install the Google Cloud CLI.
  7. To initialize the gcloud CLI, run the following command:

    gcloud init
  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Kubernetes Engine, Certificate Authority Service, and Cloud Key Management Service APIs:

    gcloud services enable container.googleapis.com privateca.googleapis.com cloudkms.googleapis.com
  10. Assicurati che il tuo ambiente sia idoneo all'utilizzo delle funzionalità dell'autorità del control plane GKE. Per attivare queste funzionalità, contatta il team di vendita di Google Cloud.
  11. Per monitorare in modo affidabile l'emissione e l'utilizzo delle credenziali, assicurati che i seguenti log di controllo dell'accesso ai dati siano abilitati:
    • Cloud KMS: DATA_READ
    • Servizio CA: ADMIN_READ e ADMIN_WRITE

    Per attivare questi tipi di log, consulta Attivare gli audit log di accesso ai dati.

Ruoli e autorizzazioni richiesti

Per ottenere le autorizzazioni necessarie per eseguire le tue CA e le tue chiavi, chiedi all'amministratore di concederti i seguenti ruoli IAM:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Requisiti

Devi utilizzare GKE 1.31.1-gke.1846000 o versioni successive.

Limitazioni

Si applicano le seguenti limitazioni:

  • Puoi utilizzare solo le chiavi di Cloud KMS. Non puoi utilizzare un altro fornitore KMS o un altro fornitore di crittografia.
  • Le chiavi Cloud External Key Manager (Cloud EKM) non sono supportate.
  • Puoi utilizzare solo le CA del servizio CA.

Prepara l'ambiente

In questa sezione identifichi i progetti Google Cloud che utilizzerai in questo tutorial e crei un keyring in Cloud KMS per contenere le tue chiavi.

Identificare i progetti

Ti consigliamo di utilizzare progetti Google Cloud separati come segue:

  • Progetto chiavi: contiene tutte le chiavi e le CA.
  • Progetto cluster: contiene i cluster GKE.

Facoltativamente, puoi utilizzare lo stesso progetto per le chiavi, le CA e i cluster GKE, ma ti consigliamo di utilizzare progetti separati in modo che i team che gestiscono le operazioni crittografiche nella tua organizzazione siano separati dai team che gestiscono le operazioni dei cluster.

Creazione di un keyring

Crea un keyring nel progetto di chiavi per contenere tutte le chiavi di un cluster specifico. Devi creare il mazzo di chiavi nella stessa posizione del cluster GKE.

Esegui questo comando:

gcloud kms keyrings create KEY_RING_NAME \
    --location=us-central1 \
    --project=KEY_PROJECT_ID

Sostituisci quanto segue:

  • KEY_RING_NAME: un nome per il mazzo di chiavi.
  • KEY_PROJECT_ID: l'ID del progetto principale.

Crea chiavi

Per ogni autorità di credenziali, come le chiavi dell'account di servizio e le CA, devi creare una chiave utilizzando Cloud KMS. Questa sezione mostra come creare le chiavi utilizzate da GKE per firmare e verificare le credenziali nel cluster. Puoi specificare le tue proprietà per queste chiavi in base alle esigenze della tua organizzazione. Per maggiori dettagli, consulta la pagina Creare una chiave e il riferimento all'API projects.locations.keyRings.cryptoKeys.

Tieni presente quanto segue quando crei queste risorse in Cloud KMS:

  • Se nel tuo progetto chiavi è già presente un keyring, puoi utilizzarlo per memorizzare tutte le chiavi che crei per l'utilizzo con il tuo cluster.
  • Il portachiavi deve trovarsi nella stessa località Google Cloud del cluster per ridurre al minimo la latenza.
  • Le chiavi devono specificare asymmetric-signing come scopo della chiave.
  • Utilizza i seguenti algoritmi in base al tipo di chiave:
    • Chiave di firma dell'account utente: un algoritmo PKCS1 di firma RSA sicuro, comersa-sign-pkcs1-4096-sha256 o rsa-sign-pkcs1-3072-sha256.
    • Chiavi dell'autorità di certificazione: un algoritmo sicuro come ec-sign-p256-sha256.
  • Le chiavi hardware Cloud HSM sono supportate, ma il livello di protezione software è sufficiente per la maggior parte dei casi d'uso. Per informazioni dettagliate sulle chiavi hardware, consulta Cloud HSM.
  • Non modificare la durata predefinita per l'eliminazione delle chiavi.
  • GKE non impedisce di eliminare le chiavi Cloud KMS, incluse le chiavi del servizio CA, in uso dal cluster. Prima di eliminare le chiavi o le CA, assicurati che le risorse non siano utilizzate.

Per creare le chiavi, esegui i seguenti comandi:

  1. Crea la chiave di firma dell'account di servizio Kubernetes, che specifichi anche come chiave di verifica dell'account di servizio durante la creazione del 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
    

    Sostituisci KEY_PROJECT_ID con l'ID del progetto per il progetto delle chiavi dedicato.

  2. Crea la chiave dell'autorità di certificazione principale del 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
    
  3. Crea la chiave della CA radice del 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
    
  4. Crea la chiave CA principale dell'API etcd:

    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
    
  5. Crea la chiave della CA radice di aggregazione:

    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
    

Crea le CA

Dopo aver creato le chiavi per ciascuna delle funzioni del piano di controllo, utilizza ogni chiave per creare i pool di CA e le CA radice corrispondenti utilizzando il servizio CA:

  1. Crea il pool di CA del cluster:

    gcloud privateca pools create cluster-ca-pool \
        --location=us-central1 \
        --tier=enterprise \
        --project=KEY_PROJECT_ID \
        --no-publish-crl --no-publish-ca-cert
    

    I flag --no-publish-crl e --no-publish-ca-cert sono facoltativi. Se ometti questi flag, i certificati vengono pubblicati in un bucket Cloud Storage. Per informazioni dettagliate, consulta Attivare la pubblicazione del certificato CA e della CRL per le CA in un pool di CA.

  2. Crea l'autorità di certificazione principale del 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
    

    Sostituisci ORGANIZATION con il nome della tua organizzazione.

  3. Crea il pool di 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
    
  4. Crea la CA radice 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
    
  5. Crea il pool di CA dell'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
    
  6. Crea la CA principale dell'API etcd:

    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
    
  7. Crea il pool di CA di aggregazione:

    gcloud privateca pools create aggregation-ca-pool \
        --location=us-central1 \
        --tier=enterprise \
        --project=KEY_PROJECT_ID \
        --no-publish-crl --no-publish-ca-cert
    
  8. Crea la CA radice di aggregazione:

    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
    

Concedi i ruoli IAM all'agente di servizio GKE

L'agente di servizio GKE richiede l'accesso alle risorse che hai creato in Cloud KMS e nel servizio CA. L'agente di servizio utilizza queste risorse per firmare, verificare ed emettere credenziali nel cluster. Puoi utilizzare i seguenti ruoli IAM predefiniti:

Per concedere questi ruoli all'agente di servizio GKE, segui questi passaggi:

  1. Trova il numero del progetto del cluster:

    gcloud projects describe CLUSTER_PROJECT_ID \
        --format='value(projectNumber)'
    

    Sostituisci CLUSTER_PROJECT_ID con l'ID del progetto del tuo cluster.

  2. Concedi il ruolo Kubernetes Engine KMS Crypto Key User alla chiave di firma dell'account di servizio che hai creato in Creare chiavi:

    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.iam.gserviceaccount.com" \
      --role=roles/container.cloudKmsKeyUser \
      --project=KEY_PROJECT_ID
    

    Sostituisci CLUSTER_PROJECT_NUMBER con il numero del progetto del cluster.

  3. Concedi il ruolo Gestore dei certificati del servizio CA ai pool di CA che hai creato in Creare le CA:

    gcloud privateca pools add-iam-policy-binding cluster-ca-pool \
        --location=us-central1 \
        --member="serviceAccount:service-CLUSTER_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com" \
        --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.iam.gserviceaccount.com" \
        --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.iam.gserviceaccount.com" \
        --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.iam.gserviceaccount.com" \
        --role=roles/privateca.certificateManager \
        --project=KEY_PROJECT_ID
    

Configura CA e chiavi in un nuovo cluster

Dopo aver creato chiavi, pool di CA, CA radice e aver concesso i ruoli IAM all'agente di servizio GKE, crea un nuovo cluster che utilizzi queste risorse.

I flag specificati nel comando di creazione del cluster richiedono i seguenti percorsi delle risorse come valori:

  • Percorso di una versione della chiave in Cloud KMS per la chiave di firma dell'account servizio che hai creato in Creare chiavi. Devi specificare questo percorso per il flag service-account-signing-keys e per il flag service-account-verification-keys.
  • Percorso di ciascun pool di CA che hai creato in Creare le CA.

Per configurare un nuovo cluster in modo che utilizzi le tue chiavi e CA:

  1. Trova il percorso della versione più recente della chiave di firma del account di servizio abilitata:

    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
    

    Sostituisci KEY_PROJECT_ID con l'ID del progetto principale.

    L'output è simile al seguente:

    projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1
    
  2. Trova i percorsi di ciascuno dei pool di CA che hai creato:

    gcloud privateca pools list --format="get(name)" \
        --project=KEY_PROJECT_ID
    

    L'output è simile al seguente:

    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
    

    Assicurati che l'output contenga tutti i pool di CA che hai creato per GKE.

Crea un cluster

In questa sezione, crei un cluster con opzioni diverse specificate, a seconda delle funzionalità dell'autorità del piano di controllo GKE che vuoi configurare. Puoi configurare queste funzionalità su un cluster solo durante la sua creazione. I seguenti comandi creano cluster in modalità Autopilot. Per creare invece cluster in modalità standard, utilizza gli stessi flag con il comando gcloud container clusters create.

  • Per configurare solo le CA e le chiavi che hai creato in questo tutorial, esegui il seguente comando:

    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
    

    Sostituisci quanto segue:

    • CLUSTER_PROJECT_ID: l'ID del progetto del cluster.
    • VERSION: la versione GKE del cluster. Deve essere 1.31.1-gke.1846000 o successiva.
  • Per configurare le CA e le chiavi, nonché la crittografia del disco di avvio del control plane e la crittografia di etcd, segui questi passaggi:

    1. Esegui tutti i passaggi di configurazione chiave in Eseguire la crittografia dei dischi di avvio di etcd e del piano di controllo.
    2. Trova i percorsi di ciascuna chiave seguendo le istruzioni riportate in Utilizzare le chiavi di crittografia in un cluster.
    3. Crea un 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
      

      Sostituisci quanto segue:

      • CLUSTER_PROJECT_ID: l'ID del progetto del cluster.
      • VERSION: la versione GKE del cluster. Deve essere 1.31.1-gke.1846000 o successiva.
      • PATH_TO_DISK_KEY: il percorso della chiave di crittografia del disco.
      • PATH_TO_ETCD_BACKUP_KEY: il percorso della chiave di crittografia del backup interno di etcd.

    Puoi utilizzare questi flag anche quando crei un nuovo cluster in modalità standard.

Verifica che il cluster utilizzi le chiavi e le CA specificate

Questa sezione mostra come verificare le chiavi e le CA utilizzate durante la creazione del cluster. Puoi eseguire questa verifica utilizzando Cloud Logging o Google Cloud CLI.

Utilizzare il logging per verificare chiavi e CA

Per verificare le chiavi e le CA utilizzando Logging:

  1. Nella console Google Cloud, vai alla pagina Esplora log:

    Vai a Esplora log

  2. Specifica la seguente query:

    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:* filtra i risultati per i log di creazione del cluster che includono le chiavi e le CA che gestisci.

  3. Fai clic su Esegui query.

Nei risultati, espandi il log di creazione del cluster. Verifica che i percorsi alle chiavi e alle CA siano gli stessi che hai creato per il cluster, come nell'esempio seguente:

# 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"
  ]
}

Utilizza gcloud CLI per verificare le chiavi e le CA

Per verificare che il cluster utilizzi le CA e le chiavi che hai creato, esegui il seguente comando:

gcloud container clusters describe example-cluster \
    --location=us-central1 \
    --project=CLUSTER_PROJECT_ID

L'output deve includere il campo userManagedKeysConfig come nell'esempio seguente:

# 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

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.

Elimina i progetti

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

Elimina singole risorse

  1. Elimina il cluster:

    gcloud container clusters delete example-cluster \
        --location=us-central1 \
        --project=CLUSTER_PROJECT_ID
    
  2. Disabilita le CA radice:

    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
    
  3. Elimina le CA radice:

    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
    
  4. Elimina i pool di 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
    
  5. Elimina le chiavi:

    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
    

Non puoi eliminare i keyring da Cloud KMS. Tuttavia, i portachiavi non comportano costi aggiuntivi.

Passaggi successivi