Configura la federazione delle identità della forza lavoro con Okta e fai accedere gli utenti

Questa guida mostra come configurare la federazione delle identità per la forza lavoro utilizzando Okta come provider di identità (IdP), gestire l'accesso e consentire agli utenti di accedere ai serviziGoogle Cloud che supportano la federazione delle identità per la forza lavoro.

Prima di iniziare

  1. Assicurati di aver configurato un'organizzazione Google Cloud .
  2. Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:

    gcloud init

    Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  3. 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.
  4. Per ricevere informazioni importanti sulle modifiche alla tua organizzazione o ai prodottiGoogle Cloud , devi fornire i Contatti fondamentali. Per saperne di più, consulta la panoramica della federazione delle identità per la forza lavoro.

Costi

La federazione delle identità per la forza lavoro è disponibile come funzionalità senza costi. Tuttavia, l'audit logging dettagliato della federazione delle identità per la forza lavoro utilizza Cloud Logging. Per informazioni sui prezzi di Logging, consulta Prezzi di Google Cloud Observability.

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 IAM Workforce Pool Admin (roles/iam.workforcePoolAdmin) nell'organizzazione. Per saperne di più sulla concessione dei ruoli, consulta Gestisci 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, anche il ruolo di base Proprietario IAM (roles/owner) include le autorizzazioni per configurare la federazione delle identità per la forza lavoro. Non devi concedere ruoli di base in un ambiente di produzione, ma puoi concederli in un ambiente di sviluppo o test.

Crea un pool di identità per la forza lavoro

gcloud

Per creare il pool di identità per la 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 per rappresentare il tuo Google Cloud pool di forza lavoro. L'ID pool deve essere univoco a livello globale in tutti i pool di identità della forza lavoro in Google Cloud. Per informazioni sulla formattazione dell'ID, consulta la sezione Parametri di query nella documentazione dell'API.
  • ORGANIZATION_ID: l'ID organizzazione numerico della tua organizzazione Google Cloud per il pool di identità della forza lavoro. I pool di identità della forza lavoro sono disponibili in tutti i progetti e le cartelle dell'organizzazione.
  • DISPLAY_NAME: (Facoltativo) Un nome visualizzato per il pool di identità della forza lavoro.
  • DESCRIPTION: (Facoltativo) La descrizione di un pool di identità della forza lavoro.
  • SESSION_DURATION: (Facoltativo) La durata della sessione, espressa come numero a cui è stato aggiunto s, ad esempio 3600s. La durata della sessione determina per quanto tempo sono validi i token di accesso Google Cloud , le sessioni di accesso alla console (federata) e le sessioni di accesso a gcloud CLI di questo pool di forza lavoro. La durata della sessione è impostata su un'ora (3600 secondi) per impostazione predefinita. Il valore della durata della sessione deve essere compreso tra 15 minuti (900 secondi) e 12 ore (43.200 secondi).

Console

Per creare il pool di identità della forza lavoro:

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

    Vai a Pool di identità per la forza lavoro

  2. Seleziona l'organizzazione per il pool di identità della forza lavoro. I pool di identità della forza lavoro 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 viene visualizzato sotto il 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. Per creare il pool di identità per la forza lavoro, fai clic su Avanti.

La durata della sessione del pool di identità della forza lavoro è di un'ora (3600 secondi) per impostazione predefinita. La durata della sessione determina per quanto tempo sono validi i token di accesso Google Cloud , la console (federata) e le sessioni di accesso di gcloud CLI di questo pool di forza lavoro. Dopo aver creato il pool, puoi aggiornarlo per impostare una durata della sessione personalizzata. La durata della sessione deve essere compresa tra 15 minuti (900 secondi) e 12 ore (43.200 secondi).

Crea un'integrazione di app Okta

Questa sezione fornisce i passaggi per creare un'integrazione di app Okta utilizzando la console di amministrazione Okta. Per ulteriori dettagli, consulta Creare integrazioni di app personalizzate.

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

Per maggiori dettagli, consulta la documentazione sull'integrazione per OIDC e SAML. La configurazione di base è descritta in questa sezione.

OIDC tramite il catalogo delle app

Per creare un'integrazione di app Okta dal catalogo delle app utilizzando il protocollo OIDC, segui questi passaggi:

  1. Accedi alla console di amministrazione Okta.
  2. Vai ad Applications (Applicazioni) > Applications (Applicazioni).
  3. Fai clic su Sfoglia catalogo app.
  4. Nel campo Cerca, inserisci Google Cloud Workforce Identity Federation, quindi seleziona Integrazione di Google Cloud Workforce Identity Federation dai risultati.
  5. Fai clic su Aggiungi integrazione.
  6. Nel campo Etichetta applicazione, inserisci un nome per l'app.
  7. Nel campo Pool di forza lavoro, inserisci il nome del pool di forza lavoro ottenuto da gcloud CLI.
  8. Nel campo Provider, inserisci un nome per il provider.

  9. Fai clic su Avanti.

  10. Seleziona l'opzione OpenID Connect.

  11. Fai clic su Fine.

OIDC

Per creare un'integrazione di app Okta che utilizza il protocollo OIDC, segui questi passaggi:

  1. Accedi alla Console di amministrazione Okta.
  2. Vai ad Applicazioni > Applicazioni.
  3. Per iniziare a configurare l'integrazione dell'app:

    1. Fai clic su Crea integrazione app.
    2. In Sign-in method (Metodo di accesso), seleziona OIDC - OpenID Connect.
    3. In Tipo di applicazione, seleziona un tipo di applicazione, ad esempio Applicazione web.
    4. Per creare l'app, fai clic su Avanti.
    5. In Nome integrazione app, inserisci un nome per l'app.
    6. Nella sezione Grant type, seleziona la casella di controllo Implicit (hybrid).
    7. Nella sezione URI di reindirizzamento per l'accesso, inserisci un URL di reindirizzamento nel campo di testo. I tuoi utenti vengono reindirizzati a questo URL dopo aver eseguito l'accesso. Se stai configurando l'accesso alla console (federata), utilizza il seguente formato 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 forza lavoro che hai creato in precedenza in questa guida.
      • WORKFORCE_PROVIDER_ID: un ID provider di identità della forza lavoro a tua scelta, ad esempio: okta-oidc-provider. Per informazioni sulla formattazione dell'ID, consulta la sezione Parametri di query nella documentazione dell'API.
    8. Seleziona la casella di controllo Salta assegnazione dei gruppi per ora.

    9. Per salvare l'integrazione dell'app, fai clic su Salva.

  4. Assegna un'integrazione app a un utente.

  5. (Facoltativo) Per aggiungere attributi personalizzati per un profilo utente Okta, segui questi passaggi:

    1. In Tipo di dati, seleziona string.
    2. In Nome visualizzato, inserisci Department.
    3. In Nome variabile, inserisci department.
    4. Per salvare la mappatura, fai clic su Salva.

    Per scoprire di più sull'aggiunta di attributi personalizzati, consulta Aggiungere attributi personalizzati a un profilo utente Okta.

  6. (Facoltativo) Per creare mappature per gli attributi inviati nel token OIDC, in Directory, fai clic su Profile Editor (Editor profili) e segui questi passaggi:

    1. Trova l'applicazione OIDC che hai creato in precedenza in questa guida.
    2. Fai clic su Mappings (Mappature).
    3. Seleziona la scheda Utente Okta ad app.
    4. Nella scheda Okta User User Profile, in una casella combinata disponibile, inserisci department. Okta viene completato automaticamente in user.department.
    5. Per salvare le mappature, fai clic su Salva mappature. Per maggiori dettagli, consulta Aggiungi mappatura degli attributi.

    Per saperne di più sui mapping, consulta Mappare gli attributi Okta agli attributi dell'app nell'editor di profili.

  7. (Facoltativo) Per configurare un'attestazione dei gruppi:

    1. Se utilizzi un server di autorizzazione dell'organizzazione, segui questi passaggi:

      1. Vai ad Applications (Applicazioni) > Applications (Applicazioni)
      2. Seleziona l'applicazione client OpenID Connect che hai creato in precedenza in questa sezione.
      3. Vai alla scheda Sign On (Accesso).
      4. Nella sezione OpenID Connect ID Token (Token ID OpenID Connect), fai clic su Edit (Modifica).
      5. Nella sezione Tipo di rivendicazione dei gruppi, puoi selezionare una delle seguenti opzioni:
        • Seleziona Espressione.
        • Seleziona Corrisponde alle espressioni regolari e inserisci .*.
      6. Per salvare l'attestazione dei gruppi, fai clic su Salva.
      7. Se vuoi che gli utenti accedano utilizzando la console (federata) o il flusso di accesso basato su browser di gcloud CLI, segui questi passaggi quando crei il provider del pool di identità per la forza lavoro, più avanti in questo documento:

        1. Assicurati di utilizzare le istruzioni di gcloud CLI in modo da poter utilizzare il flag --web-sso-additional-scopes.

        2. Quando crei il provider del pool di identità per la forza lavoro, trasmetti groups come ambito aggiuntivo in --web-sso-additional-scopes. In questo modo, durante l'accesso viene richiesta l'attestazione dei gruppi da Okta.

    2. Se utilizzi un server di autorizzazione personalizzato:

      1. Nella Console di amministrazione, seleziona API dal menu Sicurezza.
      2. Seleziona il server di autorizzazione personalizzato che vuoi configurare.
      3. Vai alla scheda Rivendicazioni e fai clic su Aggiungi rivendicazione.
      4. Inserisci un nome per la richiesta. Per questo esempio, assegna il nome groups.
      5. Nella tua rivendicazione, in Includi nel tipo di token, seleziona Token ID e Sempre.
      6. Seleziona Gruppi come Tipo di valore.
      7. Nella casella a discesa Filtro, seleziona Corrisponde alla regex, quindi inserisci la seguente espressione come Valore: .*
      8. Fai clic su Crea.

Per maggiori dettagli sulle attestazioni dei gruppi, consulta Aggiungi un'attestazione dei gruppi.

SAML

Per creare un'integrazione di app Okta che utilizza il protocollo SAML, segui questi passaggi:

  1. Accedi alla console di amministrazione Okta.
  2. Vai ad Applications (Applicazioni) > Applications (Applicazioni).
  3. Fai clic su Sfoglia catalogo app.
  4. Nel campo Cerca, inserisci Google Cloud Workforce Identity Federation, quindi seleziona Integrazione di Google Cloud Workforce Identity Federation dai risultati.
  5. Fai clic su Aggiungi integrazione.
  6. Nel campo Etichetta applicazione, inserisci un nome per l'app.
  7. Nel campo Pool di forza lavoro, inserisci il nome del pool di forza lavoro ottenuto da gcloud CLI.
  8. Nel campo Provider, inserisci un nome per il provider.

  9. Fai clic su Avanti.

  10. (Facoltativo) Per accedere all'applicazione tramite un flusso di accesso avviato da IdP utilizzando Incorpora link, inserisci https://console.cloud.google/ in Default Relay State.

  11. (Facoltativo) Per inviare l'attributo department personalizzato nell'asserzione SAML, espandi la sezione Attributi (facoltativo) e segui questi passaggi:

    • Nel campo Nome, inserisci department.
    • Nell'elenco Formato nome, seleziona Non specificato.
    • Dall'elenco Valore, seleziona user.department. Dopo la configurazione, questi attributi possono essere utilizzati in Google Cloud per creare policy di gestione dell'accesso o nell'attribute_condition.
  12. (Facoltativo) Per inviare le iscrizioni ai gruppi di utenti nell'asserzione SAML, espandi la sezione Group Attribute Statements (optional) (Istruzioni sugli attributi di gruppo (facoltativo)) e segui questi passaggi:

    • Nel campo Nome, inserisci groups.
    • Nell'elenco Formato nome, seleziona Non specificato.
    • Nell'elenco Filtro, seleziona Corrisponde all'espressione regolare e inserisci .* per includere tutti i gruppi oppure seleziona Inizia con e inserisci un prefisso.
  13. Scarica i contenuti dall'URL dei metadati visualizzato in un file locale. Lo caricherai nella console Google Cloud .

  14. Fai clic su Fine per completare la creazione dell'applicazione.

  15. Assegna un'integrazione di app a un utente.

Crea un provider di pool di identità per la forza lavoro

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 di pool di identità per la forza lavoro OIDC

Per creare un provider di pool di identità per la forza lavoro per l'integrazione dell'app Okta, utilizzando il protocollo OIDC, segui questi passaggi:

  1. Per ottenere l'ID client per l'integrazione dell'app Okta:

    1. Vai all'integrazione dell'app Okta.
    2. Fai clic sulla scheda Generale.
    3. Copia i contenuti del campo Client ID (ID client).
  2. Per creare un provider di pool di identità della forza lavoro OIDC per l'accesso basato sul web, segui questi passaggi:

    gcloud

    Flusso codice

    In Okta, segui questi passaggi:

    1. In Client authentication (Autenticazione client), seleziona Client secret.

    2. Nella tabella Client secret, individua il secret e fai clic su Copia.

    In Google Cloud, per creare un provider OIDC che utilizzi il flusso del codice di autorizzazione per l'accesso web, esegui questo comando:

    gcloud iam workforce-pools providers create-oidc WORKFORCE_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" \
    --vendor-type="okta" \ --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" \ --detailed-audit-logging \ --location=global

    Sostituisci quanto segue:

    • WORKFORCE_PROVIDER_ID: un ID provider del pool di identità della forza lavoro univoco. Il prefisso gcp- è riservato e non può essere utilizzato in un ID pool di identità della forza lavoro o in un ID provider di pool di identità della forza lavoro.
    • WORKFORCE_POOL_ID: l'ID del pool di identità della forza lavoro a cui connettere l'IdP.
    • DISPLAY_NAME: un nome visualizzato opzionale e facile da usare per il provider, ad esempio idp-eu-employees.
    • DESCRIPTION: una descrizione facoltativa del fornitore di forza lavoro, ad esempio IdP for Partner Example Organization employees.
    • ISSUER_URI: l'URI dell'emittente OIDC, in un formato 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 all'attestazione aud del JWT emesso dal tuo IdP.
    • OIDC_CLIENT_SECRET: il client secret OIDC.
    • WEB_SSO_ADDITIONAL_SCOPES: ambiti aggiuntivi facoltativi da inviare all'IdP OIDC per l'accesso alla console (federato) o basato su browser di gcloud CLI; ad esempio, groups per richiedere l'attestazione dei gruppi da Okta se utilizzi il server di autorizzazione dell'organizzazione di Okta.
    • ATTRIBUTE_MAPPING: una mappatura degli attributi. Di seguito è riportato un esempio di mappatura degli attributi:
      google.subject=assertion.oid
      google.groups=assertion.groups,
      attribute.costcenter=assertion.costcenter
      Questo esempio mappa gli attributi IdP assertion.oid, assertion.groups e assertion.costcenter nell'asserzione OIDC agli attributi Google Cloud google.subject, google.groups e attribute.costcenter, rispettivamente.
    • ATTRIBUTE_CONDITION: una condizione dell'attributo; ad esempio, assertion.subject.endsWith('@example.com') quando il valore di subject mappato in precedenza contiene un indirizzo email che termina con @example.com.
    • JWK_JSON_PATH: un percorso facoltativo per un JWK OIDC caricato localmente. Se questo parametro non viene fornito, Google Cloud utilizza il percorso /.well-known/openid-configuration dell'IdP per recuperare i JWK contenenti le chiavi pubbliche. Per saperne di più sui JWK OIDC caricati localmente, consulta Gestisci i JWK OIDC.
    • L'audit logging dettagliato della federazione delle identità per la forza lavoro registra le informazioni ricevute dall'IdP in Logging. L'audit logging dettagliato può aiutarti a risolvere i problemi di configurazione del provider del pool di identità della forza lavoro. Per scoprire come risolvere i problemi relativi agli errori di mappatura degli attributi con la registrazione dettagliata dei log di controllo, consulta Errori generali di mappatura degli attributi. Per informazioni sui prezzi di Logging, consulta Prezzi di Google Cloud Observability.

      Per disattivare l'audit logging dettagliato per un provider di pool di identità della forza lavoro, ometti il flag --detailed-audit-logging quando esegui gcloud iam workforce-pools providers create. Per disattivare il logging di controllo dettagliato, puoi anche aggiornare il fornitore.

    Il flag --web-sso-assertion-claims-behavior controlla il modo in cui le rivendicazioni OIDC vengono incluse nell'oggetto assertion utilizzato per le mappature degli attributi e le condizioni degli attributi. Per il flusso del codice di autorizzazione (--web-sso-response-type="code"), puoi impostare questo flag su uno dei seguenti valori:

    • merge-user-info-over-id-token-claims: unisce le rivendicazioni dell'endpoint OIDC UserInfo con le rivendicazioni del token ID. Se entrambi contengono lo stesso nome di rivendicazione, ha la precedenza il valore della rivendicazione UserInfo. Utilizza questo valore quando l'IdP restituisce attributi utente o attestazioni di gruppo aggiuntivi dall'endpoint UserInfo.
    • only-id-token-claims: include solo le rivendicazioni del token ID. Utilizza questo valore quando tutte le rivendicazioni richieste per le mappature degli attributi e le condizioni sono già presenti nel token ID.
    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 utilizza il flusso implicito per l'accesso web, esegui questo comando:

    gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \
        --workforce-pool=WORKFORCE_POOL_ID \
        --display-name="DISPLAY_NAME" \
        --description="DESCRIPTION" \
        --issuer-uri="ISSUER_URI" \
        --client-id="OIDC_CLIENT_ID" \
    --vendor-type="okta" \ --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" \ --detailed-audit-logging \ --location=global

    Sostituisci quanto segue:

    • WORKFORCE_PROVIDER_ID: un ID provider del pool di identità della forza lavoro univoco. Il prefisso gcp- è riservato e non può essere utilizzato in un ID pool di identità della forza lavoro o in un ID provider di pool di identità della forza lavoro.
    • WORKFORCE_POOL_ID: l'ID del pool di identità della forza lavoro a cui connettere l'IdP.
    • DISPLAY_NAME: un nome visualizzato opzionale e facile da usare per il provider, ad esempio idp-eu-employees.
    • DESCRIPTION: una descrizione facoltativa del fornitore di forza lavoro, ad esempio IdP for Partner Example Organization employees.
    • ISSUER_URI: l'URI dell'emittente OIDC, in un formato 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 all'attestazione aud del JWT emesso dal tuo IdP.
    • WEB_SSO_ADDITIONAL_SCOPES: ambiti aggiuntivi facoltativi da inviare all'IdP OIDC per l'accesso alla console (federato) o basato su browser di gcloud CLI; ad esempio, groups per richiedere l'attestazione dei gruppi da Okta se utilizzi il server di autorizzazione dell'organizzazione di Okta.
    • ATTRIBUTE_MAPPING: una mappatura degli attributi. Di seguito è riportato un esempio di mappatura degli attributi:
      google.subject=assertion.oid
      google.groups=assertion.groups,
      attribute.costcenter=assertion.costcenter
      Questo esempio mappa gli attributi IdP assertion.oid, assertion.groups e assertion.costcenter nell'asserzione OIDC agli attributi Google Cloud google.subject, google.groups e attribute.costcenter, rispettivamente.
    • ATTRIBUTE_CONDITION: una condizione dell'attributo; ad esempio, assertion.subject.endsWith('@example.com') quando il valore di subject mappato in precedenza contiene un indirizzo email che termina con @example.com.
    • JWK_JSON_PATH: un percorso facoltativo a un JWK OIDC caricato localmente. Se questo parametro non viene fornito, Google Cloud utilizza invece il percorso /.well-known/openid-configuration del tuo IdP per recuperare i JWK contenenti le chiavi pubbliche. Per saperne di più sui JWK OIDC caricati localmente, consulta Gestisci i JWK OIDC.
    • La registrazione dettagliata dei log di controllo della federazione delle identità per la forza lavoro registra le informazioni ricevute dal tuo IdP in Logging. La registrazione dettagliata degli audit può aiutarti a risolvere i problemi di configurazione del provider del pool di identità della forza lavoro. Per scoprire come risolvere i problemi relativi agli errori di mappatura degli attributi con la registrazione dettagliata dei log di controllo, consulta Errori generali di mappatura degli attributi. Per scoprire di più sui prezzi di Logging, consulta Prezzi di Google Cloud Observability.

      Per disattivare la registrazione di controllo dettagliata per un provider di pool di identità per la forza lavoro, ometti il flag --detailed-audit-logging quando esegui gcloud iam workforce-pools providers create. Per disattivare l'audit logging dettagliato, puoi anche aggiornare il provider.

    Per il flusso implicito (--web-sso-response-type="id-token"), devi impostare il flag --web-sso-assertion-claims-behavior su only-id-token-claims, che include solo le rivendicazioni del token ID nell'oggetto assertion. Il flusso implicito non supporta il valore merge-user-info-over-id-token-claims.

    Nella risposta al comando, POOL_RESOURCE_NAME è il nome del pool; ad esempio, locations/global/workforcePools/enterprise-example-organization-employees.

    Console

    Flusso codice

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

    1. Per ottenere il client secret di Okta:

      1. In Client authentication (Autenticazione client), seleziona Client secret.

      2. Nella tabella Client secret, individua il secret e fai clic su Copia.

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

      Vai a Pool di identità per la forza lavoro

    2. Nella tabella Pool di identità per la forza lavoro, seleziona il pool per cui vuoi creare il provider.
    3. Nella sezione Provider, fai clic su Aggiungi provider.
    4. Nell'elenco Seleziona un provider, seleziona il tuo IdP.

      Se il tuo IdP non è elencato, seleziona Provider di identità generico.

    5. In Seleziona un protocollo di autenticazione, seleziona OpenID Connect (OIDC).
    6. Nella sezione Crea un provider, segui questi passaggi:
      1. In Nome, inserisci il nome del provider.
      2. In Descrizione, inserisci la descrizione del provider.
      3. In 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.
      4. In ID client, inserisci l'ID client OIDC registrato con il tuo IdP OIDC; l'ID deve corrispondere alla rivendicazione aud del JWT emesso dal tuo IdP.
      5. Per creare un provider abilitato, assicurati che l'opzione Abilita provider sia attiva.
      6. Fai clic su Continua.
    7. Nella sezione Condividi le informazioni del tuo provider con l'IdP, copia l'URL. Nell'IdP, configura questo URL come URI di reindirizzamento, che indica all'IdP dove inviare il token di asserzione dopo l'accesso.
    8. Fai clic su Continua.
    9. Nella sezione Configura l'accesso web OIDC, segui questi passaggi:
      1. Nell'elenco Tipo di flusso, seleziona Codice.
      2. Nell'elenco Comportamento delle rivendicazioni di asserzione, seleziona una delle seguenti opzioni:
        • Informazioni utente e token ID: unisce le attestazioni dell'endpoint UserInfo con quelle del token ID, preferendo i valori delle attestazioni UserInfo per lo stesso nome di attestazione. Seleziona questa opzione quando l'IdP restituisce attributi utente o attestazioni di gruppo aggiuntivi dall'endpoint UserInfo.
        • Solo token ID: include solo le rivendicazioni del token ID. Seleziona questa opzione quando tutte le rivendicazioni richieste per le mappature e le condizioni degli attributi sono già presenti nel token ID.
      3. Nel campo Client secret, inserisci il client secret del tuo IdP.
      4. (Facoltativo) Se hai selezionato Okta come IdP, aggiungi eventuali ambiti OIDC aggiuntivi nel campo Ambiti aggiuntivi oltre a openid, profile ed email.
    10. Fai clic su Continua.
    11. Nella sezione Configura provider, per Logging dettagliato, fai clic sul pulsante di attivazione/disattivazione Abilita l'audit logging dei valori degli attributi.

      L'audit logging dettagliato della federazione delle identità per la forza lavoro registra le informazioni ricevute dall'IdP in Logging. L'audit logging dettagliato può aiutarti a risolvere i problemi di configurazione del provider del pool di identità della forza lavoro. Per scoprire come risolvere i problemi relativi agli errori di mappatura degli attributi con la registrazione dettagliata dei log di controllo, consulta Errori generali di mappatura degli attributi. Per informazioni sui prezzi di Logging, consulta Prezzi di Google Cloud Observability.

      Per disattivare l'audit logging dettagliato per un provider di pool di identità per la forza lavoro, lascia disattivato il pulsante di attivazione/disattivazione Abilita l'audit logging dei valori degli attributi quando crei il provider. Per disattivare il logging di controllo dettagliato, puoi anche aggiornare il fornitore.

    12. Per creare il fornitore, fai clic su Invia.

    Una volta creato il fornitore, viene eseguito il reindirizzamento alla pagina degli attributi del fornitore.

    Per configurare le mappature e le condizioni degli attributi, segui questi passaggi:

    1. Quando richiesto, accedi all'IdP esterno per convalidare le mappature degli attributi predefinite.
    2. Nella pagina degli attributi del provider, visualizza e modifica le mappature e le condizioni degli attributi:
      1. Per aggiungere o modificare le mappature degli attributi:
        1. Fai clic su Aggiungi mappatura per aggiungere una nuova mappatura o modificare quelle esistenti.
        2. Nel campo Google n, dove n è un numero, seleziona una chiave supportata da Google Cloud.
        3. Nel campo OIDC n corrispondente, inserisci il nome dell'attributo IdP o un'espressione CEL.
      2. Per aggiungere una condizione di attributo, segui questi passaggi:
        1. Fai clic su Aggiungi condizione.
        2. Nel campo Condizioni attributo, inserisci una condizione in formato CEL, ad esempio assertion.subject.endsWith('@example.com') quando il valore di subject mappato in precedenza contiene un indirizzo email che termina con @example.com.
    3. Per convalidare le mappature, fai clic su Salva e recupera di nuovo il token.
    4. Per completare la configurazione, fai clic su Salva ed esci.

    Flusso implicito

    Per creare un provider OIDC che utilizza il flusso implicito per l'accesso web:

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

      Vai a Pool di identità per la forza lavoro

    2. Nella tabella Pool di identità per la forza lavoro, seleziona il pool per cui vuoi creare il provider.
    3. Nella sezione Provider, fai clic su Aggiungi provider.
    4. Nell'elenco Seleziona un provider, seleziona il tuo IdP.

      Se il tuo IdP non è elencato, seleziona Provider di identità generico.

    5. In Seleziona un protocollo di autenticazione, seleziona OpenID Connect (OIDC).
    6. Nella sezione Crea un provider, segui questi passaggi:
      1. In Nome, inserisci il nome del provider.
      2. In Descrizione, inserisci la descrizione del provider.
      3. In 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.
      4. In ID client, inserisci l'ID client OIDC registrato con il tuo IdP OIDC; l'ID deve corrispondere alla rivendicazione aud del JWT emesso dal tuo IdP.
      5. Per creare un provider abilitato, assicurati che l'opzione Abilita provider sia attiva.
      6. Fai clic su Continua.
    7. Nella sezione Condividi le informazioni del tuo provider con l'IdP, copia l'URL. Nel tuo IdP, configura questo URL come URI di reindirizzamento, che comunica all'IdP dove inviare il token di asserzione dopo l'accesso.
    8. Fai clic su Continua.
    9. Nella sezione Configura l'accesso web OIDC, segui questi passaggi:
      1. Nell'elenco Tipo di flusso, seleziona Token ID.
      2. Nell'elenco Comportamento delle rivendicazioni di asserzione, è selezionato Token ID.
      3. (Facoltativo) Se hai selezionato Okta come IdP, aggiungi eventuali ambiti OIDC aggiuntivi nel campo Ambiti aggiuntivi oltre a openid, profile ed email.
    10. Fai clic su Continua.
    11. Nella sezione Configura provider, in Logging dettagliato, fai clic sul pulsante di attivazione/disattivazione Abilita l'audit logging dei valori degli attributi.

      L'audit logging dettagliato della federazione delle identità per la forza lavoro registra le informazioni ricevute dall'IdP in Logging. La registrazione dettagliata degli audit può aiutarti a risolvere i problemi di configurazione del provider del pool di identità della forza lavoro. Per scoprire come risolvere i problemi relativi agli errori di mappatura degli attributi con la registrazione dettagliata dei log di controllo, consulta Errori generali di mappatura degli attributi. Per scoprire di più sui prezzi di Logging, consulta Prezzi di Google Cloud Observability.

      Per disattivare l'audit logging dettagliato per un provider di pool di identità per la forza lavoro, lascia disattivato il pulsante di attivazione/disattivazione Abilita l'audit logging dei valori degli attributi quando crei il provider. Per disattivare il logging di controllo dettagliato, puoi anche aggiornare il fornitore.

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

    Una volta creato il fornitore, viene eseguito il reindirizzamento alla pagina degli attributi del fornitore.

    Per configurare le mappature e le condizioni degli attributi, segui questi passaggi:

    1. Quando richiesto, accedi all'IdP esterno per convalidare le mappature degli attributi predefinite.
    2. Nella pagina degli attributi del provider, visualizza e modifica le mappature e le condizioni degli attributi:
      1. Per aggiungere o modificare le mappature degli attributi:
        1. Fai clic su Aggiungi mappatura per aggiungere una nuova mappatura o modifica le mappature esistenti.
        2. Nel campo Google n, dove n è un numero, seleziona una chiave supportata da Google Cloud.
        3. Nel campo OIDC n corrispondente, inserisci il nome dell'attributo IdP o un'espressione CEL.
      2. Per aggiungere una condizione di attributo, segui questi passaggi:
        1. Fai clic su Aggiungi condizione.
        2. Nel campo Condizioni attributo, inserisci una condizione in formato CEL; ad esempio, assertion.subject.endsWith('@example.com') quando il valore di subject mappato in precedenza contiene un indirizzo email che termina con @example.com.
    3. Per convalidare le mappature, fai clic su Salva e recupera di nuovo il token.
    4. Per completare la configurazione, fai clic su Salva ed esci.

Crea un provider di pool di identità per la forza lavoro SAML

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

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

    https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    
  3. Imposta l'URL di reindirizzamento, noto anche come URL Assertion Consumer Service (ACS). Per impostare l'URL di reindirizzamento, individua il campo dell'URL di reindirizzamento nell'IdP SAML ed esegui una delle seguenti operazioni:

    • Per configurare l'accesso basato sul browser tramite la console Google Cloud o un altro metodo di accesso basato sul browser, inserisci il seguente 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 del pool di identità della forza lavoro che crei più avanti in questo documento.

    • Per configurare l'accesso programmatico tramite l'IdP, inserisci il seguente URL:

      localhost
      

    Per maggiori dettagli sulla configurazione dell'accesso alla console, consulta Configura l'accesso degli utenti alla console.

  4. In Google Cloud, crea un provider di pool di identità della forza lavoro SAML utilizzando il documento dei metadati SAML del tuo 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.

gcloud

Per creare un provider di pool di identità per la forza lavoro per l'integrazione dell'app Okta, utilizzando il protocollo SAML, segui questi passaggi:

  1. Per salvare i metadati SAML per la tua app Okta:

    1. Vai all'app Okta.
    2. Fai clic sulla scheda Sign On (Accesso).
    3. Nella sezione Certificati di firma SAML, fai clic su Azioni > Visualizza metadati IdP per il certificato attivo.
    4. Nella nuova pagina visualizzata, copia i metadati XML.
    5. Salva i metadati come file XML locale.
  2. Per creare un provider della forza lavoro per la tua app Okta, esegui questo comando:

    gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
        --workforce-pool="WORKFORCE_POOL_ID" \
        --attribute-mapping="ATTRIBUTE_MAPPING" \
        --attribute-condition="ATTRIBUTE_CONDITION" \
        --vendor-type="okta" \
        --idp-metadata-path="XML_METADATA_PATH" \
        --detailed-audit-logging \
        --location="global"
    

    Sostituisci quanto segue:

    • WORKFORCE_PROVIDER_ID: l'ID del provider della 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.
    • ATTRIBUTE_MAPPING: una mappatura degli attributi, ad esempio:

      google.subject=assertion.subject,
      google.groups=assertion.attributes['groups'],
      attribute.department=assertion.attributes['department'][0]

    • ATTRIBUTE_CONDITION: una condizione dell'attributo facoltativa. Ad esempio, per limitare l'accesso agli utenti il cui indirizzo email termina con @example.com:

      assertion.subject.endsWith('@example.com')

    • XML_METADATA_PATH: il percorso del file di metadati in formato XML per l'app Okta che hai creato in precedenza in questa guida.

    Il prefisso gcp- è riservato e non può essere utilizzato in un pool di identità della forza lavoro o nell'ID provider di pool di identità della forza lavoro.

    • La registrazione dettagliata dei log di controllo della federazione delle identità per la forza lavoro registra le informazioni ricevute dal tuo IdP in Logging. L'audit logging dettagliato può aiutarti a risolvere i problemi di configurazione del provider del pool di identità della forza lavoro. Per scoprire come risolvere i problemi relativi agli errori di mappatura degli attributi con la registrazione dettagliata dei log di controllo, consulta Errori generali di mappatura degli attributi. Per scoprire di più sui prezzi di Logging, consulta Prezzi di Google Cloud Observability.

      Per disattivare la registrazione di controllo dettagliata per un provider di pool di identità per la forza lavoro, ometti il flag --detailed-audit-logging quando esegui gcloud iam workforce-pools providers create. Per disattivare l'audit logging dettagliato, puoi anche aggiornare il provider.

    (Facoltativo) Accetta le asserzioni SAML criptate dal tuo IdP

    Per consentire al tuo IdP SAML 2.0 di produrre asserzioni SAML criptate che possono essere accettate dalla federazione delle identità per la forza lavoro, procedi nel seguente modo:

    • Nella federazione delle identità per la forza lavoro, procedi nel seguente modo:
      • Crea una coppia di chiavi asimmetriche per il provider del pool di identità per la forza lavoro.
      • Scarica un file di certificato che contiene la chiave pubblica.
      • Configura il tuo IdP SAML in modo che utilizzi la chiave pubblica per criptare le asserzioni SAML che emette.
    • Nel tuo IdP:
      • Attiva la crittografia delle asserzioni, nota anche come crittografia dei token.
      • Carica la chiave pubblica che hai creato nella federazione delle identità per la forza lavoro.
      • Verifica che l'IdP produca asserzioni SAML criptate.
    Tieni presente che, anche con le chiavi del fornitore di crittografia SAML configurate, la federazione delle identità per la forza lavoro può comunque elaborare un'asserzione in testo non crittografato.

    Crea chiavi di crittografia dell'asserzione SAML per la federazione delle identità per la forza lavoro

    Questa sezione ti guida nella creazione di una coppia di chiavi asimmetriche che consente alla federazione delle identità per la forza lavoro di accettare asserzioni SAML criptate.

    Google Cloud utilizza la chiave privata per decriptare le asserzioni SAML emesse dal tuo 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 WORKFORCE_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 del pool
    • WORKFORCE_PROVIDER_ID: l'ID provider del pool di identità della forza lavoro
    • KEY_SPECIFICATION: la specifica della chiave, che può essere rsa-2048, rsa-3072 o rsa-4096.

    Dopo aver creato la coppia di chiavi, esegui il seguente comando per scaricare la chiave pubblica in un file di certificato. Solo la federazione delle identità per la forza lavoro ha accesso alla chiave privata.

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

    Sostituisci quanto segue:

    • KEY_ID: il nome della chiave
    • WORKFORCE_POOL_ID: l'ID del pool
    • WORKFORCE_PROVIDER_ID: l'ID provider del pool di identità della forza lavoro
    • CERTIFICATE_PATH: il percorso in cui scrivere il certificato, ad esempio saml-certificate.cer o saml-certificate.pem

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

    Per configurare Okta in modo da criptare le asserzioni SAML:

    • Vai alla dashboard di Okta e accedi.
    • Vai ad Applications (Applicazioni)>Applications (Applicazioni).
    • Fai clic sulla tua app.
    • Nella scheda General (Generale), nella sezione SAML Settings (Impostazioni SAML), fai clic su Edit (Modifica).
    • Fai clic su Avanti per visualizzare le impostazioni SAML.
    • Fai clic su Mostra impostazioni avanzate.
    • In SAML Settings (Impostazioni SAML), segui questi passaggi:
      • In Risposta (opzione preferita) o Firma dell'asserzione, seleziona Signed.
      • In Signature Algorithm (Algoritmo di firma) e Digest Algorithm (Algoritmo digest), seleziona un'opzione qualsiasi.
      • Imposta i seguenti valori:
        • Crittografia delle asserzioni:Criptato.
        • Algoritmo di crittografia:qualsiasi algoritmo tu scelga.
        • Certificato di crittografia:carica il file del certificato che hai generato in precedenza in questa guida.
    • Per salvare la configurazione, fai clic su Avanti e poi su Fine.

    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 testo non crittografato.

    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 WORKFORCE_PROVIDER_ID \
          --location global

    Sostituisci quanto segue:

    • KEY_ID: il nome della chiave
    • WORKFORCE_POOL_ID: l'ID del pool
    • WORKFORCE_PROVIDER_ID: l'ID provider del pool di identità della forza lavoro

    Algoritmi crittografici SAML supportati

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

    La federazione delle identità per la forza lavoro supporta i seguenti algoritmi crittografici a blocchi:

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à per la forza lavoro

  2. Nella tabella Pool di identità per la forza lavoro, seleziona il pool per cui vuoi creare il provider.
  3. Nella sezione Provider, fai clic su Aggiungi provider.
  4. Nell'elenco Seleziona un fornitore di provider, seleziona il tuo IdP.

    Se il tuo IdP non è elencato, seleziona Provider di identità generico.

  5. In Seleziona un protocollo di autenticazione, seleziona SAML.
  6. Nella sezione Crea un provider, segui questi passaggi:
    1. In Nome, inserisci un nome per il provider.
    2. (Facoltativo) In Descrizione, inserisci una descrizione del fornitore.
    3. In IDP metadata file (XML) (File di metadati IDP (XML)), seleziona il file XML dei metadati che hai generato in precedenza in questa guida.
    4. Per creare un provider abilitato, assicurati che l'opzione Abilita provider sia attiva.
    5. Fai clic su Continua.
  7. Nella sezione Condividi le informazioni del provider, copia gli URL. Nel tuo IdP, configura il primo URL come ID entità, che identifica la tua applicazione per l'IdP. Configura l'altro URL come URI di reindirizzamento, che indica all'IdP dove inviare il token di asserzione dopo l'accesso.
  8. Fai clic su Continua.
  9. Nella sezione Configura provider, in Logging dettagliato, fai clic sul pulsante di attivazione/disattivazione Abilita l'audit logging dei valori degli attributi.

    La registrazione dettagliata dei log di controllo della federazione delle identità per la forza lavoro registra le informazioni ricevute dal tuo IdP in Logging. L'audit logging dettagliato può aiutarti a risolvere i problemi di configurazione del provider del pool di identità della forza lavoro. Per scoprire come risolvere i problemi relativi agli errori di mappatura degli attributi con la registrazione dettagliata dei log di controllo, consulta Errori generali di mappatura degli attributi. Per scoprire di più sui prezzi di Logging, consulta Prezzi di Google Cloud Observability.

    Per disattivare l'audit logging dettagliato per un provider di pool di identità per la forza lavoro, lascia disattivato il pulsante di attivazione/disattivazione Abilita l'audit logging dei valori degli attributi quando crei il provider. Per disattivare l'audit logging dettagliato, puoi anche aggiornare il provider.

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

Una volta creato il fornitore, viene eseguito il reindirizzamento alla pagina degli attributi del fornitore.

Per configurare le mappature e le condizioni degli attributi:

  1. Quando richiesto, accedi all'IdP esterno per convalidare le mappature degli attributi predefinite.
  2. Nella pagina degli attributi del provider, visualizza e modifica le mappature e le condizioni degli attributi:
    1. Per aggiungere o modificare le mappature degli attributi:
      1. Fai clic su Aggiungi mappatura per aggiungere una nuova mappatura o modificare quelle esistenti.
      2. Nel campo Google n, dove n è un numero, seleziona una chiave Google Cloud supportata.
      3. Nel campo SAML n corrispondente, inserisci il nome dell'attributo IdP o un'espressione CEL, ad esempio:
        google.subject=assertion.subject,
        google.groups=assertion.attributes['groups'],
        attribute.department=assertion.attributes['department'][0]
    2. Per aggiungere una condizione di attributo, segui questi passaggi:
      1. Fai clic su Aggiungi condizione.
      2. Nel campo Condizioni degli attributi, inserisci una condizione in formato CEL, ad esempio: Ad esempio, per limitare l'accesso agli utenti il cui indirizzo email termina con @example.com:
        assertion.subject.endsWith('@example.com')
        .
  3. Per convalidare le mappature, fai clic su Salva e recupera di nuovo il token.
  4. Per completare la configurazione, fai clic su Salva ed esci.

Verifica la configurazione del provider

Prima di testare il flusso di accesso dell'utente finale, puoi verificare che la configurazione del provider sia corretta e che Google Cloud possa scambiare token con il tuo IdP.

La pagina Convalida gli attributi del provider nella console Google Cloud include un visualizzatore di attributi che ti consente di testare in modo interattivo la configurazione ed eseguire il debug delle espressioni Common Expression Language (CEL). Puoi utilizzare il visualizzatore degli attributi per:

  • Visualizza gli attributi non elaborati inviati nell'asserzione IdP.
  • Verifica che le mappature e le condizioni degli attributi trasformino correttamente questi attributi.
  • Esegui il debug di espressioni CEL complesse in tempo reale.

Per verificare la configurazione del provider, segui questi passaggi:

  1. Per attivare il flusso di accesso basato su browser per la federazione delle identità per la forza lavoro, aggiungi https://auth.cloud.google/signin-callback/locations/global/workforcePools/POOL_ID/providers/PROVIDER_ID all'elenco degli URI di reindirizzamento consentiti del tuo IdP.
  2. Nella console Google Cloud , vai a Pool di identità per la forza lavoro.

    Vai a Pool di identità per la forza lavoro
  3. Nell'elenco dei pool, fai clic sul nome del pool che vuoi verificare.
  4. Nella pagina Dettagli del pool di forza lavoro, fai clic sul nome dell'IdP che vuoi verificare.
  5. Nella pagina Dettagli del provider, fai clic su Debug token IdP.
  6. Nella finestra di dialogo Accedi, accedi al tuo IdP come utente di test.

La pagina Convalida gli attributi del provider mostra gli attributi mappati e il risultato della condizione dell'attributo.

La sezione Attributi mappati dal token IdP mostra come gli attributi Google, ad esempio google.subject, vengono compilati dal token dell'IdP in base alla configurazione della mappatura. Se un mapping non è corretto, viene visualizzata un'icona di errore.

La sezione Condizione attributo mostra il risultato booleano della condizione. Se la condizione restituisce false, l'accesso viene bloccato.

Per visualizzare il token di asserzione completo, fai clic su Visualizza token completo. Viene visualizzato l'oggetto JSON non elaborato del tuo IdP. Fai riferimento a una proprietà di primo livello nelle mappature utilizzando il formato assertion.PROPERTY_NAME.

Modifica la configurazione del provider

Per correggere eventuali errori, puoi modificare la configurazione:

  1. Nella pagina Convalida gli attributi del provider, fai clic su Modifica.
  2. Apporta le necessarie modifiche.
  3. Per avviare un nuovo test e visualizzare i risultati aggiornati, fai clic su Salva e recupera di nuovo il token.

Gestisci l'accesso alle risorse Google Cloud

Questa sezione fornisce un esempio che mostra come gestire l'accesso alle risorseGoogle Cloud da parte degli utenti della federazione delle identità per la forza lavoro.

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

Puoi gestire i ruoli IAM per singole identità, gruppi di identità o un intero pool. Per ulteriori informazioni, consulta Identificatori delle entità per la forza lavoro per le policy di autorizzazione.

Per una singola identità

Per concedere il ruolo Storage Admin (roles/storage.admin) a una singola identità per il progetto TEST_PROJECT_ID, esegui questo 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: ID del progetto
  • WORKFORCE_POOL_ID: l'ID del pool di identità della forza lavoro
  • SUBJECT_VALUE: l'identità utente

Utilizzo dell'attributo reparto mappato

Per concedere il ruolo Storage Admin (roles/storage.admin) a tutte le identità all'interno di un reparto specifico 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/attribute.department/DEPARTMENT_VALUE"

Sostituisci quanto segue:

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

Utilizzo dei gruppi mappati

Per concedere il ruolo Storage Admin (roles/storage.admin) a tutte le identità all'interno di un gruppo specifico 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'ID del pool di identità della forza lavoro
  • GROUP_ID: un gruppo nell'attestazione google.groups mappata.

Accedi e verifica l'accesso

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

Accedi

Questa sezione mostra come accedere come utente federato e accedere alle risorseGoogle Cloud .

Accesso basato sul browser gcloud CLI

Per accedere a gcloud CLI utilizzando un flusso di accesso basato sul browser, segui questi passaggi:

Crea un file di configurazione

Esegui questo comando per creare un file di configurazione di accesso:

Linux e macOS

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

Windows (PowerShell)

gcloud iam workforce-pools create-login-config `
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID `
    --output-file=LOGIN_CONFIG_PATH

Sostituisci quanto segue:

  • WORKFORCE_POOL_ID: l'ID del pool di federazione delle identità per la forza lavoro.
  • WORKFORCE_PROVIDER_ID: l'ID del provider di Federazione delle identità della forza lavoro.
  • LOGIN_CONFIG_PATH: il percorso in cui scrivere il file di configurazione di accesso. Ad esempio, login-config.json.

Il file di configurazione dell'accesso contiene gli endpoint utilizzati da gcloud CLI per attivare il flusso di autenticazione basato su browser e impostare il pubblico sull'IdP configurato nel provider del pool di identità per la forza lavoro. Il file non contiene informazioni riservate.

Il contenuto del file di configurazione di accesso è simile al seguente:

{
  "universe_domain": "googleapis.com",
  "universe_cloud_web_domain": "cloud.google",
  "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://sts.googleapis.com/v1/introspect"
}

Accedi utilizzando l'autenticazione basata su browser

Indica il file di configurazione di accesso con una variabile di ambiente, una proprietà nella configurazione gcloud CLI attiva o utilizzalo direttamente con il comando gcloud auth login:

Variabile di ambiente

Per utilizzare il file di configurazione di accesso con una variabile di ambiente, completa le seguenti istruzioni:

  1. Imposta la variabile di ambiente CLOUDSDK_AUTH_LOGIN_CONFIG_FILE sul percorso del file di configurazione di accesso.
  2. Esegui questo comando:

    gcloud auth login
  3. gcloud CLI fa riferimento alla variabile di ambiente per trovare il file di configurazione di accesso, quindi avvia la procedura di autenticazione. Segui il flusso basato su browser per autenticare e autorizzare gcloud CLI ad accedere alle risorse per tuo conto per i comandi futuri.

Per interrompere l'utilizzo del file di configurazione di accesso per i comandi gcloud auth login, cancella la variabile di ambiente CLOUDSDK_AUTH_LOGIN_CONFIG_FILE.

Configurazione di gcloud CLI

Per utilizzare il file di configurazione di accesso con una proprietà di configurazione di gcloud CLI, completa le seguenti istruzioni:

  1. Imposta la proprietà auth/login_config_file della configurazione gcloud CLI attiva sul percorso del file di configurazione di accesso con il seguente comando:

    gcloud config set auth/login_config_file LOGIN_CONFIG_PATH
  2. Esegui questo comando:

    gcloud auth login
  3. gcloud CLI fa riferimento alla proprietà di configurazione per trovare il file di configurazione di accesso, quindi avvia il processo di autenticazione. Segui il flusso basato su browser per autenticare e autorizzare gcloud CLI ad accedere alle risorse per tuo conto per i comandi futuri.

Per interrompere l'utilizzo del file di configurazione di accesso per i comandi gcloud auth login, annulla l'impostazione della proprietà con il seguente comando:

gcloud config unset auth/login_config_file

gcloud auth login

Per utilizzare il file di configurazione di accesso direttamente con il comando gcloud auth login, completa le seguenti istruzioni:

  • Se hai utilizzato il flag --activate durante la creazione del file di configurazione di accesso, esegui questo comando:

    gcloud auth login
  • Se non hai utilizzato il flag --activate durante la creazione del file di configurazione di accesso, esegui il seguente comando:

    Linux e macOS

    gcloud auth login \
        --login-config=LOGIN_CONFIG_PATH

    Windows (PowerShell)

    gcloud auth login `
        --login-config=LOGIN_CONFIG_PATH

    Sostituisci LOGIN_CONFIG_PATH con il percorso del file di configurazione di accesso.

Il comando gcloud auth login memorizza le credenziali di accesso nella tua home directory. L'entità autenticata diventa l'entità attiva nella configurazione dell'interfaccia alla gcloud CLI attiva. Se non vengono sostituite, gcloud CLI utilizza queste credenziali archiviate per accedere a Google Cloud.

Accesso headless a gcloud CLI

Per accedere a gcloud CLI utilizzando un flusso headless, segui questi passaggi:

OIDC

  1. Accedi con un utente alla tua app Okta e ottieni il token OIDC da Okta.

  2. Salva il token OIDC restituito da Okta in una posizione sicura sulla tua macchina locale.

  3. Per generare un file di configurazione come l'esempio più avanti in questo passaggio, 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: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 provider
  • PATH_TO_OIDC_TOKEN: il percorso del file delle credenziali del provider di identità OIDC
  • WORKFORCE_POOL_USER_PROJECT: il numero di progetto associato al progetto utente dei pool di forza lavoro

L'entità deve disporre dell'autorizzazione serviceusage.services.use per questo progetto.

Quando esegui il comando, viene generato un file di configurazione IdP OIDC formattato in modo 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: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_FILE"
  }
}

SAML

  1. Accedi come utente alla tua app Okta e ricevi la risposta SAML da Okta.

  2. Salva la risposta SAML restituita da Okta in una posizione sicura sul tuo computer locale, quindi memorizza il percorso nel seguente modo:

    SAML_ASSERTION_PATH=SAML_ASSERTION_PATH
    
  3. Per generare un file di configurazione, 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'ID fornitore della forza lavoro 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 asserzione 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"
    }
    

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 Okta con token di accesso temporaneiGoogle 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].

Per elencare gli account con credenziali e l'account attualmente attivo, esegui questo comando:

gcloud auth list

Accesso alla console (federato)

Per accedere alla console della federazione delle identità per la forza lavoro, Google Cloud nota anche come console (federata), segui questi passaggi:

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

    Vai alla console (federata)

  2. Inserisci il nome del provider, formattato come segue:
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    1. Se richiesto, inserisci le credenziali utente nell'integrazione dell'app Okta.

    Se avvii un accesso avviato da IdP, utilizza il seguente URL in SAML Settings (Impostazioni SAML) per il parametro nidificato Default RelayState (RelayState predefinito): https://console.cloud.google/.

Controlla l'accesso

Ora hai accesso ai servizi Google Cloud che supportano la federazione delle identità per la forza lavoro e per i quali ti è stato concesso l'accesso. In precedenza in questa guida, hai concesso il ruolo Storage Admin (roles/storage.admin) a tutte le identità all'interno di un reparto specifico per il progetto TEST_PROJECT_ID. Ora puoi verificare di avere accesso elencando i bucket Cloud Storage.

gcloud CLI

Per elencare i bucket Cloud Storage e gli oggetti per il progetto a cui hai accesso, esegui questo comando:

gcloud storage ls --project="TEST_PROJECT_ID"

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

Console (federata)

Per elencare i bucket Cloud Storage utilizzando la console (federata), segui questi passaggi:

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

Eliminare utenti

La federazione delle identità della forza lavoro crea metadati e risorse utente per le identità utente federate. Se scegli di eliminare gli utenti nel tuo IdP, devi eliminare esplicitamente anche queste risorse in Google Cloud. Per farlo, consulta Eliminare gli utenti della federazione delle identità per la forza lavoro e i relativi dati.

Per terminare immediatamente le sessioni attive di un utente, puoi revocarle. Per ulteriori informazioni, consulta Revocare le sessioni utente della federazione delle identità per la forza lavoro.

Potresti notare che le risorse continuano a essere associate a un utente eliminato. Questo perché l'eliminazione dei metadati e delle risorse utente richiede un'operazione a lunga esecuzione. 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 completamento o all'annullamento dei processi.

Passaggi successivi