Utilizzo di Workload Identity


Questo documento mostra come abilitare e configurare Workload Identity nei cluster Google Kubernetes Engine (GKE). Workload Identity consente ai carichi di lavoro nei cluster GKE di impersonare gli account di servizio Identity and Access Management (IAM) per accedere ai servizi Google Cloud. Per scoprire di più sul funzionamento di Workload Identity e sulle limitazioni, consulta Workload Identity.

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti attività:

  • Abilita l'API Google Kubernetes Engine.
  • Abilita l'API Google Kubernetes Engine
  • Se vuoi utilizzare Google Cloud CLI per questa attività, installa e inizializza l'interfaccia alla gcloud CLI. Se hai già installato l'interfaccia a riga di comando gcloud, scarica la versione più recente eseguendo gcloud components update.

Abilita Workload Identity

Puoi abilitare Workload Identity su cluster e pool di nodi utilizzando Google Cloud CLI o la console Google Cloud. Workload Identity deve essere abilitato a livello di cluster prima di poter abilitare Workload Identity nei pool di nodi.

I cluster Autopilot abilitano Workload Identity per impostazione predefinita. Per configurare i pod Autopilot per l'utilizzo di Workload Identity, vai a Configurare le applicazioni per l'utilizzo di Workload Identity.

Crea un nuovo cluster

Puoi abilitare Workload Identity in un nuovo cluster standard utilizzando l'interfaccia a riga di comando gcloud o la console Google Cloud.

gcloud

  1. In Google Cloud Console, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore di Google Cloud Console, viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Per abilitare Workload Identity in un nuovo cluster, esegui questo comando:

    gcloud container clusters create CLUSTER_NAME \
        --region=COMPUTE_REGION \
        --workload-pool=PROJECT_ID.svc.id.goog
    

    Sostituisci quanto segue:

    • CLUSTER_NAME: il nome del nuovo cluster.
    • COMPUTE_REGION: l'area geografica di Compute Engine del tuo cluster. Per i cluster di zona, utilizza --zone=COMPUTE_ZONE.
    • PROJECT_ID: il tuo ID progetto Google Cloud.

Console

Per abilitare Workload Identity in un nuovo cluster, procedi nel seguente modo:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Fai clic su Crea.

  3. Nella finestra di dialogo Crea cluster, per GKE Standard, fai clic su Configura.

  4. Nella sezione Cluster del menu di navigazione, fai clic su Sicurezza.

  5. Seleziona la casella di controllo Abilita Workload Identity.

  6. Continua a configurare il cluster, quindi fai clic su Crea.

Aggiorna un cluster esistente

Puoi abilitare Workload Identity in un cluster standard esistente utilizzando l'interfaccia alla gcloud CLI o la console Google Cloud. I pool di nodi esistenti non sono interessati, ma i nuovi pool di nodi nel cluster utilizzano Workload Identity.

gcloud

  1. In Google Cloud Console, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore di Google Cloud Console, viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Per abilitare Workload Identity in un cluster esistente, esegui questo comando:

    gcloud container clusters update CLUSTER_NAME \
        --region=COMPUTE_REGION \
        --workload-pool=PROJECT_ID.svc.id.goog
    

    Sostituisci quanto segue:

    • CLUSTER_NAME: il nome del tuo cluster esistente.
    • COMPUTE_REGION: l'area geografica di Compute Engine del tuo cluster. Per i cluster di zona, utilizza --zone=COMPUTE_ZONE.
    • PROJECT_ID: il tuo ID progetto Google Cloud.

Console

Per abilitare Workload Identity in un cluster esistente, procedi nel seguente modo:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.

  3. Nella pagina dei dettagli del cluster, nella sezione Sicurezza, fai clic su Modifica Workload Identity.

  4. Nella finestra di dialogo Modifica Workload Identity, seleziona la casella di controllo Abilita Workload Identity.

  5. Fai clic su Salva modifiche.

Eseguire la migrazione dei carichi di lavoro esistenti a Workload Identity

Dopo aver abilitato Workload Identity in un cluster esistente, potresti voler eseguire la migrazione dei carichi di lavoro in esecuzione per utilizzare Workload Identity. Seleziona la strategia di migrazione ideale per il tuo ambiente. Puoi creare nuovi pool di nodi con Workload Identity abilitato o aggiornare i pool di nodi esistenti per abilitare Workload Identity.

Ti consigliamo di creare nuovi pool di nodi se devi anche modificare le tue applicazioni per renderle compatibili con Workload Identity.

Tutti i nuovi pool di nodi che crei per impostazione predefinita utilizzano Workload Identity se nel cluster è abilitato Workload Identity. Per creare un nuovo pool di nodi con Workload Identity abilitato, esegui il comando seguente:

gcloud container node-pools create NODEPOOL_NAME \
    --cluster=CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --workload-metadata=GKE_METADATA

Sostituisci quanto segue:

  • NODEPOOL_NAME: il nome del nuovo pool di nodi.
  • CLUSTER_NAME: il nome del cluster esistente per cui è abilitato Workload Identity.

Il flag --workload-metadata=GKE_METADATA configura il pool di nodi per l'utilizzo del server di metadati GKE. Ti consigliamo di includere il flag in modo che la creazione del pool di nodi non vada a buon fine se Workload Identity non è abilitato nel cluster.

Aggiorna un pool di nodi esistente

Puoi abilitare manualmente Workload Identity nei pool di nodi esistenti dopo aver abilitato Workload Identity nel cluster.

gcloud

  1. In Google Cloud Console, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore di Google Cloud Console, viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Per modificare un pool di nodi esistente per utilizzare Workload Identity, esegui il comando seguente:

    gcloud container node-pools update NODEPOOL_NAME \
        --cluster=CLUSTER_NAME \
        --region=COMPUTE_REGION \
        --workload-metadata=GKE_METADATA
    

    Se un cluster ha Workload Identity abilitato, puoi disabilitarlo in modo selettivo in un pool di nodi specifico specificando esplicitamente --workload-metadata=GCE_METADATA. Per ulteriori informazioni, consulta Protezione dei metadati del cluster.

Console

Per modificare un pool di nodi esistente per utilizzare Workload Identity, segui questi passaggi:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.

  3. Fai clic sulla scheda Nodi.

  4. Nella sezione Pool di nodi, fai clic sul nome del pool di nodi che vuoi modificare.

  5. Nella pagina Dettagli del pool di nodi, fai clic su Modifica.

  6. Nella pagina Modifica pool di nodi, nella sezione Sicurezza, seleziona la casella di controllo Abilita server metadati GKE.

  7. Fai clic su Salva.

Configurare le applicazioni per l'utilizzo di Workload Identity

Dopo aver abilitato Workload Identity, devi configurare le applicazioni per l'autenticazione in Google Cloud utilizzando Workload Identity prima di eseguire la migrazione delle applicazioni ai nuovi pool di nodi.

Devi assegnare un account di servizio Kubernetes all'applicazione e configurare l'account di servizio Kubernetes in modo che funzioni come account di servizio IAM.

I seguenti passaggi mostrano come configurare le applicazioni per l'utilizzo di Workload Identity se è abilitato sul cluster.

  1. Ottieni le credenziali per il tuo cluster:

    gcloud container clusters get-credentials CLUSTER_NAME \
        --region=COMPUTE_REGION
    

    Sostituisci quanto segue:

    • CLUSTER_NAME: il nome del tuo cluster in cui è abilitato Workload Identity.
    • COMPUTE_REGION: la regione di Compute Engine del tuo cluster.
  2. Creare uno spazio dei nomi da utilizzare per l'account di servizio Kubernetes. Puoi anche utilizzare lo spazio dei nomi predefinito o qualsiasi spazio dei nomi esistente.

    kubectl create namespace NAMESPACE
    
  3. Creare un account di servizio Kubernetes da utilizzare per l'applicazione. Puoi anche utilizzare qualsiasi account di servizio Kubernetes esistente in qualsiasi spazio dei nomi, incluso l'account di servizio default.

    kubectl create serviceaccount KSA_NAME \
        --namespace NAMESPACE
    

    Sostituisci quanto segue:

    • KSA_NAME: il nome del tuo nuovo account di servizio Kubernetes.
    • NAMESPACE: il nome dello spazio dei nomi Kubernetes per l'account di servizio.
  4. Crea un account di servizio IAM per la tua applicazione o utilizza un account di servizio IAM esistente. Puoi utilizzare qualsiasi account di servizio IAM in qualsiasi progetto della tua organizzazione. Per Config Connector, applica l'oggetto IAMServiceAccount per l'account di servizio selezionato.

    gcloud

    1. In Google Cloud Console, attiva Cloud Shell.

      Attiva Cloud Shell

      Nella parte inferiore di Google Cloud Console, viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

    2. Per creare un nuovo account di servizio IAM utilizzando gcloud CLI, esegui il comando seguente.

      gcloud iam service-accounts create GSA_NAME \
          --project=GSA_PROJECT
      

      Sostituisci quanto segue:

      • GSA_NAME: il nome del nuovo account di servizio IAM.
      • GSA_PROJECT: l'ID del progetto Google Cloud per il tuo account di servizio IAM.

    Config Connector

    Per utilizzare un account di servizio IAM nuovo o esistente con Config Connector, applica il seguente file di configurazione.

    Nota: questo passaggio richiede Config Connector. Segui le istruzioni di installazione per installare Config Connector sul tuo cluster.

    apiVersion: iam.cnrm.cloud.google.com/v1beta1
    kind: IAMServiceAccount
    metadata:
      name: [GSA_NAME]
    spec:
      displayName: [DISPLAY_NAME]
    Per eseguire il deployment di questo manifest, scaricalo sul tuo computer come service-account.yaml.

    Utilizza kubectl per applicare il manifest:

    kubectl apply -f service-account.yaml
    

    Per informazioni sull'autorizzazione degli account di servizio IAM ad accedere alle API Google Cloud, consulta Informazioni sugli account di servizio.

  5. Assicurati che l'account di servizio IAM disponga dei ruoli necessari. Puoi concedere ruoli aggiuntivi utilizzando il seguente comando:

    gcloud projects add-iam-policy-binding GSA_PROJECT \
        --member "serviceAccount:GSA_NAME@GSA_PROJECT.iam.gserviceaccount.com" \
        --role "ROLE_NAME"
    

    Sostituisci quanto segue:

    • GSA_PROJECT: l'ID del progetto Google Cloud del tuo account di servizio IAM.
    • GSA_NAME: il nome del tuo account di servizio IAM.
    • ROLE_NAME: il ruolo IAM da assegnare all'account di servizio, ad esempio roles/spanner.viewer.
  6. Consenti all'account di servizio Kubernetes di impersonare l'account di servizio IAM aggiungendo un'associazione dei criteri IAM tra i due account di servizio. Questa associazione consente all'account di servizio Kubernetes di agire come account di servizio IAM.

    gcloud

    1. In Google Cloud Console, attiva Cloud Shell.

      Attiva Cloud Shell

      Nella parte inferiore di Google Cloud Console, viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

    2. Nel tuo ambiente di sviluppo, esegui il comando seguente:

      gcloud iam service-accounts add-iam-policy-binding GSA_NAME@GSA_PROJECT.iam.gserviceaccount.com \
          --role roles/iam.workloadIdentityUser \
          --member "serviceAccount:PROJECT_ID.svc.id.goog[NAMESPACE/KSA_NAME]"
      

    Config Connector

    Nota: questo passaggio richiede Config Connector. Segui le istruzioni di installazione per installare Config Connector sul tuo cluster.

    apiVersion: iam.cnrm.cloud.google.com/v1beta1
    kind: IAMPolicy
    metadata:
      name: iampolicy-workload-identity-sample
    spec:
      resourceRef:
        apiVersion: iam.cnrm.cloud.google.com/v1beta1
        kind: IAMServiceAccount
        name: [GSA_NAME]
      bindings:
        - role: roles/iam.workloadIdentityUser
          members:
            - serviceAccount:[PROJECT_ID].svc.id.goog[[K8S_NAMESPACE]/[KSA_NAME]]
    Per eseguire il deployment di questo manifest, scaricalo sul tuo computer come policy-binding.yaml. Sostituisci GSA_NAME, PROJECT_ID, NAMESPACE e KSA_NAME i valori per il tuo ambiente. Dopodiché, esegui:

    kubectl apply -f policy-binding.yaml
    
  7. Annota l'account di servizio Kubernetes con l'indirizzo email dell'account di servizio IAM.

    kubectl

    1. In Google Cloud Console, attiva Cloud Shell.

      Attiva Cloud Shell

      Nella parte inferiore di Google Cloud Console, viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

    2. Nel tuo ambiente di sviluppo, esegui il comando seguente:

      kubectl annotate serviceaccount KSA_NAME \
          --namespace NAMESPACE \
          iam.gke.io/gcp-service-account=GSA_NAME@GSA_PROJECT.iam.gserviceaccount.com
      

    yaml

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      annotations:
        iam.gke.io/gcp-service-account: GSA_NAME@PROJECT_ID.iam.gserviceaccount.com
      name: KSA_NAME
      namespace: NAMESPACE
    
  8. Aggiorna la specifica dei pod per pianificare i carichi di lavoro sui nodi che utilizzano Workload Identity e sull'utilizzo dell'account di servizio Kubernetes con annotazioni.

    spec:
      serviceAccountName: KSA_NAME
      nodeSelector:
        iam.gke.io/gke-metadata-server-enabled: "true"
    
  9. Applica la configurazione aggiornata al cluster:

    kubectl apply -f DEPLOYMENT_FILE
    

    Sostituisci DEPLOYMENT_FILE con il percorso alle specifiche del pod aggiornate.

Verificare la configurazione di Workload Identity

Verifica che gli account di servizio siano configurati correttamente creando un pod con l'account di servizio Kubernetes che esegue l'immagine container specifica del sistema operativo, quindi connettiti con una sessione interattiva.

Linux

Crea un pod che utilizza l'account di servizio Kubernetes con annotazioni e curl l'endpoint service-accounts.

  1. Salva la seguente configurazione come wi-test.yaml:

    apiVersion: v1
    kind: Pod
    metadata:
      name: workload-identity-test
      namespace: NAMESPACE
    spec:
      containers:
      - image: google/cloud-sdk:slim
        name: workload-identity-test
        command: ["sleep","infinity"]
      serviceAccountName: KSA_NAME
      nodeSelector:
        iam.gke.io/gke-metadata-server-enabled: "true"
    

    L'immagine google/cloud-sdk include Google Cloud CLI, che è un modo conveniente per utilizzare le API Google Cloud. Il download dell'immagine potrebbe richiedere un po' di tempo.

  2. Crea il pod:

    kubectl apply -f wi-test.yaml
    
  3. Apri una sessione interattiva nel pod:

    kubectl exec -it workload-identity-test \
      --namespace NAMESPACE \
      -- /bin/bash
    
  4. Esegui questo comando all'interno del pod:

    curl -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/email
    

    Se gli account di servizio sono configurati correttamente, l'indirizzo email dell'account di servizio IAM è elencato come l'identità (e unica) attiva. Per provare questo aspetto, il pod agisce per impostazione predefinita come agente dell'account di servizio IAM quando chiama le API Google Cloud.

Windows

Crea un pod con l'account di servizio Kubernetes che esegue l'immagine container servercore.

  1. Salva il seguente manifest:

    apiVersion: v1
    kind: Pod
    metadata:
      name: workload-identity-test
      namespace: NAMESPACE
    spec:
      containers:
      - image: IMAGE_NAME
        name: workload-identity-test
        command: ["powershell.exe", "sleep", "3600"]
      serviceAccountName: KSA_NAME
      nodeSelector:
        kubernetes.io/os: windows
        cloud.google.com/gke-os-distribution: windows_ltsc
        iam.gke.io/gke-metadata-server-enabled: "true"
    

    Sostituisci IMAGE_NAME con uno dei seguenti valori di immagine servercore del container:

    Immagine del nodo Windows Server Immagine container servercore
    WINDOWS_LTSC,
    WINDOWS_LTSC_CONTAINERD
    mcr.microsoft.com/windows/servercore:ltsc2019
    WINDOWS_SAC e
    WINDOWS_SAC_CONTAINERD

    Controlla la mappatura della versione tra la versione del nodo GKE e la versione del SAC di Windows. Per Windows Server versione 1909, specifica mcr.microsoft.com/windows/servercore:1909; in caso contrario, specifica mcr.microsoft.com/windows/servercore:20H2.

  2. Apri una sessione interattiva nel pod:

    kubectl exec -it workload-identity-test \
      --namespace NAMESPACE -- powershell
    
  3. Esegui questo comando powershell all'interno del pod:

    Invoke-WebRequest  -Headers @{"Metadata-Flavor"="Google"} -Uri  http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/email  -UseBasicParsing
    

    Se gli account di servizio sono configurati correttamente, l'indirizzo email dell'account di servizio IAM è elencato come l'identità (e unica) attiva. Questo dimostra che, per impostazione predefinita, il pod utilizza l'autorità dell'account di servizio IAM quando chiama le API Google Cloud.

Usa Workload Identity dal tuo codice

L'autenticazione ai servizi Google Cloud dal tuo codice è la stessa della procedura di autenticazione mediante il server di metadati Compute Engine. Quando utilizzi Workload Identity, le tue richieste al server di metadati dell'istanza vengono instradate al server di metadati di GKE. Il codice esistente che esegue l'autenticazione tramite il server di metadati dell'istanza (come il codice utilizzando le librerie client di Google Cloud) deve funzionare senza modifiche.

Usa la quota di un altro progetto con Workload Identity

Nei cluster che eseguono GKE versione 1.24 o successiva, puoi facoltativamente configurare il tuo account di servizio Kubernetes in modo che utilizzi la quota di un progetto Google Cloud diverso quando effettui chiamate ai metodi GenerateAccessToken e GenerateIdToken nell'API IAM Service Account Credentials. In questo modo puoi evitare di utilizzare l'intera quota nel progetto principale e utilizzare invece la quota di altri progetti per questi servizi nel cluster.

Per configurare un progetto quota con Workload Identity, procedi nel seguente modo:

  1. Concedi l'autorizzazione serviceusage.services.use per il progetto di quota all'account di servizio Kubernetes.

    gcloud projects add-iam-policy-binding \
    --role=roles/serviceusage.serviceUsageConsumer \
    --member=serviceAccount:PROJECT_ID.svc.id.goog[NAMESPACE/KSA_NAME] \
    QUOTA_PROJECT_ID
    

    Sostituisci QUOTA_PROJECT_ID con l'ID del progetto della quota.

  2. Annota l'account di servizio Kubernetes con il progetto della quota:

    kubectl annotate serviceaccount KSA_NAME \
    --namespace NAMESPACE \
    iam.gke.io/credential-quota-project=QUOTA_PROJECT_ID
    

Per verificare che la configurazione funzioni correttamente:

  1. Crea un pod e avvia una sessione di shell seguendo le istruzioni riportate in Verificare la configurazione di Workload Identity.

  2. Effettua una richiesta di token dell'account di servizio:

    curl -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/token
    
  3. Vai alla pagina dell'API IAM Service Accounts Credentials nella console Google Cloud per il tuo progetto della quota:

    Vai alle API

  4. Controlla le variazioni nel traffico.

Esegui la pulizia

Per interrompere l'utilizzo di Workload Identity, revoca l'accesso all'account di servizio IAM e disabilita Workload Identity nel cluster.

Revoca l'accesso

  1. Revocare l'accesso all'account di servizio IAM:

    gcloud

    1. In Google Cloud Console, attiva Cloud Shell.

      Attiva Cloud Shell

      Nella parte inferiore di Google Cloud Console, viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

    2. Nel tuo ambiente di sviluppo, esegui il comando seguente:

      gcloud iam service-accounts remove-iam-policy-binding GSA_NAME@GSA_PROJECT.iam.gserviceaccount.com \
          --role roles/iam.workloadIdentityUser \
          --member "serviceAccount:PROJECT_ID.svc.id.goog[NAMESPACE/KSA_NAME]"
      

      Sostituisci quanto segue:

      • PROJECT_ID: l'ID progetto del cluster GKE.
      • NAMESPACE: il nome dello spazio dei nomi Kubernetes in cui si trova il tuo account di servizio Kubernetes.
      • KSA_NAME: il nome dell'account di servizio Kubernetes il cui accesso è stato revocato.
      • GSA_NAME: il nome dell'account di servizio IAM.
      • GSA_PROJECT: l'ID progetto dell'account di servizio IAM.

    Config Connector

    Se hai utilizzato Config Connector per creare l'account di servizio, elimina l'account di servizio con kubectl.

    kubectl delete -f service-account.yaml
    

    Possono trascorrere fino a 30 minuti prima che i token memorizzati nella cache scadano. Puoi controllare se i token memorizzati nella cache sono scaduti con questo comando:

    gcloud auth list
    

    I token memorizzati nella cache sono scaduti se l'output di quel comando non include più GSA_NAME@GSA_PROJECT.iam.gserviceaccount.com.

  2. Rimuovi l'annotazione dall'account di servizio Kubernetes. Questo passaggio è facoltativo perché l'accesso è stato revocato da IAM.

    kubectl annotate serviceaccount KSA_NAME \
        --namespace NAMESPACE iam.gke.io/gcp-service-account-
    

Disabilita Workload Identity

Puoi disabilitare Workload Identity solo nei cluster GKE standard.

gcloud

  1. In Google Cloud Console, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore di Google Cloud Console, viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Disabilita Workload Identity in ogni pool di nodi:

    gcloud container node-pools update NODEPOOL_NAME \
        --cluster=CLUSTER_NAME \
        --workload-metadata=GCE_METADATA
    

    Ripeti questo comando per ogni pool di nodi nel cluster.

  3. Disabilita Workload Identity nel cluster:

    gcloud container clusters update CLUSTER_NAME \
        --disable-workload-identity
    

Console

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.

  3. Fai clic sulla scheda Nodi.

  4. Per disabilitare Workload Identity in ciascun pool di nodi, procedi nel seguente modo per ciascun pool di nodi nella sezione Pool di nodi:

    1. Fai clic sul nome del pool di nodi che vuoi modificare.
    2. Nella pagina Dettagli del pool di nodi, fai clic su Modifica.
    3. Nella pagina Modifica pool di nodi, nella sezione Sicurezza, deseleziona la casella di controllo Abilita server metadati GKE.
    4. Fai clic su Salva.
  5. Per disabilitare Workload Identity per il cluster, segui questi passaggi:

    1. Fai clic sulla scheda Dettagli.
    2. Nella sezione Sicurezza, accanto a Workload Identity, fai clic su Modifica.
    3. Nella finestra di dialogo Modifica Workload Identity, deseleziona la casella di controllo Abilita Workload Identity.
    4. Fai clic su Salva modifiche.

Disabilita Workload Identity nella tua organizzazione

Dal punto di vista della sicurezza, Workload Identity consente a GKE di dichiarare le identità degli account di servizio Kubernetes che possono essere autenticate e autorizzate alle risorse di Google Cloud. Se sei un amministratore che ha eseguito azioni per isolare i carichi di lavoro dalle risorse di Google Cloud, ad esempio disabilitazione della creazione di account di servizio o disabilitazione della creazione di chiavi dell'account di servizio, potrebbe essere utile anche disabilitare Workload Identity per la tua organizzazione.

Consulta queste istruzioni per disabilitare Workload Identity per la tua organizzazione.

Risolvere i problemi

Per informazioni sulla risoluzione dei problemi, consulta Risoluzione dei problemi relativi a Workload Identity.

Passaggi successivi