Google Cloud fornisce i seguenti tipi di identità per i carichi di lavoro:
Workload Identity Federation e Workload Identity Federation per GKE consentono ai tuoi carichi di lavoro di accedere alla maggior parte dei servizi Google Cloud utilizzando identità federate che vengono autenticati tramite un provider di identità (IdP) esterno. Dopo che Google Cloud ha autenticato l'identità come entità, quest'ultima può accedere alle risorse utilizzando i ruoli IAM che concedi.
Puoi utilizzare la federazione delle identità per i carichi di lavoro su Google Cloud o su carichi di lavoro esterni eseguiti su piattaforme come AWS, Azure, GitHub e GitLab.
Puoi utilizzare la federazione delle identità per i carichi di lavoro per GKE con i carichi di lavoro in esecuzione nei cluster GKE per conceder loro l'accesso alle risorse di Google Cloud.
Gli account di servizio Google Cloud possono fungere da identità per i carichi di lavoro negli ambienti di produzione. Anziché concedere l'accesso direttamente a un carico di lavoro, concedi l'accesso a un account di servizio e poi fai in modo che il carico di lavoro utilizzi l'account di servizio come identità.
Identità dei carichi di lavoro gestiti (anteprima) ti consentono di associare identità a elevata attestazione dei tuoi Compute Engine carichi di lavoro con scale out impegnativi. Puoi utilizzare le identità dei carichi di lavoro gestiti per autenticare carichi di lavoro ad altri carichi di lavoro utilizzando TLS (mTLS) reciproco, ma non possono essere utilizzati per l'autenticazione nelle API Google Cloud.
I tipi di identità che puoi utilizzare per i carichi di lavoro e il modo e la configurazione dipende da dove sono in esecuzione i carichi di lavoro.
Carichi di lavoro su Google Cloud
Se esegui carichi di lavoro su Google Cloud, puoi utilizzare i seguenti metodi per configurare le identità per i tuoi carichi di lavoro:
- Account di servizio collegati
- Federazione delle identità per i carichi di lavoro per GKE (solo per carichi di lavoro in esecuzione su Google Kubernetes Engine)
- Identità dei carichi di lavoro gestiti (solo per carichi di lavoro eseguiti su Compute Engine)
- Chiavi account di servizio
Account di servizio collegati
Per alcune risorse Google Cloud, puoi specificare un account di servizio gestito dall'utente che e la risorsa utilizzata come identità predefinita. Questa procedura è nota come aggancio dell'account di servizio alla risorsa o associazione dell'account di servizio alla risorsa. Quando il codice in esecuzione sulla risorsa accede ai servizi e alle risorse Google Cloud, utilizza la classe e un account di servizio collegato alla risorsa come identità. Ad esempio, se colleghi un account di servizio a un'istanza Compute Engine e le applicazioni nell'istanza utilizzano una libreria client per chiamare le API Google Cloud, queste applicazioni utilizzeranno automaticamente l'account di servizio collegato per l'autenticazione e l'autorizzazione.
Nella maggior parte dei casi, devi collegare un account di servizio a una risorsa quando la crei. Dopo aver creato la risorsa, non puoi cambiare il servizio dell'account di servizio è collegato alla risorsa. Le istanze di Compute Engine sono eccezione a questa regola; puoi modificare l'account di servizio associato in base alle esigenze.
Per saperne di più, consulta Collegare un account di servizio a una risorsa.
Workload Identity Federation for GKE
Per i carichi di lavoro eseguiti su GKE, Workload Identity Federation per GKE ti consente di concedere ruoli IAM a insiemi distinti e granulari di entità per ogni applicazione nel cluster. La federazione delle identità per i carichi di lavoro per GKE consente agli account di servizio Kubernetes nel tuo cluster GKE di accedere direttamente alle risorse Google Cloud utilizzando la federazione delle identità della forza lavoro o indirettamente utilizzando la simulazione dell'identità dell'account di servizio IAM.
Utilizzando l'accesso diretto alle risorse, puoi concedere i ruoli IAM all'identità dell'account di servizio Kubernetes direttamente sulle risorse del servizio Google Cloud. La maggior parte delle API Google Cloud supporta l'accesso diretto alle risorse. Tuttavia, quando utilizzi la federazione delle identità, alcuni metodi API potrebbero avere limitazioni. Per Per un elenco di queste limitazioni, vedi Prodotti supportati e limitazioni.
In alternativa, i carichi di lavoro possono utilizzare anche l'impersonificazione dell'account di servizio, in cui l'account di servizio Kubernetes configurato è associato a un account di servizio IAM, che funge da identità per accedere alle API Google Cloud.
Per scoprire di più su Workload Identity Federation for GKE, consulta Workload Identity Federation for GKE.
Identità dei carichi di lavoro gestite
Le identità del carico di lavoro gestite ti consentono di associare identità fortemente attestate ai tuoi carichi di lavoro Compute Engine. Puoi utilizzare le identità dei carichi di lavoro di autenticare i carichi di lavoro con altri carichi di lavoro utilizzando mTLS, ma non possono essere utilizzati per l'autenticazione nelle API Google Cloud.
Per scoprire di più sulle identità di carico di lavoro gestite, consulta Panoramica delle identità di carico di lavoro gestite.
Per scoprire di più sull'utilizzo delle identità di carico di lavoro gestite con i carichi di lavoro Compute Engine, consulta Autenticare i carichi di lavoro con altri carichi di lavoro tramite mTLS.
Carichi di lavoro esterni
Se esegui carichi di lavoro al di fuori di Google Cloud, puoi utilizzare i seguenti metodi per configurare le identità per i tuoi carichi di lavoro:
- Federazione delle identità per i carichi di lavoro
- Chiavi account di servizio
Federazione delle identità per i carichi di lavoro
La federazione delle identità dei carichi di lavoro ti consente di utilizzare le credenziali di provider di identità esterni come AWS e Azure Active Directory per generare credenziali di breve durata, che i carichi di lavoro possono utilizzare per rubare temporaneamente l'identità degli account di servizio. I carichi di lavoro possono quindi accedere alle risorse Google Cloud utilizzando account di servizio come identità.
La federazione delle identità per i carichi di lavoro è il modo migliore per configurare le identità per i carichi di lavoro esterni.
Per scoprire di più sulla federazione di Workload Identity, consulta Federazione di Workload Identity.
Chiavi account di servizio
Una chiave dell'account di servizio consente a un carico di lavoro di autenticarsi come account di servizio, utilizzare l'identità dell'account di servizio per l'autorizzazione.
Sviluppo locale
Se stai sviluppando in un ambiente locale, puoi configurare i carichi di lavoro per utilizzare le tue credenziali utente o un account di servizio per l'autenticazione autorizzazione. Per ulteriori informazioni, vedi Ambiente di sviluppo locale nella documentazione sull'autenticazione.
Passaggi successivi
- Scopri come configurare l'autenticazione utilizzando gli account di servizio.
- Scopri come configurare l'autenticazione per un ambiente di sviluppo locale.
- Scopri come concedere agli account di servizio l'accesso alle risorse.