Questo documento mostra come utilizzare la federazione delle identità per i carichi di lavoro con le librerie di autenticazione, note come librerie di autenticazione, per autenticare i carichi di lavoro da provider di identità di terze parti come AWS, Microsoft Azure e provider che supportano OpenID Connect (OIDC) o SAML 2.0. Google Cloud
La federazione delle identità per i workload consente alle applicazioni in esecuzione all'esterno di Google Cloud accedere Google Cloud alle risorse senza utilizzare le chiavi dei account di servizio. Le librerie di autenticazione Google lo consentono scambiando le credenziali esterne con token di accesso Google Cloud di breve durata.
Per l'autenticazione, puoi ottenere credenziali esterne utilizzando i seguenti metodi:
- Meccanismo standard per le configurazioni comuni.
- Fornitori di credenziali personalizzate per workflow complessi che richiedono di scrivere il proprio codice.
Prima di iniziare
Enable the required APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.Configura la federazione delle identità per i workload con il tuo provider di identità.
Esegui l'autenticazione utilizzando il meccanismo di credenziali standard
Per i provider di identità di terze parti supportati più comuni, puoi utilizzare le funzionalità integrate della libreria di autenticazioneGoogle Cloud per autenticare i tuoi carichi di lavoro generando un file di configurazione delle credenziali. Questo file fornisce le informazioni necessarie alle librerie di autenticazione per federare le identità di fornitori esterni.
Il file di configurazione delle credenziali, in genere caricato utilizzando la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS, può indicare alle librerie di autenticazione di ottenere il token soggetto di terze parti utilizzando uno dei seguenti metodi:
- Da file:la libreria legge il token soggetto da un file locale. Una procedura separata deve garantire che questo file contenga un token valido e non scaduto.
- Basato su URL:la libreria recupera il token soggetto effettuando una richiesta a un endpoint URL locale specificato.
- Basata su eseguibile:la libreria esegue un comando eseguibile configurato. L'output standard dell'eseguibile dovrebbe contenere il token del soggetto.
Genera il file di configurazione delle credenziali per il tuo provider specifico:
- AWS
- Azure
Provider di identità OIDC o SAML
Questa pagina include istruzioni per:
Utilizza il file di configurazione delle credenziali per l'autenticazione.
Per consentire alle librerie client di individuare e utilizzare automaticamente il file di configurazione delle credenziali, imposta la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALSsul percorso del file JSON generato. Google CloudEsporta la variabile di ambiente nella shell:
bash export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/config.jsonDopo aver impostato la variabile di ambiente, le librerie client gestiscono il flusso di autenticazione.
Il seguente esempio di codice mostra come effettuare una chiamata autenticata a un'API Google Cloud :
Node.js
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Node.js.
Per eseguire l'autenticazione in IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Python.
Per eseguire l'autenticazione in IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Java.
Per eseguire l'autenticazione in IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Go.
Per eseguire l'autenticazione in IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Autenticarsi utilizzando fornitori di credenziali personalizzati
Se il tuo ambiente non supporta le funzionalità integrate della libreria di autenticazione Google o se vuoi implementare una logica personalizzata per fornire le credenziali alla libreria di autenticazione Google, utilizza fornitori di credenziali personalizzati per autenticare i tuoi carichi di lavoro.
Accesso alle risorse da AWS
Quando inizializzi il client di autenticazione, fornisci un'implementazione personalizzata di un fornitore di credenziali. L'istanza client rimanda al fornitore per recuperare le credenziali di sicurezza AWS da scambiare con un Google Cloud token di accesso. Il fornitore deve restituire credenziali valide e non scadute quando il client lo chiama.
Il client di autenticazione non memorizza nella cache le credenziali di sicurezza AWS o la regione restituite, quindi implementa la memorizzazione nella cache nel fornitore per evitare richieste ridondanti per le stesse risorse.
I seguenti esempi di codice mostrano come configurare l'accesso alle risorse da AWS con un fornitore di credenziali personalizzato. Google Cloud
Node.js
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Node.js.
Per eseguire l'autenticazione in IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Python.
Per eseguire l'autenticazione in IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Java.
Per eseguire l'autenticazione in IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Accesso alle risorse da OIDC e SAML
Quando inizializzi il client di autenticazione, fornisci un fornitore di token personalizzato per fornire un token soggetto che viene scambiato con un token di accesso Google Cloud . Il fornitore deve restituire un token soggetto valido e non scaduto quando il client lo chiama.
Il client di autenticazione non memorizza nella cache il token restituito, quindi implementa la memorizzazione nella cache nel fornitore per evitare richieste ridondanti per lo stesso token soggetto.
I seguenti esempi di codice mostrano come configurare l'accesso alle risorse dei provider che supportano OpenID Connect (OIDC) o SAML 2.0 con un fornitore di credenziali personalizzato. Google Cloud
Node.js
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Node.js.
Per eseguire l'autenticazione in IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Python.
Per eseguire l'autenticazione in IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Java.
Per eseguire l'autenticazione in IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Passaggi successivi
- Scopri di più sulla federazione delle identità per i workload.