Panoramica di Workload Identity

Workload Identity ti consente di assegnare identità e autorizzazioni distinte e granulari per ogni applicazione nel tuo cluster. Workload Identity è il metodo consigliato per consentire alle applicazioni in esecuzione in GKE su AWS di accedere ai servizi Google Cloud e AWS.

In tutti i cluster GKE è abilitata l'identità del carico di lavoro.

Service account Kubernetes

Workload Identity implementa la federazione delle identità o la delega della attendibilità o dei ruoli a un provider esterno. Ogni cluster ha un provider OpenID Connect (OIDC) integrato. Quando un pod viene eseguito nel cluster, viene eseguito utilizzando un account di servizio Kubernetes. Il pod può essere configurato per ottenere un token con credenziali di breve durata per il suo account di servizio Kubernetes utilizzando un volume di token account di servizio vincolato.

Provider OpenID Connect

Ogni cluster può fungere da provider OpenID Connect (OIDC). Con questo provider, puoi fornire le credenziali dell'account di servizio Kubernetes ai servizi che supportano la federazione delle identità utilizzando OIDC.

L'URI dell'emittente di questo provider funge anche da endpoint di rilevamento OIDC. I servizi possono utilizzare questo endpoint di discovery per ottenere l'insieme di chiavi web JSON (JWKS), che fornisce informazioni sulle chiavi pubbliche che consentono di verificare le credenziali dell'account servizio Kubernetes.

Google Cloud Provider e pool di identità IAM

Google Cloud IAM supporta la federazione delle identità tramite OIDC. Tutti i cluster GKE sono configurati come provider di identità nel pool di identità del workload PROJECT_ID.svc.id.goog.

Per ottenere il nome del pool di identità del workload e dei relativi provider, consulta Utilizzare Workload Identity con Google Cloud.

Provider di identità AWS IAM

AWS IAM supporta la federazione delle identità tramite OIDC. Per accedere ad AWS utilizzando le identità degli account di servizio di un carico di lavoro, devi creare un provider OIDC in AWS IAM. Per impostazione predefinita, GKE su AWS non è configurato con un provider di identità per AWS IAM.

Alternative all'identità del carico di lavoro

Esistono metodi alternativi per accedere ai servizi da GKE su AWS. Non consigliamo i seguenti metodi a causa di complicazioni.

  1. Esporta le credenziali e archiviale come secret di Kubernetes. In questo caso, devi ruotare manualmente le credenziali archiviate sia in AWS IAM sia nel tuo cluster. Inoltre, se un utente malintenzionato ruba le credenziali, può esploitarle.

  2. Collega le credenziali alle istanze sottostanti dei pool di nodi. In questo caso, tutti i workload in esecuzione sullo stesso nodo condividono le credenziali, il che può comportare un insieme di autorizzazioni maggiore di quello necessario per i workload. Per bloccare l'accesso alle autorizzazioni di un'istanza, i cluster GKE bloccano l'accesso da un pod al servizio di metadati dell'istanza.

Passaggi successivi