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. Cloud de Confiance
La federazione delle identità per i workload consente alle applicazioni in esecuzione all'esterno di Cloud de Confiance accedere Cloud de Confiance 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 Cloud de Confiance 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 autenticazioneCloud de Confiance 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. Cloud de Confiance by S3NSEsporta 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 Cloud de Confiance by S3NS :
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.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
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.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
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.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
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.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
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 Cloud de Confiance 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. Cloud de Confiance
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.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
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.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
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.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
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 Cloud de Confiance . 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. Cloud de Confiance
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.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
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.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
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.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
Passaggi successivi
- Scopri di più sulla federazione delle identità per i workload.