Configurare la federazione delle identità della forza lavoro con Microsoft Entra ID e un numero elevato di gruppi

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

  1. Assicurati di avere configurato un' Google Cloud organizzazione.
  2. 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
  3. 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.
  4. 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.
  5. 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.
  6. 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:

  1. Accedi al portale di amministrazione di Microsoft Entra.

  2. Vai a Identità > Applicazioni > Registrazioni app.

  3. Per iniziare a configurare la registrazione dell'applicazione:

    1. Fai clic su Nuova registrazione.

    2. Inserisci un nome per l'applicazione.

    3. In Tipi di account supportati, seleziona un'opzione.

    4. Nella sezione URI di reindirizzamento, nell'elenco a discesa Seleziona una piattaforma, seleziona Web.

    5. 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 esempio entra-id-oidc-pool-provider

        Per informazioni sulla formattazione dell'ID, consulta la sezione Parametri di query della documentazione dell'API.

    6. 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:

  1. Accedi al portale di amministrazione di Microsoft Entra.

  2. Vai a Identità > Applicazioni > Registrazioni app.

  3. Per iniziare a configurare l'applicazione aziendale:

    1. Fai clic su Nuova applicazione > Crea la tua applicazione.

    2. Inserisci un nome per l'applicazione.

    3. Fai clic su Crea.

    4. Vai a Single Sign-On > SAML.

    5. Aggiorna la configurazione SAML di base come segue:

      1. 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.

      2. 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 lavoro
        • WORKFORCE_PROVIDER_ID: l'ID del provider di identità della forza lavoro
      3. Per attivare l'accesso avviato dall'IDP, imposta il campo Stato di inoltro su questo valore:

        https://console.cloud.google/
        
      4. 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:

  1. 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.
  2. 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
  3. 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:

    1. Vai ad Autorizzazioni API.
    2. Fai clic su Aggiungi un'autorizzazione.
    3. Seleziona API Microsoft.
    4. Seleziona Autorizzazioni applicazione.
    5. Nel campo di ricerca, digita User.ReadBasic.All.
    6. 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.

  4. 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.
    1. Nel campo di ricerca, inserisci GroupMember.Read.All.
    2. Fai clic su Aggiungi autorizzazioni.
    3. Fai clic su Concedi il consenso amministratore per il nome di dominio.
    4. Nella finestra di dialogo visualizzata, fai clic su .
    5. Vai alla pagina Panoramica dell'applicazione Microsoft Entra ID che hai creato o aggiornato in precedenza.
    6. 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/.

Crea un pool di identità della forza lavoro

Console

Per creare il pool di identità della forza lavoro, svolgi i seguenti passaggi:

  1. Nella console Google Cloud, vai alla pagina Pool di identità del personale:

    Vai a Pool di identità della forza lavoro

  2. 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.

  3. Fai clic su Crea pool e segui questi passaggi:

    1. 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.

    2. (Facoltativo) In Descrizione, inserisci una descrizione del pool.

    3. 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).

    4. Per creare il pool nello stato abilitato, assicurati che Pool abilitato sia attivo.

    5. 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 prefisso gcp- è 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 mappare groups e subject 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: utilizza azure-ad-groups-mail per recuperare gli indirizzi email dei gruppi. Utilizza azure-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:

  1. 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.
  2. 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
  3. 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:

    1. Vai ad Autorizzazioni API.
    2. Fai clic su Aggiungi un'autorizzazione.
    3. Seleziona API Microsoft.
    4. Seleziona Autorizzazioni delegate.
    5. Nel campo di ricerca, digita User.Read.
    6. 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.

  4. 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.
    1. Nel campo di ricerca, inserisci GroupMember.Read.All.
    2. Fai clic su Aggiungi autorizzazioni.
    3. Fai clic su Concedi il consenso amministratore per il nome di dominio.
    4. Nella finestra di dialogo visualizzata, fai clic su .
    5. Vai alla pagina Panoramica dell'applicazione Microsoft Entra ID che hai creato o aggiornato in precedenza.
    6. 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/.

Crea un pool di identità della forza lavoro

Console

Per creare il pool di identità della forza lavoro, svolgi i seguenti passaggi:

  1. Nella console Google Cloud, vai alla pagina Pool di identità del personale:

    Vai a Pool di identità della forza lavoro

  2. 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.

  3. Fai clic su Crea pool e segui questi passaggi:

    1. 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.

    2. (Facoltativo) In Descrizione, inserisci una descrizione del pool.

    3. 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).

    4. Per creare il pool nello stato abilitato, assicurati che Pool abilitato sia attivo.

    5. 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 prefisso gcp- è 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 mappare groups e subject 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: utilizza azure-ad-groups-mail per recuperare gli indirizzi email dei gruppi. Utilizza azure-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:

  1. 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.
  2. 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
  3. 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:

    1. Vai ad Autorizzazioni API.
    2. Fai clic su Aggiungi un'autorizzazione.
    3. Seleziona API Microsoft.
    4. Seleziona Autorizzazioni applicazione.
    5. Nel campo di ricerca, digita User.ReadBasic.All.
    6. 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.

  4. 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.
    1. Nel campo di ricerca, inserisci GroupMember.Read.All.
    2. Fai clic su Aggiungi autorizzazioni.
    3. Fai clic su Concedi il consenso amministratore per il nome di dominio.
    4. Nella finestra di dialogo visualizzata, fai clic su .
    5. Vai alla pagina Panoramica dell'applicazione Microsoft Entra ID che hai creato o aggiornato in precedenza.
    6. 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/.

Crea un pool di identità della forza lavoro

Console

Per creare il pool di identità della forza lavoro, svolgi i seguenti passaggi:

  1. Nella console Google Cloud, vai alla pagina Pool di identità del personale:

    Vai a Pool di identità della forza lavoro

  2. 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.

  3. Fai clic su Crea pool e segui questi passaggi:

    1. 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.

    2. (Facoltativo) In Descrizione, inserisci una descrizione del pool.

    3. 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).

    4. Per creare il pool nello stato abilitato, assicurati che Pool abilitato sia attivo.

    5. 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 prefisso gcp- è 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 mappare groups e subject 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: utilizza azure-ad-groups-mail per recuperare gli indirizzi email dei gruppi. Utilizza azure-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 esempio admin-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:

  1. Vai alla pagina di accesso alla console (federata).

    Vai alla console (federata)

  2. Inserisci il nome del fornitore, che ha il seguente formato:
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
  3. 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 lavoro
  • PROVIDER_ID: l'ID provider
  • LOGIN_CONFIG_FILE_PATH: il percorso di un file di configurazione specificato, ad esempio login.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 con gcloud 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 con gcloud 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

  1. Segui i passaggi descritti in Inviare la richiesta di accesso. Fai accedere l'utente alla tua applicazione con Microsoft Entra ID utilizzando OIDC.

  2. 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.

  3. 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"
      }
    }
    
  4. 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

  1. Accedi con un utente alla tua applicazione Microsoft Entra ID e ricevi la risposta SAML.

  2. 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
    
  3. 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 guida
    • WORKFORCE_POOL_ID: l'ID del pool di identità della forza lavoro che hai creato in precedenza in questa guida
    • SAML_ASSERTION_PATH: il percorso del file di affermazione SAML
    • PROJECT_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"
    }
    
  4. 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].
  5. 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.

    Vai a 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