Questo documento mostra come configurare la federazione delle identità della forza lavoro con l'identity provider (IdP) Microsoft Entra ID e mappare fino a 400 gruppi da Microsoft Entra ID a Google Cloud utilizzando Microsoft Graph. Il documento illustra quindi come concedere i ruoli IAM a questi gruppi e come registrare gli utenti di Microsoft Entra ID che fanno parte dei gruppi inGoogle Cloud. Gli utenti possono quindi accedere ai Google Cloud prodotti a cui è stato concesso l'accesso tramite IAM e che supportano la federazione delle identità della forza lavoro.
Per mappare meno di 150 gruppi da Microsoft Entra ID a Google Cloud, consulta Configurare la federazione delle identità per il personale con Microsoft Entra ID e far accedere gli utenti.
Puoi utilizzare il metodo descritto in questo documento con i seguenti protocolli:
- OIDC con flusso implicito
- OIDC con flusso di codice
- Protocollo SAML 2.0
Il numero di indirizzi email di gruppo che un'applicazione Microsoft Entra ID può emettere in un token è limitato a 150 per SAML e 200 per JWT. Per scoprire di più su questo limite, consulta Configurare le rivendicazioni di gruppo per le applicazioni utilizzando Microsoft Entra ID. Per recuperare altri gruppi, Workforce Identity Federation utilizza il flusso delle credenziali client OAuth 2.0 di Microsoft Identity per ottenere le credenziali che consentono a Workforce Identity Federation di eseguire query sull'API Microsoft Graph e recuperare i gruppi di un utente.
Per utilizzare questo metodo, a grandi linee, svolgi i seguenti passaggi:
Crea una nuova applicazione Microsoft Entra ID o aggiorna quella esistente per ottenere le iscrizioni ai gruppi degli utenti dall'API Microsoft Graph. Per scoprire di più su come Microsoft Graph recupera un numero elevato di gruppi da Microsoft Entra ID, consulta Superamenti del limite di gruppi.
Quando crei il provider del pool di identità della forza lavoro, utilizzi i flag
extra-attributes
per configurare la federazione delle identità della forza lavoro in modo da recuperare gli indirizzi email dei gruppi di utenti dall'API Microsoft Graph.
Workforce Identity Federation può recuperare un massimo di 999 gruppi dall'API Microsoft Graph. Se l'API Microsoft Graph restituisce più di 999 gruppi, l'accesso non va a buon fine.
Per ridurre il numero di gruppi restituiti dall'API Microsoft Graph, puoi perfezionare la query di Workforce Identity Federation utilizzando il flag --extra-attributes-filter
quando crei il provider del pool di identità forza lavoro.
Dopo aver recuperato i gruppi dall'API Microsoft Graph, Workforce Identity Federation conia il token di accesso. La federazione di Workforce Identity può aggiungere un massimo di 400 gruppi al token di accesso, pertanto, per filtrare ulteriormente il numero di gruppi a 400 o meno, puoi specificare una mappatura degli attributi che contenga espressioni del linguaggio di espressioni comuni (CEL), quando crei il provider del pool di identità per la forza lavoro.
Prima di iniziare
- Assicurati di avere configurato un' Google Cloud organizzazione.
-
After installing the Google Cloud CLI, configure the gcloud CLI to use your federated identity and then initialize it by running the following command:
gcloud init
- In Microsoft Entra ID, assicurati che i token ID siano abilitati per il flusso implicito. Per ulteriori informazioni, vedi Attivare la concessione implicita degli ID token.
- Per l'accesso, l'IdP deve fornire informazioni di autenticazione firmate: gli IdP OIDC devono fornire un JWT e le risposte degli IdP SAML devono essere firmate.
- Per ricevere informazioni importanti sulle modifiche apportate alla tua organizzazione o ai tuoiGoogle Cloud prodotti, devi fornire i Contatti essenziali. Per ulteriori informazioni, consulta la panoramica della federazione delle identità per la forza lavoro.
- Tutti i gruppi che intendi mappare devono essere contrassegnati come gruppi di sicurezza in Microsoft Entra ID.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per configurare la federazione delle identità per la forza lavoro, chiedi all'amministratore di concederti il ruolo IAM Amministratore pool Workload Identity (roles/iam.workforcePoolAdmin
) nell'organizzazione.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Se stai configurando le autorizzazioni in un ambiente di sviluppo o di test, ma non in un ambiente di produzione, puoi concedere il ruolo di base Proprietario IAM (roles/owner
), che include anche le autorizzazioni per la federazione di Workforce Identity.
Crea un'applicazione Microsoft Entra ID
Questa sezione mostra come creare un'applicazione Microsoft Entra ID utilizzando il portale amministrativo di Microsoft Entra. In alternativa, puoi aggiornare la tua domanda esistente. Per ulteriori dettagli, vedi Creare applicazioni nell'ecosistema Microsoft Entra ID.
I pool di identità della forza lavoro supportano la federazione utilizzando i protocolli OIDC e SAML.
OIDC
Per creare una registrazione dell'applicazione Microsoft Entra ID che utilizza il protocollo OIDC:
Accedi al portale di amministrazione di Microsoft Entra.
Vai a Identità > Applicazioni > Registrazioni app.
Per iniziare a configurare la registrazione dell'applicazione:
Fai clic su Nuova registrazione.
Inserisci un nome per l'applicazione.
In Tipi di account supportati, seleziona un'opzione.
Nella sezione URI di reindirizzamento, nell'elenco a discesa Seleziona una piattaforma, seleziona Web.
Inserisci un URL di reindirizzamento nel campo di testo. Gli utenti vengono reindirizzati a questo URL dopo aver eseguito correttamente l'accesso. Se stai configurando l'accesso alla console (federata), utilizza il seguente formato dell'URL:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Sostituisci quanto segue:
WORKFORCE_POOL_ID
: un ID pool di identità forza lavoro che utilizzerai per creare il pool di identità forza lavoro più avanti in questo documento, ad esempio:entra-id-oidc-pool
WORKFORCE_PROVIDER_ID
: un ID fornitore del pool di identità della forza lavoro che utilizzerai per creare il fornitore del pool di identità della forza lavoro più avanti in questo documento, ad esempioentra-id-oidc-pool-provider
Per informazioni sulla formattazione dell'ID, consulta la sezione Parametri di query della documentazione dell'API.
Per creare la registrazione dell'applicazione, fai clic su Registra.
SAML
Per creare una registrazione dell'applicazione Microsoft Entra ID che utilizza il protocollo SAML:
Accedi al portale di amministrazione di Microsoft Entra.
Vai a Identità > Applicazioni > Registrazioni app.
Per iniziare a configurare l'applicazione aziendale:
Fai clic su Nuova applicazione > Crea la tua applicazione.
Inserisci un nome per l'applicazione.
Fai clic su Crea.
Vai a Single Sign-On > SAML.
Aggiorna la configurazione SAML di base come segue:
Nel campo Identifier (Entity ID) (Identificatore (ID entità)), inserisci il seguente valore:
https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Sostituisci quanto segue:
WORKFORCE_POOL_ID
: un ID pool di identità della forza lavoro che utilizzerai per creare il pool di identità della forza lavoro più avanti in questo documento, ad esempio:entra-id-saml-pool
WORKFORCE_PROVIDER_ID
: un ID provider del pool di identità della forza lavoro che utilizzerai per creare il provider del pool di identità della forza lavoro più avanti in questo documento, ad esempio:entra-id-saml-pool-provider
Per informazioni sulla formattazione dell'ID, consulta la sezione Parametri di query della documentazione dell'API.
Nel campo URL di risposta (URL Assertion Consumer Service), inserisci un URL di reindirizzamento. Gli utenti vengono reindirizzati a questo URL dopo aver eseguito correttamente l'accesso. Se stai configurando l'accesso alla console (federata), utilizza il seguente formato dell'URL:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Sostituisci quanto segue:
WORKFORCE_POOL_ID
: l'ID del pool di identità della forza lavoroWORKFORCE_PROVIDER_ID
: l'ID del provider di identità della forza lavoro
Per attivare l'accesso avviato dall'IDP, imposta il campo Stato di inoltro su questo valore:
https://console.cloud.google/
Per salvare la configurazione dell'applicazione SAML, fai clic su Salva.
Configurare un numero elevato di gruppi con Microsoft Entra ID
Questa sezione descrive come mappare fino a 400 gruppi da Microsoft Entra ID alla federazione delle identità della forza lavoro utilizzando i protocolli OIDC e SAML.
Configurare un numero elevato di gruppi con Microsoft Entra ID con il flusso implicito OIDC
Questa sezione descrive come mappare fino a 400 gruppi dall'ID Microsoft Entra alla federazione delle identità della forza lavoro utilizzando il protocollo OpenID Connect (OIDC) con flusso implicito.
Configurare l'applicazione Microsoft Entra ID
Puoi configurare un'applicazione Microsoft Entra ID esistente o crearne una nuova. Per configurare l'applicazione, svolgi quanto segue:
-
Nel portale Microsoft Entra ID:
- Per registrare una nuova applicazione, segui le istruzioni riportate in Registrare una nuova applicazione.
-
Per aggiornare un'applicazione esistente:
- Vai ad Identità > Applicazioni > Applicazioni aziendali.
- Seleziona l'applicazione che vuoi aggiornare.
-
Crea un nuovo client secret nell'applicazione seguendo le istruzioni in Certificati e secret. Assicurati di registrare il valore del client secret perché viene visualizzato una sola volta.
Prendi nota dei seguenti valori dell'applicazione che hai creato o aggiornato. Fornisci i valori quando configuri il provider di pool di identità per la forza lavoro più avanti in questo documento.
Client ID
Issuer URI
Client Secret
Tenant ID
-
Per recuperare i gruppi di Microsoft Entra ID, aggiungi l'autorizzazione API per consentire a Workload Identity Federation di accedere alle informazioni degli utenti da Microsoft Entra ID utilizzando l'API Microsoft Graph e concedi il consenso amministrativo. In Microsoft Entra ID:
- Vai ad Autorizzazioni API.
- Fai clic su Aggiungi un'autorizzazione.
- Seleziona API Microsoft.
- Seleziona Autorizzazioni applicazione.
- Nel campo di ricerca, digita
User.ReadBasic.All
. - Fai clic su Aggiungi autorizzazioni.
Puoi recuperare i gruppi di Microsoft Entra ID come identificatori di oggetti di gruppo (ID) o come indirizzo email di gruppo per i gruppi con indirizzo email abilitato.
Se scegli di recuperare i gruppi come indirizzi email di gruppo, devi completare il passaggio successivo.
- Per recuperare i gruppi Microsoft Entra ID come indirizzi email di gruppo: Se recuperi i gruppi come identificatori di oggetti di gruppo, salta questo passaggio.
- Nel campo di ricerca, inserisci
GroupMember.Read.All
. - Fai clic su Aggiungi autorizzazioni.
- Fai clic su Concedi il consenso amministratore per il nome di dominio.
- Nella finestra di dialogo visualizzata, fai clic su Sì.
- Vai alla pagina Panoramica dell'applicazione Microsoft Entra ID che hai creato o aggiornato in precedenza.
- Fai clic su Endpoint.
L'URI dell'emittente è l'URI del documento di metadati OIDC, senza il percorso
/.well-known/openid-configuration
.Ad esempio, se il documento dei metadati OIDC è
https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.well-known/openid-configuration
, l'URI dell'emittente èhttps://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/
. - Nel campo di ricerca, inserisci
Crea un pool di identità della forza lavoro
Console
Per creare il pool di identità della forza lavoro, svolgi i seguenti passaggi:
Nella console Google Cloud, vai alla pagina Pool di identità del personale:
Seleziona l'organizzazione per il pool di identità per la forza lavoro. I pool di identità del personale sono disponibili in tutti i progetti e le cartelle di un'organizzazione.
Fai clic su Crea pool e segui questi passaggi:
Nel campo Nome, inserisci il nome visualizzato del pool. L'ID pool viene ricavato automaticamente dal nome durante la digitazione e visualizzato nel campo Nome. Puoi aggiornare l'ID pool facendo clic su Modifica accanto all'ID pool.
(Facoltativo) In Descrizione, inserisci una descrizione del pool.
L'opzione Durata sessione è impostata per impostazione predefinita. Per inserire una durata personalizzata della sessione, fai clic su Modifica. La durata della sessione determina la durata di validità dei token di accesso Google Cloud, delle sessioni di accesso alla console (federata) e delle sessioni di accesso all'interfaccia a riga di comando gcloud di questo pool di forza lavoro. La durata deve essere superiore a 15 minuti (900 secondi) e inferiore a 12 ore (43200 secondi). Se la durata della sessione non è impostata, viene applicata per impostazione predefinita una durata di un'ora (3600 secondi).
Per creare il pool nello stato abilitato, assicurati che Pool abilitato sia attivo.
Per creare il pool di identità del personale, fai clic su Avanti.
gcloud
Per creare il pool di identità del personale, esegui il seguente comando:
gcloud iam workforce-pools create WORKFORCE_POOL_ID \
--organization=ORGANIZATION_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--session-duration=SESSION_DURATION \
--location=global
Sostituisci quanto segue:
WORKFORCE_POOL_ID
: un ID che scegli per rappresentare il tuo Google Cloud pool di forza lavoro. Per informazioni sulla formattazione dell'ID, consulta la sezione Parametri di query nella documentazione dell'API.ORGANIZATION_ID
: l'ID numerico della Google Cloud tua organizzazione per il pool di identità forza lavoro. I pool di identità della forza lavoro sono disponibili in tutti i progetti e tutte le cartelle dell'organizzazione.DISPLAY_NAME
: facoltativo. Un nome visualizzato per il pool di identità della forza lavoro.DESCRIPTION
: facoltativo. Una descrizione del pool di identità della forza lavoro.SESSION_DURATION
: facoltativo. La durata della sessione, che determina per quanto tempo i Google Cloud token di accesso, le sessioni di accesso alla console (federata) e le sessioni di accesso alla CLI gcloud di questo pool di forza lavoro sono validi. La durata deve essere superiore a 15 minuti (900 secondi) e inferiore a 12 ore (43200 secondi). Se la durata della sessione non è impostata, viene applicata per impostazione predefinita una durata di un'ora (3600 secondi).
Configura il provider del pool di identità della forza lavoro con flusso implicito OIDC
Per creare il provider del pool di identità della forza lavoro OIDC, esegui il seguente comando:
gcloud iam workforce-pools providers create-oidc PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --location=global \ --display-name=DISPLAY_NAME \ --issuer-uri=ISSUER_URI \ --client-id=CLIENT_ID \ --attribute-mapping=ATTRIBUTE_MAPPING \ --web-sso-response-type=id-token \ --web-sso-assertion-claims-behavior=only-id-token-claims \ --extra-attributes-issuer-uri=EXTRA_ATTRIBUTES_ISSUER_URI \ --extra-attributes-client-id=EXTRA_ATTRIBUTES_CLIENT_ID \ --extra-attributes-client-secret-value=EXTRA_ATTRIBUTES_CLIENT_SECRET \ --extra-attributes-type=EXTRA_ATTRIBUTES_TYPE \ –-extra-attributes-filter=EXTRA_ATTRIBUTES_FILTER
Sostituisci quanto segue:
-
PROVIDER_ID
: un ID fornitore univoco. Il prefissogcp-
è riservato e non può essere utilizzato in un pool o ID provider. -
WORKFORCE_POOL_ID
: l'ID pool di forza lavoro. -
DISPLAY_NAME
: un nome visualizzato per il fornitore. -
ISSUER_URI
: l'URI dell'emittente dell'applicazione Microsoft Entra ID che hai creato in precedenza in questo documento. -
CLIENT_ID
: l'ID cliente della tua applicazione Microsoft Entra ID. -
ATTRIBUTE_MAPPING
: la mappatura degli attributi da Microsoft Entra ID a Google Cloud. Ad esempio, per mapparegroups
esubject
da Microsoft Entra ID, utilizza la seguente mappatura degli attributi:--attribute-mapping=”google.groups=assertion.groups, google.subject=assertion.sub"
Per ulteriori informazioni, vedi Mappatura degli attributi.
-
EXTRA_ATTRIBUTES_ISSUER_URI
: l'URI dell'emittente della tua applicazione Microsoft Entra ID. -
EXTRA_ATTRIBUTES_CLIENT_ID
: l'ID cliente della tua applicazione Microsoft Entra ID. -
EXTRA_ATTRIBUTES_CLIENT_SECRET
: il segreto client aggiuntivo della tua applicazione Microsoft Entra ID. -
EXTRA_ATTRIBUTES_TYPE
: utilizzaazure-ad-groups-mail
per recuperare gli indirizzi email dei gruppi. Utilizzaazure-ad-groups-id
per recuperare gli ID dei gruppi. -
EXTRA_ATTRIBUTES_FILTER
: facoltativo. Un'espressione di filtro utilizzata per eseguire query sull'API Microsoft Graph per i gruppi. Puoi utilizzare questo parametro per assicurarti che il numero di gruppi recuperati dall'IDP rimanga al di sotto del limite di 999 gruppi.L'esempio seguente recupera i gruppi con il prefisso
sales
nell'ID indirizzo email:–-extra-attributes-filter='"mail:sales"'
La seguente espressione recupera i gruppi con un nome visualizzato contenente la stringa
sales
.-–extra-attributes-filter='"displayName:sales”'
Configurare un numero elevato di gruppi in Microsoft Entra ID con il flusso di codice OIDC
Questa sezione descrive come mappare fino a 400 gruppi da Microsoft Entra ID alla federazione delle identità per la forza lavoro utilizzando il protocollo OIDC con il flusso di codice.
Configurare l'applicazione Microsoft Entra ID
Puoi configurare un'applicazione Microsoft Entra ID esistente o crearne una nuova. Per configurare l'applicazione, svolgi quanto segue:
-
Nel portale Microsoft Entra ID:
- Per registrare una nuova applicazione, segui le istruzioni riportate in Registrare una nuova applicazione.
-
Per aggiornare un'applicazione esistente:
- Vai ad Identità > Applicazioni > Applicazioni aziendali.
- Seleziona l'applicazione che vuoi aggiornare.
-
Crea un nuovo client secret nell'applicazione seguendo le istruzioni in Certificati e secret. Assicurati di registrare il valore del client secret perché viene visualizzato una sola volta.
Prendi nota dei seguenti valori dell'applicazione che hai creato o aggiornato. Fornisci i valori quando configuri il provider di pool di identità per la forza lavoro più avanti in questo documento.
Client ID
Issuer URI
Client Secret
Tenant ID
-
Per recuperare i gruppi di Microsoft Entra ID, aggiungi l'autorizzazione API per consentire a Workload Identity Federation di accedere alle informazioni degli utenti da Microsoft Entra ID utilizzando l'API Microsoft Graph e concedi il consenso amministrativo. In Microsoft Entra ID:
- Vai ad Autorizzazioni API.
- Fai clic su Aggiungi un'autorizzazione.
- Seleziona API Microsoft.
- Seleziona Autorizzazioni delegate.
- Nel campo di ricerca, digita
User.Read
. - Fai clic su Aggiungi autorizzazioni.
Puoi recuperare i gruppi di Microsoft Entra ID come identificatori di oggetti di gruppo (ID) o come indirizzo email di gruppo per i gruppi con indirizzo email abilitato.
Se scegli di recuperare i gruppi come indirizzi email di gruppo, devi completare il passaggio successivo.
- Per recuperare i gruppi Microsoft Entra ID come indirizzi email di gruppo: Se recuperi i gruppi come identificatori di oggetti di gruppo, salta questo passaggio.
- Nel campo di ricerca, inserisci
GroupMember.Read.All
. - Fai clic su Aggiungi autorizzazioni.
- Fai clic su Concedi il consenso amministratore per il nome di dominio.
- Nella finestra di dialogo visualizzata, fai clic su Sì.
- Vai alla pagina Panoramica dell'applicazione Microsoft Entra ID che hai creato o aggiornato in precedenza.
- Fai clic su Endpoint.
L'URI dell'emittente è l'URI del documento di metadati OIDC, senza il percorso
/.well-known/openid-configuration
.Ad esempio, se il documento dei metadati OIDC è
https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.well-known/openid-configuration
, l'URI dell'emittente èhttps://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/
. - Nel campo di ricerca, inserisci
Crea un pool di identità della forza lavoro
Console
Per creare il pool di identità della forza lavoro, svolgi i seguenti passaggi:
Nella console Google Cloud, vai alla pagina Pool di identità del personale:
Seleziona l'organizzazione per il pool di identità per la forza lavoro. I pool di identità del personale sono disponibili in tutti i progetti e le cartelle di un'organizzazione.
Fai clic su Crea pool e segui questi passaggi:
Nel campo Nome, inserisci il nome visualizzato del pool. L'ID pool viene ricavato automaticamente dal nome durante la digitazione e visualizzato nel campo Nome. Puoi aggiornare l'ID pool facendo clic su Modifica accanto all'ID pool.
(Facoltativo) In Descrizione, inserisci una descrizione del pool.
L'opzione Durata sessione è impostata per impostazione predefinita. Per inserire una durata personalizzata della sessione, fai clic su Modifica. La durata della sessione determina la durata di validità dei token di accesso Google Cloud, delle sessioni di accesso alla console (federata) e delle sessioni di accesso all'interfaccia a riga di comando gcloud di questo pool di forza lavoro. La durata deve essere superiore a 15 minuti (900 secondi) e inferiore a 12 ore (43200 secondi). Se la durata della sessione non è impostata, viene applicata per impostazione predefinita una durata di un'ora (3600 secondi).
Per creare il pool nello stato abilitato, assicurati che Pool abilitato sia attivo.
Per creare il pool di identità del personale, fai clic su Avanti.
gcloud
Per creare il pool di identità del personale, esegui il seguente comando:
gcloud iam workforce-pools create WORKFORCE_POOL_ID \
--organization=ORGANIZATION_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--session-duration=SESSION_DURATION \
--location=global
Sostituisci quanto segue:
WORKFORCE_POOL_ID
: un ID che scegli per rappresentare il tuo Google Cloud pool di forza lavoro. Per informazioni sulla formattazione dell'ID, consulta la sezione Parametri di query nella documentazione dell'API.ORGANIZATION_ID
: l'ID numerico della Google Cloud tua organizzazione per il pool di identità forza lavoro. I pool di identità della forza lavoro sono disponibili in tutti i progetti e tutte le cartelle dell'organizzazione.DISPLAY_NAME
: facoltativo. Un nome visualizzato per il pool di identità della forza lavoro.DESCRIPTION
: facoltativo. Una descrizione del pool di identità della forza lavoro.SESSION_DURATION
: facoltativo. La durata della sessione, che determina per quanto tempo i Google Cloud token di accesso, le sessioni di accesso alla console (federata) e le sessioni di accesso alla CLI gcloud di questo pool di forza lavoro sono validi. La durata deve essere superiore a 15 minuti (900 secondi) e inferiore a 12 ore (43200 secondi). Se la durata della sessione non è impostata, viene applicata per impostazione predefinita una durata di un'ora (3600 secondi).
Configura il provider del pool di identità della forza lavoro con flusso di codice OIDC
Per creare il provider del pool di identità della forza lavoro OIDC, esegui il seguente comando:
gcloud iam workforce-pools providers create-oidc PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --location=global \ --display-name=DISPLAY_NAME \ --issuer-uri=ISSUER_URI \ --client-id=CLIENT_ID \ --attribute-mapping=ATTRIBUTE_MAPPING \ --web-sso-response-type=code \ --web-sso-assertion-claims-behavior=merge-user-info-over-id-token-claims \ --extra-attributes-issuer-uri=EXTRA_ATTRIBUTES_ISSUER_URI \ --extra-attributes-client-id=EXTRA_ATTRIBUTES_CLIENT_ID \ --extra-attributes-client-secret-value=EXTRA_ATTRIBUTES_CLIENT_SECRET \ --extra-attributes-type=EXTRA_ATTRIBUTES_TYPE \ –-extra-attributes-filter=EXTRA_ATTRIBUTES_FILTER
Sostituisci quanto segue:
-
PROVIDER_ID
: un ID fornitore univoco. Il prefissogcp-
è riservato e non può essere utilizzato in un pool o ID provider. -
WORKFORCE_POOL_ID
: l'ID pool di forza lavoro. -
DISPLAY_NAME
: un nome visualizzato per il fornitore. -
ISSUER_URI
: l'URI dell'emittente dell'applicazione Microsoft Entra ID che hai creato in precedenza in questo documento. -
CLIENT_ID
: l'ID cliente della tua applicazione Microsoft Entra ID. -
ATTRIBUTE_MAPPING
: la mappatura degli attributi da Microsoft Entra ID a Google Cloud. Ad esempio, per mapparegroups
esubject
da Microsoft Entra ID, utilizza la seguente mappatura degli attributi:--attribute-mapping=”google.groups=assertion.groups, google.subject=assertion.sub"
Per ulteriori informazioni, vedi Mappatura degli attributi.
-
EXTRA_ATTRIBUTES_ISSUER_URI
: l'URI dell'emittente della tua applicazione Microsoft Entra ID. -
EXTRA_ATTRIBUTES_CLIENT_ID
: l'ID cliente della tua applicazione Microsoft Entra ID. -
EXTRA_ATTRIBUTES_CLIENT_SECRET
: il segreto client aggiuntivo della tua applicazione Microsoft Entra ID. -
EXTRA_ATTRIBUTES_TYPE
: utilizzaazure-ad-groups-mail
per recuperare gli indirizzi email dei gruppi. Utilizzaazure-ad-groups-id
per recuperare gli ID dei gruppi. -
EXTRA_ATTRIBUTES_FILTER
: facoltativo. Un'espressione di filtro utilizzata per eseguire query sull'API Microsoft Graph per i gruppi. Puoi utilizzare questo parametro per assicurarti che il numero di gruppi recuperati dall'IDP rimanga al di sotto del limite di 999 gruppi.L'esempio seguente recupera i gruppi con il prefisso
sales
nell'ID indirizzo email:–-extra-attributes-filter='"mail:sales"'
La seguente espressione recupera i gruppi con un nome visualizzato contenente la stringa
sales
.-–extra-attributes-filter='"displayName:sales”'
Configurare un numero elevato di gruppi in Microsoft Entra ID con SAML 2.0
Questa sezione descrive come mappare fino a 400 gruppi da Microsoft Entra ID alla federazione delle identità della forza lavoro utilizzando il protocollo SAML 2.0.
Configurare l'applicazione Microsoft Entra ID
Per configurare l'applicazione, svolgi quanto segue:
-
Nel portale Microsoft Entra ID:
- Per registrare una nuova applicazione, segui le istruzioni riportate in Registrare una nuova applicazione.
-
Per aggiornare un'applicazione esistente:
- Vai ad Identità > Applicazioni > Applicazioni aziendali.
- Seleziona l'applicazione che vuoi aggiornare.
-
Crea un nuovo client secret nell'applicazione seguendo le istruzioni in Certificati e secret. Assicurati di registrare il valore del client secret perché viene visualizzato una sola volta.
Prendi nota dei seguenti valori dell'applicazione che hai creato o aggiornato. Fornisci i valori quando configuri il provider di pool di identità per la forza lavoro più avanti in questo documento.
Client ID
Issuer URI
Client Secret
Tenant ID
-
Per recuperare i gruppi di Microsoft Entra ID, aggiungi l'autorizzazione API per consentire a Workload Identity Federation di accedere alle informazioni degli utenti da Microsoft Entra ID utilizzando l'API Microsoft Graph e concedi il consenso amministrativo. In Microsoft Entra ID:
- Vai ad Autorizzazioni API.
- Fai clic su Aggiungi un'autorizzazione.
- Seleziona API Microsoft.
- Seleziona Autorizzazioni applicazione.
- Nel campo di ricerca, digita
User.ReadBasic.All
. - Fai clic su Aggiungi autorizzazioni.
Puoi recuperare i gruppi di Microsoft Entra ID come identificatori di oggetti di gruppo (ID) o come indirizzo email di gruppo per i gruppi con indirizzo email abilitato.
Se scegli di recuperare i gruppi come indirizzi email di gruppo, devi completare il passaggio successivo.
- Per recuperare i gruppi Microsoft Entra ID come indirizzi email di gruppo: Se recuperi i gruppi come identificatori di oggetti di gruppo, salta questo passaggio.
- Nel campo di ricerca, inserisci
GroupMember.Read.All
. - Fai clic su Aggiungi autorizzazioni.
- Fai clic su Concedi il consenso amministratore per il nome di dominio.
- Nella finestra di dialogo visualizzata, fai clic su Sì.
- Vai alla pagina Panoramica dell'applicazione Microsoft Entra ID che hai creato o aggiornato in precedenza.
- Fai clic su Endpoint.
L'URI dell'emittente è l'URI del documento di metadati OIDC, senza il percorso
/.well-known/openid-configuration
.Ad esempio, se il documento dei metadati OIDC è
https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.well-known/openid-configuration
, l'URI dell'emittente èhttps://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/
. - Nel campo di ricerca, inserisci
Crea un pool di identità della forza lavoro
Console
Per creare il pool di identità della forza lavoro, svolgi i seguenti passaggi:
Nella console Google Cloud, vai alla pagina Pool di identità del personale:
Seleziona l'organizzazione per il pool di identità per la forza lavoro. I pool di identità del personale sono disponibili in tutti i progetti e le cartelle di un'organizzazione.
Fai clic su Crea pool e segui questi passaggi:
Nel campo Nome, inserisci il nome visualizzato del pool. L'ID pool viene ricavato automaticamente dal nome durante la digitazione e visualizzato nel campo Nome. Puoi aggiornare l'ID pool facendo clic su Modifica accanto all'ID pool.
(Facoltativo) In Descrizione, inserisci una descrizione del pool.
L'opzione Durata sessione è impostata per impostazione predefinita. Per inserire una durata personalizzata della sessione, fai clic su Modifica. La durata della sessione determina la durata di validità dei token di accesso Google Cloud, delle sessioni di accesso alla console (federata) e delle sessioni di accesso all'interfaccia a riga di comando gcloud di questo pool di forza lavoro. La durata deve essere superiore a 15 minuti (900 secondi) e inferiore a 12 ore (43200 secondi). Se la durata della sessione non è impostata, viene applicata per impostazione predefinita una durata di un'ora (3600 secondi).
Per creare il pool nello stato abilitato, assicurati che Pool abilitato sia attivo.
Per creare il pool di identità del personale, fai clic su Avanti.
gcloud
Per creare il pool di identità del personale, esegui il seguente comando:
gcloud iam workforce-pools create WORKFORCE_POOL_ID \
--organization=ORGANIZATION_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--session-duration=SESSION_DURATION \
--location=global
Sostituisci quanto segue:
WORKFORCE_POOL_ID
: un ID che scegli per rappresentare il tuo Google Cloud pool di forza lavoro. Per informazioni sulla formattazione dell'ID, consulta la sezione Parametri di query nella documentazione dell'API.ORGANIZATION_ID
: l'ID numerico della Google Cloud tua organizzazione per il pool di identità forza lavoro. I pool di identità della forza lavoro sono disponibili in tutti i progetti e tutte le cartelle dell'organizzazione.DISPLAY_NAME
: facoltativo. Un nome visualizzato per il pool di identità della forza lavoro.DESCRIPTION
: facoltativo. Una descrizione del pool di identità della forza lavoro.SESSION_DURATION
: facoltativo. La durata della sessione, che determina per quanto tempo i Google Cloud token di accesso, le sessioni di accesso alla console (federata) e le sessioni di accesso alla CLI gcloud di questo pool di forza lavoro sono validi. La durata deve essere superiore a 15 minuti (900 secondi) e inferiore a 12 ore (43200 secondi). Se la durata della sessione non è impostata, viene applicata per impostazione predefinita una durata di un'ora (3600 secondi).
Configura il provider del pool di identità della forza lavoro SAML 2.0
Per creare il provider del pool di identità della forza lavoro SAML, esegui il seguente comando:
gcloud iam workforce-pools providers create-saml PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --location=global \ --display-name=DISPLAY_NAME \ --idp-metadata-path=XML_METADATA_PATH \ --attribute-mapping=ATTRIBUTE_MAPPING \ --extra-attributes-issuer-uri=EXTRA_ATTRIBUTES_ISSUER_URI \ --extra-attributes-client-id=EXTRA_ATTRIBUTES_CLIENT_ID \ --extra-attributes-client-secret-value=EXTRA_ATTRIBUTES_CLIENT_SECRET \ --extra-attributes-type=EXTRA_ATTRIBUTES_TYPE \ –-extra-attributes-filter=EXTRA_ATTRIBUTES_FILTER
Sostituisci quanto segue:
-
PROVIDER_ID
: un ID fornitore univoco. Il prefissogcp-
è riservato e non può essere utilizzato in un pool o ID provider. -
WORKFORCE_POOL_ID
: l'ID pool di forza lavoro. -
DISPLAY_NAME
: un nome visualizzato per il fornitore. -
XML_METADATA_PATH
: il percorso del file XML dei metadati SAML 2.0. -
ATTRIBUTE_MAPPING
: la mappatura degli attributi da Microsoft Entra ID a Google Cloud. Ad esempio, per mapparegroups
esubject
da Microsoft Entra ID, utilizza la seguente mappatura degli attributi:--attribute-mapping=”google.groups=assertion.groups, google.subject=assertion.sub"
Per ulteriori informazioni, vedi Mappatura degli attributi.
-
EXTRA_ATTRIBUTES_ISSUER_URI
: l'URI dell'emittente della tua applicazione Microsoft Entra ID. -
EXTRA_ATTRIBUTES_CLIENT_ID
: l'ID cliente della tua applicazione Microsoft Entra ID. -
EXTRA_ATTRIBUTES_CLIENT_SECRET
: il segreto client aggiuntivo della tua applicazione Microsoft Entra ID. -
EXTRA_ATTRIBUTES_TYPE
: utilizzaazure-ad-groups-mail
per recuperare gli indirizzi email dei gruppi. Utilizzaazure-ad-groups-id
per recuperare gli ID dei gruppi. -
EXTRA_ATTRIBUTES_FILTER
: facoltativo. Un'espressione di filtro utilizzata per eseguire query sull'API Microsoft Graph per i gruppi. Puoi utilizzare questo parametro per assicurarti che il numero di gruppi recuperati dall'IDP rimanga al di sotto del limite di 999 gruppi.L'esempio seguente recupera i gruppi con il prefisso
sales
nell'ID indirizzo email:–-extra-attributes-filter='"mail:sales"'
La seguente espressione recupera i gruppi con un nome visualizzato contenente la stringa
sales
.-–extra-attributes-filter='"displayName:sales”'
Concedi ruoli IAM ai gruppi
In questa sezione concedi i ruoli ai gruppi nelle Google Cloud risorse. Per scoprire di più sugli identificatori delle entità di Workforce Identity Federation, consulta Rappresentare gli utenti del pool di risorse umane nei criteri IAM.
Il seguente esempio concede il ruolo Amministratore archiviazione (roles/storage.admin
)
agli utenti di un gruppo Microsoft Entra ID.
gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/storage.admin" \ --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
Sostituisci quanto segue:
-
PROJECT_ID
: l'ID progetto -
WORKFORCE_POOL_ID
: l'ID del pool di identità della forza lavoro -
GROUP_ID
: l'identificatore del gruppo, che dipende dal valore di--extra-attributes-type
utilizzato per creare il provider del pool di identità forza lavoro, come segue:azure-ad-groups-mail
: l'identificatore del gruppo è un indirizzo email, ad esempioadmin-group@altostrat.com
azure-ad-groups-id
: l'identificatore del gruppo è un UUID per il gruppo, ad esempio:abcdefgh-0123-0123-abcdef
Accedi e testa l'accesso
In questa sezione, accedi come utente del pool di identità per la forza lavoro e verifica di avere accesso alle risorse Google Cloud .
Accedi
Questa sezione spiega come accedere come utente federato e accedere alle risorseGoogle Cloud .
Accesso alla console (federata)
Per accedere alla Google Cloud console Workforce Identity Federation, nota anche come console (federata), procedi nel seguente modo:
-
Vai alla pagina di accesso alla console (federata).
-
Inserisci il nome del fornitore, che ha il seguente formato:
locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Se richiesto, inserisci le credenziali utente in Microsoft Entra ID.
Se avvii un accesso avviato dall'IdP, utilizza quanto segue per l'URL di inoltro: https://console.cloud.google/
.
Accesso basato su browser all'interfaccia a riga di comando gcloud
Per accedere a gcloud CLI utilizzando un flusso di accesso basato su browser, segui questi passaggi:
Creare un file di configurazione
Per creare il file di configurazione di accesso, esegui il seguente comando. Se vuoi, puoi attivare il file come predefinito per gcloud CLI aggiungendo il flag --activate
.
A questo punto puoi eseguire gcloud auth login
senza specificare ogni volta il percorso del file di configurazione.
gcloud iam workforce-pools create-login-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID \ --output-file=LOGIN_CONFIG_FILE_PATH
Sostituisci quanto segue:
WORKFORCE_POOL_ID
: l'ID del pool di forza lavoroPROVIDER_ID
: l'ID providerLOGIN_CONFIG_FILE_PATH
: il percorso di un file di configurazione specificato, ad esempiologin.json
Il file contiene gli endpoint utilizzati dalla CLI gcloud per attivare il flusso di autenticazione basato sul browser e impostare il segmento di pubblico sull'IdP configurato nel provider del pool di identità della forza lavoro. Il file non contiene informazioni riservate.
L'output è simile al seguente:
{ "type": "external_account_authorized_user_login_config", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "auth_url": "https://auth.cloud.google/authorize", "token_url": "https://sts.googleapis.com/v1/oauthtoken", "token_info_url": "https://googleapis.com/v1/introspect", }
Accedere utilizzando l'autenticazione basata sul browser
Per eseguire l'autenticazione utilizzando l'autenticazione di accesso basata sul browser, puoi utilizzare uno dei seguenti metodi:
-
Se hai utilizzato il flag
--activate
quando hai creato il file di configurazione o se lo hai attivato congcloud config set auth/login_config_file
, la CLI gcloud lo utilizza automaticamente:gcloud auth login
-
Per accedere specificando la posizione del file di configurazione, esegui il seguente comando:
gcloud auth login --login-config=LOGIN_CONFIG_FILE_PATH
-
Per utilizzare una variabile d'ambiente per specificare la posizione del file di configurazione, imposta
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
sul percorso di configurazione.
Disattivare l'accesso tramite browser
Per interrompere l'utilizzo del file di configurazione dell'accesso:
-
Se hai utilizzato il flag
--activate
quando hai creato il file di configurazione o se lo hai attivato congcloud config set auth/login_config_file
, devi eseguire il seguente comando per reimpostarlo:gcloud config unset auth/login_config_file
-
Cancella la variabile di ambiente
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
, se impostata.
Accesso headless all'interfaccia a riga di comando gcloud
Per accedere a Microsoft Entra ID con gcloud CLI, segui questi passaggi:
OIDC
Segui i passaggi descritti in Inviare la richiesta di accesso. Fai accedere l'utente alla tua applicazione con Microsoft Entra ID utilizzando OIDC.
Copia il token ID dal parametro
id_token
dell'URL di reindirizzamento e salvalo in un file in una posizione sicura sulla tua macchina locale. In un passaggio successivo, imposta PATH_TO_OIDC_ID_TOKEN sul percorso di questo file.Genera un file di configurazione simile all'esempio riportato di seguito in questo passaggio eseguendo il seguente comando:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type=urn:ietf:params:oauth:token-type:id_token \ --credential-source-file=PATH_TO_OIDC_ID_TOKEN \ --workforce-pool-user-project=WORKFORCE_POOL_USER_PROJECT \ --output-file=config.json
Sostituisci quanto segue:
WORKFORCE_POOL_ID
: l'ID del pool di identità della forza lavoro.WORKFORCE_PROVIDER_ID
: l'ID del fornitore del pool di identità forza lavoro.PATH_TO_OIDC_ID_TOKEN
: il percorso della posizione del file in cui è archiviato il token dell'IdP.WORKFORCE_POOL_USER_PROJECT
: il numero o l'ID progetto utilizzato per la quota e la fatturazione. Il principale deve disporre dell'autorizzazioneserviceusage.services.use
per questo progetto.
Al termine del comando, il seguente file di configurazione viene creato da Microsoft Entra ID:
{ "type": "external_account", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "subject_token_type": "urn:ietf:params:oauth:token-type:id_token", "token_url": "https://sts.googleapis.com/v1/token", "workforce_pool_user_project": "WORKFORCE_POOL_USER_PROJECT", "credential_source": { "file": "PATH_TO_OIDC_CREDENTIALS" } }
Apri gcloud CLI ed esegui il seguente comando:
gcloud auth login --cred-file=PATH_TO_OIDC_CREDENTIALS
Sostituisci PATH_TO_OIDC_CREDENTIALS con il percorso del file di output di un passaggio precedente.
La CLI gcloud pubblica in modo trasparente le tue credenziali nell'endpoint Security Token Service. Nell'endpoint, viene scambiato con Google Cloud token di accesso temporanei.
Ora puoi eseguire i comandi dell'interfaccia a riga di comando gcloud per Google Cloud.
SAML
Accedi con un utente alla tua applicazione Microsoft Entra ID e ricevi la risposta SAML.
Salva la risposta SAML restituita da Microsoft Entra ID in una posizione sicura sul tuo computer locale, quindi memorizza il percorso come segue:
SAML_ASSERTION_PATH=SAML_ASSERTION_PATH
Per generare un file di configurazione delle credenziali, esegui il seguente comando:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type=urn:ietf:params:oauth:token-type:saml2 \ --credential-source-file=SAML_ASSERTION_PATH \ --workforce-pool-user-project=PROJECT_ID \ --output-file=config.json
Sostituisci quanto segue:
WORKFORCE_PROVIDER_ID
: l'ID del fornitore del pool di identità forza lavoro che hai creato in precedenza in questa guidaWORKFORCE_POOL_ID
: l'ID del pool di identità della forza lavoro che hai creato in precedenza in questa guidaSAML_ASSERTION_PATH
: il percorso del file di affermazione SAMLPROJECT_ID
: l'ID progetto
Il file di configurazione generato è simile al seguente:
{ "type": "external_account", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "subject_token_type": "urn:ietf:params:oauth:token-type:saml2", "token_url": "https://sts.googleapis.com/v1/token", "credential_source": { "file": "SAML_ASSERTION_PATH" }, "workforce_pool_user_project": "PROJECT_ID" }
Per accedere a gcloud CLI utilizzando lo scambio di token di Workload Identity Federation, esegui il seguente comando:
gcloud auth login --cred-file=config.json
L'interfaccia a riga di comando gcloud scambia quindi in modo trasparente le tue credenziali di ID Microsoft Entra per token di accesso Google Cloud temporanei. I token di accesso ti consentono di accedere a Google Cloud.
Viene visualizzato un output simile al seguente:
Authenticated with external account user credentials for: [principal://iam.googleapis.com/locations/global/workforcePools/
WORKFORCE_POOL_ID
/subject/USER_ID
].Per elencare gli account con credenziali e il tuo account attivo, esegui il seguente comando:
gcloud auth list
Testa l'accesso
Ora hai accesso ai Google Cloud prodotti che supportano la federazione delle identità della forza lavoro e a cui ti è stato concesso l'accesso. In precedenza in questo documento, hai conferito il ruolo Amministratore archiviazione (roles/storage.admin
) a tutte le identità all'interno dell'identificatore gruppo specificato in gcloud projects add-iam-policy-binding
per il progetto TEST_PROJECT_ID
.
Ora puoi verificare di avere accesso elencando i bucket Cloud Storage.
Console (federata)
Per verificare di disporre dell'accesso utilizzando la console (federata), segui questi passaggi:
Vai alla pagina Cloud Storage.
Verifica di poter vedere un elenco dei bucket esistenti per
TEST_PROJECT_ID
.
Interfaccia a riga di comando gcloud
Per verificare di avere accesso utilizzando l'interfaccia a riga di comando gcloud, puoi elencare i bucket e gli oggetti Cloud Storage per il progetto a cui hai accesso. Per farlo, esegui il seguente comando. L'entità deve disporre dell'autorizzazioneserviceusage.services.use
per il progetto specificato.
gcloud storage ls --project="TEST_PROJECT_ID"
Eliminare utenti
La federazione delle identità della forza lavoro crea risorse e metadati utente per le identità utente federate. Se scegli di eliminare gli utenti nel tuo provider di identità, devi anche eliminare esplicitamente queste risorse in Google Cloud. Per farlo, consulta Eliminare gli utenti e i relativi dati di Workforce Identity Federation.
Potresti notare che le risorse continuano ad essere associate a un utente che è stato eliminato. Questo perché l'eliminazione dei metadati e delle risorse utente richiede un'operazione di lunga durata. Dopo aver avviato l'eliminazione dell'identità di un utente, i processi avviati dall'utente prima dell'eliminazione possono continuare a essere eseguiti fino al loro completamento o all'annullamento.
Passaggi successivi
- Eliminare gli utenti di Workforce Identity Federation e i relativi dati
- Scopri quali Google Cloud prodotti supportano la federazione delle identità della forza lavoro
- Configurare l'accesso degli utenti alla console (federata)