Esempi di federazione di identità del workload
La federazione dell'identità del carico di lavoro per le connessioni Google BigQuery, Google Cloud Pub/Sube Google Cloud Storage è supportata da qualsiasi provider di identità che supporta OpenID Connect (OIDC) o SAML 2.0.
Questi esempi sono per AWS con Amazon Cognito e per Microsoft Azure.
AWS
Configurare la federazione dell'identità del carico di lavoro in Amazon Cognito
Crea un provider di identità OIDC (IdP) con Cognito seguendo le istruzioni nella documentazione di Amazon:
Per ulteriori informazioni, consultare la sezione Come iniziare con Amazon Cognito.
Crea un gruppo e un utente nell' IdP con la console AWS . Oppure puoi utilizzare la CLI AWS :
CLIENT_ID=YourClientId ISSUER_URL=https://cognito-idp.YourRegion.amazonaws.com/YourPoolId POOL_ID=YourPoolId USERNAME=YourUsername PASSWORD=YourPassword GROUPNAME=YourGroupName aws cognito-idp admin-create-user --user-pool-id $POOL_ID --username $USERNAME --temporary-password Temp-Pass1 aws cognito-idp admin-set-user-password --user-pool-id $POOL_ID --username $USERNAME --password $PASSWORD --permanent aws cognito-idp create-group --group-name $GROUPNAME --user-pool-id $POOL_ID aws cognito-idp admin-add-user-to-group --user-pool-id $POOL_ID --username $USERNAME --group-name $GROUPNAME
Dalla console AWS , fai clic su View Hosted UI e accedi all'IU IDP in un browser per assicurarti che venga risolta qualsiasi nuova richiesta di password.
Ottieni un IdToken con la CLI AWS :
aws cognito-idp admin-initiate-auth --auth-flow ADMIN_USER_PASSWORD_AUTH --client-id $CLIENT_ID --auth-parameters USERNAME=$USERNAME,PASSWORD=$PASSWORD --user-pool-id $POOL_ID
Per ulteriori informazioni sul flusso di autenticazione di Amazon Cognito User Pools, vedere AdminInitiateAuth.
Configura Google Cloud per Amazon Cognito
Quando crei il provider in Google Cloud, utilizza queste impostazioni:
- Impostare Issuer (URL) su
https://cognito-idp.YourRegion.amazonaws.com/YourPoolId
. - Imposta Destinatari consentiti sul tuo ID cliente.
- In Associazione attributi, associare
google.subject
aassertion.sub
.
Crea la connessione con la federazione di identità del carico di lavoro Amazon Cognito
Scegliere il metodo di autenticazione Workload Identity Federation con token di accesso .
Per il campo Destinatario servizio token di sicurezza , utilizzare questo formato:
//iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID
Per E-mail account di servizio, immettere l'indirizzo e-mail dell'account di servizio Google da impersonare. Per ulteriori informazioni, vedere Creare un account di servizio per il carico di lavoro esterno.
(Facoltativo) Specificare un valore per Durata token account di servizio in secondi. La durata predefinita di un token di accesso dell'account di servizio è un'ora. Per ulteriori informazioni, vedere Credenziali di origine URL.
Impostare Formato token su
Text
Impostare Tipo token su
ID token
Azure
Configurare la federazione di identità del carico di lavoro in Azure
Impostare un URI ID applicazione per l'applicazione. È possibile utilizzare l'URI dell'ID applicazione predefinito (
api://APPID
) o specificare un URI personalizzato.
È possibile ignorare le istruzioni relative alla creazione di un'identità gestita.Seguire le istruzioni per creare un nuovo segreto applicativo e ottenere un token di accesso con l'API REST.
Per ulteriori informazioni, vedere Configurazione della federazione di identità del carico di lavoro con Azure.
Configura Google Cloud per Azure
- Seguire le istruzioni: Configurare la federazione di identità del carico di lavoro.
- Seguire le istruzioni: Creare il pool di identità del carico di lavoro e il provider. Quando si configura il provider, utilizzare queste impostazioni:
- Impostare l' Emittente (URL) su
https://sts.windows.net/TENANTID/
, doveTENANTID
è l'ID tenant ricevuto quando si imposta Azure Active Directory. - Imposta il Destinatario consentito sull'ID client che hai ricevuto quando hai configurato la registrazione dell'app. In alternativa, specificare un altro URI ID applicazione utilizzato quando si imposta l'identità dell'applicazione in Azure.
- In Associazione attributi, associare
google.subject
aassertion.sub
.
- Impostare l' Emittente (URL) su
Crea la connessione con la federazione dell'identità del carico di lavoro Azure
Scegliere uno dei seguenti metodi di autenticazione:
- Federazione dell'identità del carico di lavoro con token di accesso
- Federazione dell'identità del carico di lavoro con URL token
Per il campo Security Token Service audience, utilizzare il formato descritto in Autenticare un carico di lavoro che utilizza l'API REST. Ad esempio:
//iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID
Per E-mail account di servizio, immettere l'indirizzo e-mail dell'account di servizio Google da impersonare. Per ulteriori informazioni, vedere Creare un account di servizio per il carico di lavoro esterno.
(Facoltativo) Specificare un valore per Durata token account di servizio in secondi. La durata predefinita di un token di accesso dell'account di servizio è un'ora. Per ulteriori informazioni, vedere Credenziali di origine URL.
Se è stato specificato Workload Identity Federation con URL token, utilizzare i seguenti valori:
- URL token:
https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token
. Questo URL recupererà un token da Azure. - Metodo HTTP:
POST
- Intestazioni HTTP:
"Content-Type"="application/x-www-form-urlencoded;charset=UTF-8","Accept"="application/json"
- Corpo della richiesta:
grant_type=client_credentials&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&scope=APPLICATION_ID_URI/.default
- URL token:
Per Tipo di token, seleziona Token ID per un provider di identità conforme alla specifica OpenID Connect (OIDC). Per informazioni, vedere Tipi di token.
L'opzione Formato token dipende da tale selezione di autenticazione:
- Workload Identity Federation con token di accesso: selezionare Testo se è stato fornito il valore del token non elaborato nel campo Token di accesso .
- Federazione identità del carico di lavoro con URL token: per una risposta dall'URL del token in formato JSON con il token di accesso restituito in un campo denominato
access_token
, utilizza queste impostazioni:- Formato token:
JSON
- Nome campo token:
access_token
- Formato token: