La workload identity consente di assegnare l'autorizzazione e identità distinte e granulari per ogni applicazione nel tuo cluster. La workload identity è il modo consigliato per le applicazioni in esecuzione in GKE su AWS di accedere ad AWS e ai Google Cloud servizi.
Tutti i cluster GKE hanno la workload identity abilitata.
Service account Kubernetes
La workload identity implementa la federazione delle identità, ovvero la delega di trust o 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 service account 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 del service account associato.
Provider OpenID Connect
Ogni cluster può fungere da provider OpenID Connect (OIDC). Con questo provider, puoi fornire le credenziali del 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 rilevamento per ottenere il JSON Web Key Set (JWKS), che fornisce informazioni sulla chiave pubblica che consentono loro di verificare le credenziali del service account Kubernetes.
Google Cloud Provider e pool di identità IAM
Google Cloud IAM supporta
la federazione delle identità utilizzando 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 provider, consulta Utilizzare la workload identity con Google Cloud.
Provider di identità AWS IAM
AWS IAM supporta la federazione delle identità utilizzando OIDC. Per accedere ad AWS utilizzando le identità dei account di servizio di un workload, devi creare un provider OIDC su AWS IAM. Per impostazione predefinita, GKE su AWS non è configurato con un provider di identità per AWS IAM.
Alternative alla workload identity
Esistono metodi alternativi per accedere ai servizi da GKE su AWS. Non consigliamo i seguenti metodi a causa di complicazioni.
Esporta le credenziali e archiviale come secret Kubernetes. In questo caso, devi ruotare manualmente le credenziali archiviate sia in AWS IAM sia nel cluster. Inoltre, se un utente malintenzionato ruba le credenziali, può sfruttarle.
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 di cui i workload potrebbero aver bisogno. 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
- Utilizzo della workload identity con i servizi Google Cloud
- Utilizzo della workload identity con AWS
- Scopri di più sulla federazione delle identità per i workload