Configura la federazione delle identità per la forza lavoro con Microsoft Entra ID e accedi agli utenti

Questa guida illustra come configurare la federazione delle identità per la forza lavoro Microsoft Entra ID e gestione dell'accesso a Google Cloud. Gli utenti dell'identità Microsoft Entra ID possono quindi accedere ai servizi Google Cloud che supportano la federazione delle identità della forza lavoro.

Prima di iniziare

  1. Devi aver configurato un'organizzazione Google Cloud.

  2. Install the Google Cloud CLI, 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 saperne di più, consulta Abilitare il flusso implicito.

  4. Per l'accesso, l'IdP deve fornire le informazioni di autenticazione firmata: Gli IdP OIDC devono fornire un JWT e le risposte agli IdP SAML devono essere firmate.

  5. Per ricevere informazioni importanti sulle modifiche alla tua organizzazione o ai prodotti Google Cloud, devi fornire i Contatti fondamentali. Per saperne di più, consulta la panoramica sulla federazione delle identità per la forza lavoro.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per configurare la federazione delle identità per la forza lavoro, chiedi all'amministratore di concederti Ruolo IAM Amministratore pool di forza lavoro IAM (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.

In alternativa, il ruolo di base Proprietario IAM (roles/owner) include anche le autorizzazioni per la federazione delle identità per la forza lavoro. Non dovresti concedere ruoli di base in un ambiente di produzione, ma puoi farlo in un ambiente di sviluppo o di test.

Crea un pool di identità della forza lavoro

Console

Per creare il pool di identità della forza lavoro:

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

    Vai a Pool di identità della forza lavoro

  2. 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 di Google Cloud, delle sessioni di accesso alla console (federata) e delle sessioni di accesso a gcloud CLI di questo pool di personale. 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 in stato Attivato, assicurati che Il pool abilitato è attivo.

    5. Per creare il pool di identità della forza lavoro, fai clic su Avanti.

gcloud

Per creare il pool di identità della forza lavoro, esegui questo 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 di rappresentare del tuo pool di forza lavoro Google Cloud. Per informazioni sulla formattazione dell'ID, consulta la sezione Parametri di query nella documentazione dell'API.
  • ORGANIZATION_ID: l'ID numerico della tua organizzazione Google Cloud.
  • 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. Durata della sessione, che determina per quanto tempo Google Cloud token di accesso, console (federata) sessioni di accesso e le sessioni di accesso gcloud CLI 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).

Crea un'app Microsoft Entra ID

Questa sezione illustra i passaggi per creare un'app Microsoft Entra ID utilizzando il portale amministrativo di Microsoft Entra. Per ulteriori dettagli, vedi Che cos'è l'autenticazione.

I pool di identità della forza lavoro supportano la federazione utilizzando i protocolli OIDC e SAML.

OIDC

Per creare una registrazione dell'app Microsoft che utilizza il protocollo OIDC, svolgi i seguenti passaggi:

  1. Accedi al portale di amministrazione di Microsoft Entra.
  2. Vai ad Identità > Applicazioni > Registrazioni app.
  3. Per iniziare a configurare la registrazione dell'app, segui questi passaggi:

    1. Fai clic su Nuova registrazione.
    2. Inserisci un nome per l'app.
    3. In Tipi di account supportati, seleziona un'opzione.
    4. Nella sezione URL di reindirizzamento, nella sezione Seleziona una piattaforma nell'elenco a discesa, seleziona Web. Nel campo di testo, inserisci un reindirizzamento URL. I tuoi utenti vengono reindirizzati a questo URL dopo aver eseguito correttamente accedi. Se stai configurando l'accesso al console (federata), utilizza il seguente formato di 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 della forza lavoro creato in precedenza in questa guida.
      • WORKFORCE_PROVIDER_ID: un ID provider di identità della forza lavoro di tua scelta, ad esempio:azure-ad-oidc-provider. Per informazioni sulla formattazione dell'ID, consulta Parametri di ricerca nella documentazione dell'API.
    5. Per creare la registrazione dell'app, fai clic su Registra.

  4. (Facoltativo) Per configurare una rivendicazione di gruppi:

    1. Vai alla registrazione dell'app Microsoft Entra ID.
    2. Fai clic su Configurazione token.
    3. Fai clic su Aggiungi rivendicazione gruppi. Per utilizzare la mappatura degli attributi di esempio fornita più avanti in questa guida, devi creare un attributo department personalizzato.
    4. Seleziona i tipi di gruppi da restituire. Per maggiori dettagli, consulta Configurare le rivendicazioni facoltative per i gruppi.

SAML

Per creare un'applicazione Microsoft che utilizza il protocollo SAML, svolgi i seguenti passaggi:

  1. Accedi al portale Microsoft Azure.
  2. Vai ad Azure Active Directory > Applicazioni aziendali.
  3. Per iniziare a configurare l'applicazione aziendale, segui questi passaggi:

    1. Fai clic su Nuova applicazione > Crea la tua applicazione.
    2. Inserisci un nome per l'app.
    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/PROVIDER_ID
        
      2. Nel campo Risposta URL (URL Assertion Consumer Service), inserisci un URL di reindirizzamento. I tuoi utenti vengono reindirizzati a questo URL dopo accedere correttamente. 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 che hai creato in precedenza in questa guida.
        • WORKFORCE_PROVIDER_ID: una forza lavoro ID provider di identità di tua scelta; ad esempio: azure-ad-oidc-provider. Per informazioni sulla formattazione dell'ID, consulta la sezione Parametri di ricerca. nella documentazione dell'API.
      3. Se vuoi attivare l'accesso avviato dall'IDP, imposta il campo Stato di inoltro sul seguente valore:

        https://console.cloud.google/
        
      4. Per salvare la configurazione dell'app SAML, fai clic su Salva.

  4. Per configurare un'affermazione di gruppo: Per utilizzare la mappatura degli attributi di esempio che fornito più avanti in questa guida, devi creare un attributo department personalizzato.

    1. Vai all'app Microsoft Entra ID.
    2. Fai clic su Single sign-on.
    3. Nella sezione Attributi e rivendicazioni, fai clic su Modifica.
    4. Fai clic su Aggiungi una rivendicazione di gruppo.
    5. Seleziona il tipo di gruppo da restituire. Per maggiori dettagli, consulta Aggiungere attestazioni di gruppi ai token per le applicazioni SAML che utilizzano la configurazione SSO.

Crea il provider del pool di identità della forza lavoro Microsoft Entra ID

Questa sezione descrive come creare un provider di pool di identità per la forza lavoro per consentire agli utenti IdP di accedere a Google Cloud. Puoi configurare il provider in modo che utilizzi il protocollo OIDC o SAML.

Crea un provider del pool di forza lavoro OIDC

Per creare un provider di pool di identità di forza lavoro per l'integrazione dell'app Microsoft Entra ID utilizzando il protocollo OIDC:

  1. Per ottenere l'URI dell'emittente per l'app Microsoft Entra ID:

    1. Vai alla registrazione dell'app Microsoft Entra ID.
    2. Fai clic su Endpoint.
    3. Apri il documento di metadati OpenID Connect in una nuova scheda.
    4. Copia il valore di issuer nel file JSON.
  2. Per ottenere l'ID client per l'app Microsoft Entra ID:

    1. Vai alla registrazione dell'app Microsoft Entra ID.
    2. In ID applicazione (client), copia il valore.
  3. Creare un provider di pool di identità per la forza lavoro OIDC basato sul web accedi, procedi nel seguente modo:

    Console

    Flusso codice

    Per creare un provider OIDC che utilizza il flusso del codice di autorizzazione per l'accesso basato sul web:

    1. Per ottenere il client secret Microsoft Entra ID:

      1. Vai alla registrazione dell'app Microsoft Entra ID.

      2. In Certificati e secret, fai clic sulla scheda Client secret.

      3. Per aggiungere un client secret, fai clic su + Nuovo client secret.

      4. Nella finestra di dialogo Aggiungi un client secret, inserisci le informazioni necessarie.

      5. Per creare il client secret, fai clic su Aggiungi.

      6. Nella scheda Client secret, individua il nuovo client secret.

      7. Nella colonna Valore del nuovo segreto client, fai clic su Copia.

    2. Nella console Google Cloud, per creare un provider OIDC utilizza il flusso del codice di autorizzazione, procedi nel seguente modo:

      1. Nella console Google Cloud, vai alla pagina Pool di identità per la forza lavoro:

        Vai ai pool di identità della forza lavoro

      2. Nella tabella Pool di identità della forza lavoro, seleziona il pool per il quale vuoi creare il provider.

      3. Nella tabella Fornitori, fai clic su Aggiungi fornitore.

      4. In Seleziona un protocollo, seleziona Open ID Connect (OIDC).

      5. In Crea un provider di pool, segui questi passaggi:

        1. In Nome, inserisci un nome per il provider.
        2. In Issuer (URL) (Emittente (URL)), inserisci l'URI dell'emittente. L'URI dell'emittente OIDC deve essere in un formato URI valido e iniziare con https; ad esempio, https://example.com/oidc.
        3. Inserisci il Client ID, l'ID client OIDC registrato con il tuo IdP OIDC; l'ID deve corrispondere all'attestazione aud del JWT che emessi dall'IdP.
        4. Per creare un fornitore abilitato, assicurati che l'opzione Fornitore abilitato sia attivata.
        5. Fai clic su Continua.
      6. In Tipo di risposta, procedi nel seguente modo. Il tipo di risposta viene utilizzato solo per un flusso di Single Sign-On basato sul web.

        1. In Tipo di risposta, seleziona Codice.
        2. In Client secret, inserisci il client secret dell'IdP.
        3. In Comportamento delle attestazioni delle asserzioni, seleziona una delle seguenti opzioni:

          • Informazioni utente e token ID
          • Solo token ID
        4. Fai clic su Continua.

      7. In Configura provider, puoi configurare una mappatura degli attributi e una condizione dell'attributo. Per creare una mappatura degli attributi: Puoi fornire il nome del campo dell'IdP o Formato CEL che restituisce una stringa.

        1. Obbligatorio: in OIDC 1, inserisci il soggetto dell'IdP, ad esempio assertion.sub.

          Per Microsoft Entra ID con autenticazione OIDC, consigliamo le seguenti mappature degli attributi:

          google.subject=assertion.sub,
          google.groups=assertion.groups,
          google.display_name=assertion.preferred_username
          

          Questo esempio mappa gli attributi dell'IDP subject, groups e preferred_username agli attributi di Google Cloud google.subject, google.groups e google.display_name, rispettivamente.

        2. (Facoltativo) Per aggiungere altre mappature degli attributi, segui questi passaggi:

          1. Fai clic su Aggiungi mappatura.
          2. In Google n, dove n è un numero, inserisci una delle chiavi supportate da Google Cloud.
          3. Nel campo OIDC n corrispondente, inserisci il nome del Campo specifico dell'IdP da mappare, in formato CEL.
        3. Per creare una condizione dell'attributo:

          1. Fai clic su Aggiungi condizione.
          2. In Condizioni degli attributi, inserisci una condizione in formato CEL. Ad esempio, per limitare l'attributo ipaddr a un determinato intervallo IP, puoi impostare la condizione assertion.ipaddr.startsWith('98.11.12.').
      8. Per creare il provider, fai clic su Invia.

    Flusso implicito

    Per creare un provider OIDC che utilizzi il flusso implicito per l'accesso basato sul web:

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

      Vai a Pool di identità della forza lavoro

    2. Nella tabella Pool di identità della forza lavoro, seleziona il pool per il quale vuoi creare il provider.

    3. Nella tabella Fornitori, fai clic su Aggiungi fornitore.

    4. In Seleziona un protocollo, seleziona Open ID Connect (OIDC).

    5. In Crea un provider di pool, segui questi passaggi:

      1. In Nome, inserisci un nome per il provider.
      2. In Issuer (URL) (Emittente (URL)), inserisci l'URI dell'emittente. L'URI dell'emittente OIDC deve essere in un formato URI valido e iniziare con https; ad esempio, https://example.com/oidc.
      3. Inserisci il Client ID, l'ID client OIDC registrato con il tuo IdP OIDC; l'ID deve corrispondere all'attestazione aud del JWT che emessi dall'IdP.
      4. Per creare un fornitore abilitato, assicurati che l'opzione Fornitore abilitato sia attivata.
      5. Fai clic su Continua.
    6. In Tipo di risposta, segui questi passaggi: Viene utilizzato il tipo di risposta solo per un flusso Single Sign-On basato sul web.

      1. In Tipo di risposta, seleziona Token ID.
      2. Fai clic su Continua.
    7. In Configura provider, puoi configurare una mappatura degli attributi e una condizione dell'attributo. Per creare una mappatura degli attributi: procedi nel seguente modo. Puoi fornire il nome del campo dell'IDP o un'espressione in formato CEL che restituisce una stringa.

      1. Obbligatorio: in OIDC 1, inserisci il soggetto dell'IdP, ad esempio assertion.sub.

        Per Microsoft Entra ID con autenticazione OIDC, consigliamo le seguenti mappature degli attributi:

        google.subject=assertion.sub,
        google.groups=assertion.groups,
        google.display_name=assertion.preferred_username
        

        Questo esempio mappa gli attributi dell'IDP subject, groups e preferred_username agli attributi di Google Cloud google.subject, google.groups e google.display_name, rispettivamente.

      2. (Facoltativo) Per aggiungere altre mappature degli attributi, segui questi passaggi:

        1. Fai clic su Aggiungi mappatura.
        2. In Google n, dove n è un numero, inserisci una delle chiavi supportate da Google Cloud.
        3. Nel campo OIDC n corrispondente, inserisci il nome del Campo specifico dell'IdP da mappare, in formato CEL.
      3. Per creare una condizione dell'attributo:

        1. Fai clic su Aggiungi condizione.
        2. In Condizioni attributi, inserisci una condizione nel formato CEL; ad esempio, per limitare l'attributo ipaddr a un in un determinato intervallo IP, puoi impostare la condizione assertion.ipaddr.startsWith('98.11.12.') di Google.

    8. Per creare il provider, fai clic su Invia.

    gcloud

    Per creare un provider che supporti il protocollo OIDC, segui questi passaggi:

    Flusso codice

    Per creare un provider OIDC che utilizzi il flusso del codice di autorizzazione per l'accesso basato sul web: segui questi passaggi:

    1. Nell'app Microsoft Entra ID, per ottenere il client secret, procedi nel seguente modo: seguenti:

      1. Vai alla registrazione dell'app Microsoft Entra ID.

      2. In Certificati e secret, fai clic sulla scheda Client secret.

      3. Per aggiungere un client secret, fai clic su + Nuovo client secret.

      4. Nella finestra di dialogo Aggiungi un client secret, inserisci le informazioni necessarie.

      5. Per creare il client secret, fai clic su Aggiungi.

      6. Nella scheda Client secret, individua il nuovo client secret.

      7. Nella colonna Valore del nuovo segreto client, fai clic su Copia.

    2. Nella console Google Cloud, per creare un provider OIDC usa il flusso del codice, segui questi passaggi:

      gcloud iam workforce-pools providers create-oidc PROVIDER_ID \
          --workforce-pool=WORKFORCE_POOL_ID \
          --display-name="DISPLAY_NAME" \
          --description="DESCRIPTION" \
          --issuer-uri="ISSUER_URI" \
          --client-id="OIDC_CLIENT_ID" \
      --client-secret-value="OIDC_CLIENT_SECRET" \ --web-sso-response-type="code" \ --web-sso-assertion-claims-behavior="merge-user-info-over-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --location=global

      Sostituisci quanto segue:

      • PROVIDER_ID: un ID fornitore univoco. Il prefisso gcp- è riservato e non può essere utilizzato in un ID pool o provider.
      • WORKFORCE_POOL_ID: l'ID pool di identità della forza lavoro a cui connettere l'IdP.
      • DISPLAY_NAME: un nome visualizzato facoltativo e facile da usare per il fornitore, ad esempio idp-eu-employees.
      • DESCRIPTION: un fornitore di forza lavoro facoltativo description; ad esempio IdP for Partner Example Organization employees.
      • ISSUER_URI: l'URI dell'emittente OIDC, in un URI valido, che inizia con https; ad esempio https://example.com/oidc. Nota: per motivi di sicurezza, ISSUER_URI deve utilizzare lo schema HTTPS.
      • OIDC_CLIENT_ID: l'ID client OIDC registrato con il tuo IdP OIDC. L'ID deve corrispondere al claim aud del JWT emesso dall'IdP.
      • OIDC_CLIENT_SECRET: il client secret OIDC.
      • WEB_SSO_ADDITIONAL_SCOPES: ambiti aggiuntivi facoltativi da inviare all'IdP OIDC per l'accesso basato su browser con gcloud CLI.
      • ATTRIBUTE_MAPPING: una mappatura degli attributi. Per Microsoft Entra ID con autenticazione OIDC, consigliamo le seguenti mappature degli attributi:

        google.subject=assertion.sub,
        google.groups=assertion.groups,
        google.display_name=assertion.preferred_username
        

        Questo esempio mappa gli attributi dell'IDP subject, groups e preferred_username agli attributi di Google Cloud google.subject, google.groups e google.display_name, rispettivamente.

      • ATTRIBUTE_CONDITION: una condizione dell'attributo. Ad esempio, per limitare l'attributo ipaddr a un determinato intervallo IP, puoi impostare la condizione assertion.ipaddr.startsWith('98.11.12.').
      • JWK_JSON_PATH: un percorso facoltativo dei JWK OIDC caricati localmente. Se questo parametro non viene fornito, Google Cloud utilizza invece il percorso /.well-known/openid-configuration dell'IdP per trovare i JWK contenenti le chiavi pubbliche. Per ulteriori informazioni sui JWK OIDC caricati localmente, vedi Gestire i JWK OIDC.
      Nella risposta al comando, POOL_RESOURCE_NAME è il nome del pool; ad esempio locations/global/workforcePools/enterprise-example-organization-employees.

    Flusso implicito

    Per creare un provider OIDC che utilizzi il flusso implicito per l'accesso web, procedi nel seguente modo:

    1. Per attivare il token ID nell'app Microsoft Entra ID, esegui la procedura seguenti:

      1. Vai alla registrazione dell'app Microsoft Entra ID.
      2. In Autenticazione, seleziona la casella di controllo Token ID.
      3. Fai clic su Salva.
    2. Per creare il provider, esegui questo comando:

      gcloud iam workforce-pools providers create-oidc PROVIDER_ID \
          --workforce-pool=WORKFORCE_POOL_ID \
          --display-name="DISPLAY_NAME" \
          --description="DESCRIPTION" \
          --issuer-uri="ISSUER_URI" \
          --client-id="OIDC_CLIENT_ID" \
          --web-sso-response-type="id-token" \
          --web-sso-assertion-claims-behavior="only-id-token-claims" \
          --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \
          --attribute-mapping="ATTRIBUTE_MAPPING" \
          --attribute-condition="ATTRIBUTE_CONDITION" \
          --jwk-json-path="JWK_JSON_PATH" \
          --location=global
      

      Sostituisci quanto segue:

      • PROVIDER_ID: un ID fornitore univoco. Il prefisso gcp- è riservato e non può essere utilizzato in un ID pool o provider.
      • WORKFORCE_POOL_ID: l'ID pool di identità della forza lavoro a cui connettere l'IdP.
      • DISPLAY_NAME: un nome visualizzato facoltativo e facile da usare per il fornitore, ad esempio idp-eu-employees.
      • DESCRIPTION: un fornitore di forza lavoro facoltativo description; ad esempio IdP for Partner Example Organization employees.
      • ISSUER_URI: l'URI dell'emittente OIDC, in un URI valido, che inizia con https; ad esempio https://example.com/oidc. Nota: per motivi di sicurezza, ISSUER_URI deve utilizzare lo schema HTTPS.
      • OIDC_CLIENT_ID: l'ID client OIDC registrato con il tuo IdP OIDC. L'ID deve corrispondere al claim aud del JWT emesso dall'IdP.
      • WEB_SSO_ADDITIONAL_SCOPES: ambiti aggiuntivi facoltativi da inviare all'IdP OIDC per l'accesso alla console (federato) o basato su browser dell'interfaccia a riga di comando gcloud.
      • ATTRIBUTE_MAPPING: una mappatura degli attributi. Per Microsoft Entra ID con autenticazione OIDC, consigliamo le seguenti mappature degli attributi:

        google.subject=assertion.sub,
        google.groups=assertion.groups,
        google.display_name=assertion.preferred_username
        

        In questo esempio vengono mappati gli attributi dell'IdP subject, groups e preferred_username a Google Cloud attributi google.subject, google.groups, e google.display_name, rispettivamente.

      • ATTRIBUTE_CONDITION: una condizione dell'attributo; ad esempio, per limitare l'attributo ipaddr a un in un determinato intervallo IP, puoi impostare la condizione assertion.ipaddr.startsWith('98.11.12.') di Google.
      • JWK_JSON_PATH: un percorso facoltativo dei JWK OIDC caricati localmente. Se questo parametro non viene fornito, Google Cloud utilizza invece il percorso /.well-known/openid-configuration dell'IdP per trovare i JWK contenenti le chiavi pubbliche. Per saperne di più sui JWK OIDC caricati localmente, vedi Gestire i JWK OIDC.
      Nella risposta al comando, POOL_RESOURCE_NAME è il nome del pool, ad esempio locations/global/workforcePools/enterprise-example-organization-employees.

Crea un provider di pool di forza lavoro SAML

  1. Nel tuo IdP SAML, registra una nuova applicazione per Google Cloud Federazione delle identità per la forza lavoro.

  2. Imposta il segmento di pubblico per le asserzioni SAML. Di solito è il campo SP Entity ID nella configurazione dell'IdP. Devi impostala al seguente URL:

    https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID
    
  3. Se prevedi di configurare l'accesso utente alla console, nell'IdP SAML imposta il campo URL di reindirizzamento o URL Assertion Consumer Service (ACS) sul seguente URL:

    https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    

    Consulta Configurare l'accesso degli utenti alla console. per maggiori dettagli sulla configurazione dell'accesso alla console.

  4. In Google Cloud, crea un provider di pool di identità per la forza lavoro SAML utilizzando il documento dei metadati SAML dell'IdP. Puoi scaricare il documento XML dei metadati SAML dal tuo IdP. Il documento deve includere almeno quanto segue:

    • Un ID entità SAML per il tuo IdP.
    • L'URL Single Sign-On per l'IdP.
    • Almeno una chiave pubblica di firma. Per informazioni dettagliate sulle chiavi di firma, consulta la sezione Requisiti delle chiavi più avanti in questa guida.

Console

Per configurare il provider SAML utilizzando la console Google Cloud, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Pool di identità per la forza lavoro:

    Vai a Pool di identità della forza lavoro

  2. Nella tabella Pool di identità della forza lavoro, seleziona il pool vuoi creare il provider.

  3. Nella tabella Providers (Provider), fai clic su Add Provider (Aggiungi provider).

  4. In Seleziona un protocollo, seleziona SAML.

  5. In Crea un provider di pool, segui questi passaggi:

    1. In Nome, inserisci un nome per il provider.

    2. (Facoltativo) In Descrizione, inserisci una descrizione per il fornitore.

    3. In File di metadati IDP (XML), seleziona i metadati il file XML generato in precedenza in questa guida.

    4. Assicurati che l'opzione Provider abilitato sia abilitata.

    5. Fai clic su Continua.

  6. In Configura provider:

    1. In Mappatura degli attributi, inserisci un'espressione CEL pergoogle.subject.

    2. (Facoltativo) Per inserire altre mappature, fai clic su Aggiungi mappatura e inserisci altre mappature, ad esempio:

      google.subject=assertion.subject,
      google.groups=assertion.attributes['https://example.com/aliases'],
      attribute.costcenter=assertion.attributes.costcenter[0]
      Questo esempio mappa gli attributi IdP assertion.subject, assertion.attributes['https://example.com/aliases'] e assertion.attributes.costcenter[0] agli attributi Google Cloud google.subject, google.groups e google.costcenter, rispettivamente.

    3. (Facoltativo) Per aggiungere una condizione dell'attributo, fai clic su Aggiungi condizione e inserisci un'espressione CEL che rappresenta una condizione dell'attributo. Ad esempio, per limitare l'attributo ipaddr a un determinato intervallo IP puoi impostare la condizione assertion.attributes.ipaddr.startsWith('98.11.12.'). Questa condizione di esempio garantisce che solo gli utenti con un indirizzo IP che inizia con 98.11.12. possano accedere utilizzando questo fornitore di personale.

    4. Fai clic su Continua.

  7. Per creare il provider, fai clic su Invia.

gcloud

Per salvare i metadati SAML per l'app Microsoft Entra ID, segui questi passaggi:

  1. Vai all'app Microsoft Entra ID.
  2. Fai clic su Single sign-on.
  3. Nella sezione Certificati SAML, scarica il file XML dei metadati della federazione.
  4. Salva i metadati come file XML locale.

Per creare il provider del pool di identità per la forza lavoro SAML, esegui il seguente comando:

gcloud iam workforce-pools providers create-saml PROVIDER_ID \
    --workforce-pool="WORKFORCE_POOL_ID" \
    --display-name="DISPLAY_NAME" \
    --description="DESCRIPTION" \
    --idp-metadata-path="XML_METADATA_PATH" \
    --attribute-mapping="ATTRIBUTE_MAPPING" \
    --attribute-condition="ATTRIBUTE_CONDITION" \
    --location=global

Sostituisci quanto segue:

  • PROVIDER_ID: l'ID provider.
  • WORKFORCE_POOL_ID: l'identità della forza lavoro l'ID pool.
  • DISPLAY_NAME: il nome visualizzato.
  • DESCRIPTION: una descrizione.
  • XML_METADATA_PATH: il percorso del file di metadati in formato XML con i metadati di configurazione per il provider di identità SAML.
  • ATTRIBUTE_MAPPING: la mappatura degli attributi, ad esempio:

    google.subject=assertion.subject,
    google.groups=assertion.attributes['https://example.com/aliases'],
    attribute.costcenter=assertion.attributes.costcenter[0]
    In questo esempio vengono mappati gli attributi IdP assertion.subject, assertion.attributes['https://example.com/aliases'] e assertion.attributes.costcenter[0] a Google Cloud attributi google.subject, google.groups, e google.costcenter, rispettivamente.

  • ATTRIBUTE_CONDITION: una condizione dell'attributo facoltativa. Ad esempio, per limitare l'attributo ipaddr a un determinato intervallo IP puoi impostare la condizione assertion.attributes.ipaddr.startsWith('98.11.12.'). Questa condizione di esempio garantisce che solo gli utenti con un indirizzo IP che inizia con 98.11.12. possano accedere utilizzando questo provider di forza lavoro.

(Facoltativo) Accetta le asserzioni SAML criptate dal tuo IdP

Per consentire al tuo provider di identità SAML 2.0 di produrre assert SAML criptate che possono essere accettate dalla federazione delle identità per la forza lavoro, svolgi i seguenti passaggi:

  • Nella federazione delle identità per la forza lavoro, segui questi passaggi:
    • Crea una coppia di chiavi asimmetriche per il provider del pool di identità della forza lavoro.
    • Scarica un file del certificato contenente la chiave pubblica.
    • Configura l'IdP SAML in modo che utilizzi la chiave pubblica per criptare le asserzioni SAML che emette.
  • Nell'IdP:
    • Abilita la crittografia delle asserzioni, nota anche come crittografia dei token.
    • Carica la chiave pubblica che hai creato nella federazione delle identità della forza lavoro.
    • Verifica che l'IdP generi asserzioni SAML criptate.
Tieni presente che, anche con le chiavi del provider di crittografia SAML configurate, la federazione delle identità della forza lavoro può comunque elaborare un'asserzione in testo non crittografato.

Crea chiavi di crittografia delle asserzioni SAML per la federazione delle identità della forza lavoro

Questa sezione illustra la procedura per creare una coppia di chiavi asimmetriche che consenta alla federazione delle identità del personale di accettare asserzioni SAML criptate.

Google Cloud utilizza la chiave privata per decriptare le asserzioni SAML Problemi relativi all'IdP. Per creare una coppia di chiavi asimmetriche da utilizzare con la crittografia SAML, esegui il seguente comando. Per saperne di più, consulta Algoritmi di crittografia SAML supportati.

gcloud iam workforce-pools providers keys create KEY_ID \
    --workforce-pool WORKFORCE_POOL_ID \
    --provider PROVIDER_ID \
    --location global \
    --use encryption \
    --spec KEY_SPECIFICATION

Sostituisci quanto segue:

  • KEY_ID: un nome della chiave a tua scelta
  • WORKFORCE_POOL_ID: l'ID pool
  • PROVIDER_ID: l'ID provider
  • KEY_SPECIFICATION: la specifica della chiave, che può essere rsa-2048, rsa-3072 e rsa-4096.

Dopo aver creato la coppia di chiavi, scarica la chiave pubblica in un certificato esegui questo comando. Solo la federazione delle identità per la forza lavoro ha alla chiave privata.

gcloud iam workforce-pools providers keys describe KEY_ID \
    --workforce-pool WORKFORCE_POOL_ID \
    --provider PROVIDER_ID \
    --location global \
    --format "value(keyData.key)" \
    > CERTIFICATE_PATH

Sostituisci quanto segue:

  • KEY_ID: nome della chiave
  • WORKFORCE_POOL_ID: l'ID pool
  • PROVIDER_ID: ID provider
  • CERTIFICATE_PATH: il percorso in cui scrivere il certificato, ad esempio saml-certificate.cer o saml-certificate.pem

Configurare l'IdP conforme a SAML 2.0 per emettere asserzioni SAML criptate

Per configurare Microsoft Entra ID per criptare i token SAML, consulta Configurare la crittografia dei token SAML di Azure Active Directory.

Dopo aver configurato l'IdP per criptare le asserzioni SAML, ti consigliamo di verificare che le asserzioni generate siano effettivamente criptate. Anche se la crittografia delle asserzioni SAML è configurata, la federazione delle identità per la forza lavoro può comunque elaborare le asserzioni in chiaro.

Elimina le chiavi di crittografia della federazione delle identità per la forza lavoro

Per eliminare le chiavi di crittografia SAML, esegui questo comando:
  gcloud iam workforce-pools providers keys delete KEY_ID \
      --workforce-pool WORKFORCE_POOL_ID \
      --provider PROVIDER_ID \
      --location global

Sostituisci quanto segue:

  • KEY_ID: nome della chiave
  • WORKFORCE_POOL_ID: l'ID pool
  • PROVIDER_ID: ID provider

Algoritmi di crittografia SAML supportati

La federazione delle identità per la forza lavoro supporta i seguenti algoritmi di trasporto principali:

La federazione delle identità per la forza lavoro supporta i seguenti algoritmi di crittografia dei blocchi:

Gestire l'accesso alle risorse Google Cloud

Questa sezione fornisce un esempio che mostra come gestire l'accesso a Risorse Google Cloud per utenti della federazione delle identità per la forza lavoro.

In questo esempio, concedi un ruolo IAM (Identity and Access Management) a un progetto di esempio. Gli utenti possono quindi accedere e utilizzare questo progetto per accedere ai prodotti Google Cloud.

Puoi gestire i ruoli IAM per singole identità, un gruppo di identità o un intero pool. Per ulteriori informazioni, consulta Rappresentare gli utenti del pool di identità per la forza lavoro nei criteri IAM.

Per identità singola

Per concedere il ruolo Amministratore archiviazione (roles/storage.admin) a una singola identità per il progetto TEST_PROJECT_ID, esegui il seguente comando:

gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
    --role="roles/storage.admin" \
    --member="principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/SUBJECT_VALUE"

Sostituisci quanto segue:

  • TEST_PROJECT_ID: l'ID del progetto
  • WORKFORCE_POOL_ID: ID pool di identità della forza lavoro
  • SUBJECT_VALUE: l'identità utente

Utilizzo dell'attributo di reparto mappato

Per concedere il ruolo Amministratore Storage (roles/storage.admin) a tutte le identità all'interno di un reparto specifico per il progetto TEST_PROJECT_ID, esegui il seguente comando:

gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
    --role="roles/storage.admin" \
    --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/attribute.department/DEPARTMENT_VALUE"

Sostituisci quanto segue:

  • TEST_PROJECT_ID: ID del progetto
  • WORKFORCE_POOL_ID: l'identità della forza lavoro ID pool
  • DEPARTMENT_VALUE: il valore mappato Valore attribute.department

Utilizzo di gruppi mappati

Per concedere il ruolo Amministratore Storage (roles/storage.admin) a tutte le identità all'interno del gruppo GROUP_ID per il progetto TEST_PROJECT_ID, esegui questo comando:

gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
    --role="roles/storage.admin" \
    --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"

Sostituisci quanto segue:

  • TEST_PROJECT_ID: ID del progetto
  • WORKFORCE_POOL_ID: l'identità della forza lavoro ID pool
  • GROUP_ID: un gruppo nell'affermazionegoogle.groups mappata.

Accedi e testa l'accesso

In questa sezione, accedi come utente del pool di identità della forza lavoro e verifica di avere accesso a un prodotto Google Cloud.

Accedi

Questa sezione mostra come accedere come utente federato e accedere alle risorse di Google Cloud.

Accesso alla console (federato)

Per accedere alla console Workforce Identity Federation di Google Cloud, nota anche come console (federata), segui questi passaggi:

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

    Vai alla console (in federazione)

  2. Inserisci il nome del fornitore, che ha il seguente formato:
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    1. Se richiesto, inserisci le credenziali utente in Microsoft Entra ID.

Accesso basato su browser gcloud CLI

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. Facoltativamente, puoi attivare il file come predefinito per gcloud CLI utilizzando il flag --activate.

gcloud iam workforce-pools create-login-config \
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID \
    --output-file=LOGIN_CONFIG_FILE

Sostituisci quanto segue:

  • WORKFORCE_POOL_ID: l'ID pool di forza lavoro
  • PROVIDER_ID: l'ID provider
  • LOGIN_CONFIG_FILE: un percorso al file di configurazione specificato, ad esempio login.json

Il file contiene gli endpoint utilizzati da gcloud CLI per attivare il flusso di autenticazione basato su browser e impostare il pubblico sul che hai creato in precedenza in questa guida. 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/PROVIDER_ID",
  "auth_url": "https://auth.cloud.google/authorize",
  "token_url": "https://sts.googleapis.com/v1/oauthtoken",
  "token_info_url": "https://sts.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 hai attivato il file di configurazione gcloud config set auth/LOGIN_CONFIG_FILE, gcloud CLI utilizza automaticamente il file di configurazione:

    gcloud auth login
  • Per accedere specificando la posizione del file di configurazione, esegui il seguente comando:

    gcloud auth login --login-config=LOGIN_CONFIG_FILE
  • 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 non utilizzare più il file di configurazione dell'accesso, segui questi passaggi:

  • Se hai utilizzato il flag --activate quando hai creato il file di configurazione o se hai attivato il file di configurazione gcloud config set auth/LOGIN_CONFIG_FILE, devi eseguire quanto segue per annullare l'impostazione:

    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 app 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 del servizio di configurazione simile a quello seguente tramite esegui questo comando:

    gcloud iam workforce-pools create-cred-config \
        locations/global/workforcePools/WORKFORCE_POOL_ID/providers/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 forza lavoro.
    • PROVIDER_ID: l'ID provider.
    • PATH_TO_OIDC_ID_TOKEN: il percorso del file posizione in cui è archiviato il token 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, viene creato il seguente file di configurazione ID Microsoft Entra:

    {
      "type": "external_account",
      "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/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 questo 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.

    gcloud CLI pubblica in modo trasparente le tue credenziali Endpoint del servizio token di sicurezza. Nell'endpoint, viene scambiato di accesso temporaneo a Google Cloud.

    Ora puoi eseguire i comandi della gcloud CLI in Google Cloud.

SAML

  1. Accedi con un utente all'app 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. Genera un file di configurazione come indicato di seguito. Esegui questo 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'identità della forza lavoro l'ID provider di pool che hai creato in precedenza in questa guida
    • WORKFORCE_POOL_ID: l'ID pool di identità della forza lavoro 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 utilizzando lo scambio di token, esegui questo comando:

    gcloud auth login --cred-file=config.json
    

    gcloud scambia quindi in modo trasparente le tue credenziali Microsoft Entra ID con token di accesso temporanei di Google Cloud, consentendoti di effettuare altre chiamate gcloud 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 visualizzare l'elenco degli account con credenziali e del tuo account attivo, esegui questo comando:

    gcloud auth list
    

Testa l'accesso

Ora hai accesso ai servizi Google Cloud che supportano Federazione delle identità per la forza lavoro e a cui ti è concesso l'accesso. In precedenza In questa guida, hai concesso il ruolo Amministratore Storage a tutte le identità in reparto specifico per il progetto TEST_PROJECT_ID. Ora puoi verificare di disporre dell'accesso elencando i bucket Cloud Storage.

Console (federata)

Ora puoi eseguire i comandi gcloud CLI in Google Cloud.

  • Vai alla pagina Cloud Storage.
  • Verifica di poter vedere l'elenco dei bucket esistenti per TEST_PROJECT_ID.

Interfaccia a riga di comando gcloud

per elencare i bucket e gli oggetti Cloud Storage per il progetto. esegui questo comando:

gcloud storage ls --project="TEST_PROJECT_ID"

L'entità deve disporre dell'autorizzazione serviceusage.services.use nella progetto specificato.

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, ad esempio nel tuo provider di identità, devi eliminare esplicitamente anche 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. Il motivo è che l'eliminazione di metadati e risorse dell'utente richiede una operativa. Dopo aver avviato l'eliminazione dell'identità di un utente, i processi che l'utente, avviato prima dell'eliminazione, può continuare a essere eseguito finché i processi sono stati completati o sono stati annullati.

Passaggi successivi