Configurare la federazione delle identità per i carichi di lavoro con Active Directory

Questa guida descrive come utilizzare la federazione delle identità dei carichi di lavoro per consentire ai carichi di lavoro di utilizzare le credenziali di Active Directory per autenticarsi su Google Cloud.

Se esegui carichi di lavoro di Windows Server in un ambiente Active Directory, questi carichi di lavoro potrebbero avere accesso alle credenziali di Active Directory. Ad esempio:

  • Un servizio Windows potrebbe essere configurato per accedere come utente di dominio.
  • Un'applicazione IIS potrebbe essere configurata per essere eseguita come account di servizio gestito dal gruppo (gMSA).

Utilizzando la federazione delle identità per i carichi di lavoro in combinazione con Active Directory Federation Services (AD FS), puoi consentire a questi carichi di lavoro di scambiare le credenziali Kerberos di Active Directory con credenziali Google Cloud di breve durata. I carichi di lavoro possono utilizzare queste credenziali di breve durata per accedere alle API di Google Cloud.

Lo scambio delle credenziali Active Directory con le credenziali di breve durata di Google Cloud avviene concatenando due scambi di token:

  1. Un carico di lavoro utilizza OpenID Connect (OIDC), SAML-POST o WS-Trust per richiedere un token OIDC o un'affermazione SAML da AD FS. Per autenticarsi ad AD FS, il workload utilizza l'autenticazione Windows integrata (IWA) e le credenziali Active Directory esistenti.
  2. Il carico di lavoro utilizza quindi la federazione delle identità per i carichi di lavoro per scambiare il token OIDC o l'affermazione SAML con un token Security Token Service e, facoltativamente, per appropriarsi dell'identità di un account di servizio Google Cloud.

Questo documento mostra come automatizzare questa procedura in modo da non richiedere modifiche all'applicazione utilizzando Workload Authenticator per Windows.

Prepara AD FS

Dovrai seguire questa procedura soltanto una volta.

Seleziona un protocollo

Il modo in cui preparare AD FS dipende dal protocollo che vuoi utilizzare:

  • SAML: puoi consentire ai carichi di lavoro di utilizzare SAML o WS-Trust per ottenere asserzioni SAML.

    Per utilizzare SAML o WS-Trust, crea una parte attendibile in AD FS e configura un pool Workload Identity per attenderti delle asserzioni emesse per questa parte attendibile.

    Un carico di lavoro può utilizzare il proprio utente Active Directory per autenticarsi in AD FS utilizzando la specifica di associazione SAML-POST o WS-Trust. AD FS emette quindi un'affermazione SAML che contiene informazioni sull'utente Active Directory del carico di lavoro e informazioni aggiuntive come le iscrizioni ai gruppi.

    L'utilizzo di SAML o WS-Trust richiede AD FS 3.0, AD FS per Windows Server 2016 o una versione più recente di AD FS.

  • OIDC: puoi consentire ai carichi di lavoro di utilizzare OIDC per ottenere token OIDC.

    Per utilizzare OIDC, devi creare un client OIDC (applicazione nativa) e una risorsa OIDC (API web) in AD FS. Poi, configura un pool Workload Identity per considerare attendibili i token di accesso emessi per l'API web.

    Un carico di lavoro può utilizzare il proprio utente Active Directory e la concessione OAuth client_credentials per autenticarsi in AD FS. AD FS emette quindi un token di accesso, ma nessun token ID.

    Il token di accesso contiene informazioni sull'applicazione client OIDC, ma non include informazioni sull'utente Active Directory del carico di lavoro o sui relativi gruppi di appartenenza.

    Poiché i token di accesso non contengono informazioni sull'utente Active Directory, l'utilizzo di OIDC può essere meno flessibile rispetto all'utilizzo di SAML o WS-Trust.

    L'utilizzo di OIDC richiede AD FS per Windows Server 2016 o una versione più recente di AD FS.

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.

Prerequisiti di IWA

Questa sezione descrive i prerequisiti IWA necessari per utilizzare questa guida.

Se non hai mai utilizzato l'autenticazione IWA con AD FS, assicurati di soddisfare i seguenti prerequisiti:

Registra il workload

Per registrare il carico di lavoro in AD FS:

OIDC

Per consentire ai carichi di lavoro di utilizzare OIDC, devi avere due registrazioni dell'applicazione in AD FS:

  • Una registrazione dell'applicazione di tipo applicazione nativa o applicazione server.

  • Una registrazione dell'applicazione di tipo API web che corrisponde a un fornitore di pool di identità di carico di lavoro su Google Cloud.

Registrazione dell'applicazione client

Crea un'applicazione client che rappresenti il carico di lavoro. Se hai più carichi di lavoro che devono accedere a Google Cloud, potresti dover creare più applicazioni client.

Per registrare un'applicazione client in AD FS:

  1. Apri lo snap-in MMC di AD FS e vai a Gruppi di applicazioni.
  2. Fai clic su Aggiungi gruppo di applicazioni.
  3. Nella pagina Ti diamo il benvenuto:

    1. Nel campo di testo, inserisci un nome per il client.
    2. Seleziona Applicazione server.
    3. Fai clic su Avanti.
  4. Nella pagina Applicazione server, segui questi passaggi:

    1. Nel campo di testo text-field, inserisci un identificatore client (ID client) e un URI di reindirizzamento.

      Se prevedi di utilizzare solo il tipo di autorizzazione client_credentials, l'URI di reindirizzamento non verrà utilizzato e puoi utilizzare un URI come http://localhost/.

    2. Fai clic su Avanti.

  5. Nella pagina Configura le credenziali dell'applicazione, segui questi passaggi:

    1. Scegli la modalità di autenticazione del client. Per utilizzare l'autenticazione integrata di Windows, imposta Autenticazione integrata di Windows su Attivata.
    2. Seleziona l'utente di dominio con cui è configurata l'esecuzione dell'applicazione.
    3. Fai clic su Avanti.
  6. Nella pagina Riepilogo, controlla le impostazioni e fai clic su Avanti.

  7. Fai clic su Chiudi per chiudere la finestra di dialogo.

Creazione di un'applicazione API web per il pool di identità del workload

Crea un'altra registrazione dell'applicazione di tipo API web. Questa applicazione corrisponde a un provider di pool di identità di carico di lavoro e la utilizzi per configurare una relazione di attendibilità con Google Cloud.

Per creare l'applicazione in AD FS:

  1. Apri lo snap-in MMC di AD FS e vai a Gruppi di applicazioni.
  2. Fai clic su Aggiungi gruppo di applicazioni.
  3. Nella pagina di benvenuto, inserisci un nome, ad esempio Workload Identity Federation (test environment), e seleziona API web. Fai quindi clic su Avanti.
  4. Nella pagina Configura API web, inserisci un identificatore della terza parte di destinazione per l'API web.

    Anziché definire un identificatore della terza parte attendibile personalizzato, puoi utilizzare il seguente URI come identificatore della terza parte attendibile:

    https://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/WORKLOAD_POOL_ID/providers/WORKLOAD_PROVIDER_ID
    

    Sostituisci quanto segue:

    • PROJECT_NUMBER: il numero di progetto del progetto Google Cloud che utilizzi per creare il pool di identità di carico di lavoro.
    • WORKLOAD_POOL_ID: un ID a tua scelta che identifica il pool di identità del workload. Devi utilizzare lo stesso ID quando crei il pool di identità di carico di lavoro in un secondo momento.
    • WORKLOAD_PROVIDER_ID: un ID a tua scelta che identifica il fornitore del pool di identità del workload. Devi utilizzare lo stesso ID quando crei il provider del pool di identità di carico di lavoro in un secondo momento.

    La formattazione dell'URI in questo modo garantisce che l'identificatore della terza parte di cui ci si serve identifichi in modo univoco un fornitore del pool di identità per i carichi di lavoro.

    L'identificatore della terza parte attendibile ti servirà in un secondo momento quando configurerai il fornitore del pool di identità del workload.

  5. Fai clic su Avanti.

  6. Nella pagina Applica controllo dell'accesso dell'accesso, seleziona un criterio di accesso appropriato, quindi fai clic su Avanti.

  7. Nella pagina Configura autorizzazioni applicazione, aggiungi l'applicazione client che hai creato in precedenza. Fai quindi clic su Avanti.

  8. Nella pagina Riepilogo, controlla le impostazioni e fai clic su Avanti.

  9. Fai clic su Chiudi per chiudere la finestra di dialogo.

SAML o WS-Trust

Crea un'attendibilità del componente in AD FS:

  1. Apri lo snap-in MMC di AD FS.
  2. Vai ad Componenti attendibili.
  3. Fai clic su Aggiungi attendibilità componente.
  4. Nella pagina Welcome (Ti diamo il benvenuto) della procedura guidata Aggiungi attendibilità componente, procedi nel seguente modo:
    1. Seleziona Conoscenza delle rivendicazioni.
    2. Fai clic su Avvia.
  5. Nella pagina Seleziona origine dati:
    1. Seleziona Inserisci manualmente i dati sulla terza parte.
    2. Fai clic su Avanti.
  6. Nella pagina Specifica il nome visualizzato, segui questi passaggi:

    1. Inserisci un nome per la attendibilità.
    2. Fai clic su Avanti.
  7. Nella pagina Configura certificato, fai clic su Avanti. Anche se la federazione delle identità dei carichi di lavoro supporta SAML criptato, non è descritta in questa procedura. Per scoprire di più, consulta le istruzioni gcloud CLI in Creare il pool di identità e il provider più avanti in questa guida.

  8. Nella pagina Configura URL, segui questi passaggi:

    SAML

    Utilizza le seguenti impostazioni:

    • Imposta Attiva il supporto del protocollo WebSSO SAML 2.0 su Attivato
    • Nel campo Relying party SAML 2.0 SSO service URL (URL del servizio SSO SAML 2.0 della terza parte attendibile), inserisci il seguente URL:

      https://sts.googleapis.com/v1/token
      

    WS-Trust

    Mantieni le impostazioni predefinite

  9. Fai clic su Avanti.

  10. Nella pagina Configura identificatori, inserisci un identificatore della terza parte attendibile.

    Anziché definire un identificatore della terza parte attendibile personalizzato, puoi utilizzare il seguente URI come identificatore della terza parte attendibile:

    https://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/WORKLOAD_POOL_ID/providers/WORKLOAD_PROVIDER_ID
    

    Sostituisci quanto segue:

    • PROJECT_NUMBER: il numero di progetto del progetto Google Cloud che utilizzi per creare il pool di identità di carico di lavoro.
    • WORKLOAD_POOL_ID: un ID a tua scelta che identifica il pool di identità del workload. Devi utilizzare lo stesso ID quando crei il pool di identità di carico di lavoro in un secondo momento.
    • WORKLOAD_PROVIDER_ID: un ID a tua scelta che identifica il fornitore del pool di identità del workload. Devi utilizzare lo stesso ID quando crei il provider del pool di identità del carico di lavoro in un secondo momento.

    La formattazione dell'URI in questo modo garantisce che l'identificatore della terza parte di cui ci si serve identifichi in modo univoco un fornitore del pool di identità per i carichi di lavoro.

    L'identificatore della terza parte attendibile ti servirà in un secondo momento quando configurerai il fornitore del pool di identità del workload.

  11. Fai clic su Avanti.

  12. Nella pagina Scegli il controllo dell'accesso dell'accesso, seleziona un criterio di controllo dell'accesso appropriato, quindi fai clic su Avanti.

  13. Nella pagina Ready to add trust (È tutto pronto per aggiungere la relazione di attendibilità), controlla le impostazioni e fai clic su Avanti.

  14. Nella pagina Fine, fai clic su Chiudi per chiudere la finestra di dialogo.

Per essere compatibili con la federazione delle identità di lavoro, le asserzioni SAML devono contenere almeno una rivendicazione che identifichi in modo univoco l'utente Active Directory. In genere, per questo scopo viene utilizzato il claim Name ID, che corrisponde al valore dell'elemento NameID nell'asserzione SAML.

Per personalizzare l'insieme di rivendicazioni dell'affermazione SAML, devi modificare il criterio di emissione delle rivendicazioni della attendibilità della terza parte attendibile. Per modificare il criterio di emissione dei reclami:

  1. Nell'elenco delle attendibilità delle parti attendibili, seleziona quella che hai appena creato e fai clic su Modifica criteri di emissione dei reclami.
  2. Fai clic su Aggiungi regola.
  3. Nella pagina Scegli il tipo di regola della procedura guidata Aggiungi regola di attribuzione della trasformazione, procedi nel seguente modo:
    1. Seleziona Trasforma una rivendicazione in arrivo.
    2. Fai clic su Avanti.
  4. Nella pagina Configura regola di rivendicazione, configura le seguenti impostazioni:

    • Nome regola di rivendicazione: Name Identifier.
    • Tipo di rivendicazione in entrata: seleziona SID principale, UPN o un'altra rivendicazione per identificare in modo univoco il soggetto.
    • Tipo di rivendicazione in uscita: ID nome.
    • Formato ID nome in uscita: Non specificato.
  5. Seleziona Trasmetti tutti i valori della rivendicazione e fai clic su Fine.

  6. Se vuoi, configura regole aggiuntive per includere altri attributi nelle asserzioni SAML.

  7. Fai clic su OK per chiudere la finestra di dialogo delle norme relative all'emissione dei risarcimenti.

Configurare la federazione delle identità per i carichi di lavoro

Devi eseguire questa procedura una sola volta per ogni tenant Microsoft Entra ID o account AWS con cui vuoi eseguire la federazione. Puoi quindi utilizzare lo stesso provider e lo stesso pool di identità di carico di lavoro per più carichi di lavoro e in più progetti Google Cloud.

Per iniziare a configurare la federazione delle identità per i carichi di lavoro, segui questi passaggi:

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. È preferibile utilizzare un progetto dedicato per gestire i provider e i pool di identità per i carichi di lavoro.
  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the IAM, Resource Manager, Service Account Credentials, and Security Token Service APIs.

    Enable the APIs

Definire una mappatura degli attributi e una condizione

Le credenziali specifiche dell'ambiente del tuo workload AWS o Azure contengono diversi attributi e devi decidere quale utilizzare come identificatore soggetto (google.subject) in Google Cloud.

Se vuoi, puoi mappare altri attributi. Puoi quindi fare riferimento a questi attributi aggiuntivi quando concedi l'accesso alle risorse.

OIDC

Le mappature degli attributi possono utilizzare i claim incorporati nei token di accesso AD FS come attributi di origine.

Per autenticare un'applicazione, puoi utilizzare la seguente mappatura degli attributi:

google.subject=assertion.appid

Questa mappatura imposta google.subject sul valore dell'attributo appid, che contiene l'ID client dell'applicazione AD FS.

SAML o WS-Trust

Le mappature degli attributi possono utilizzare i claim incorporati nell'affermazione rilasciata da AD FS, come descritto in precedenza in questa guida.

Utilizza la seguente mappatura per consentire alla federazione di Workload Identity di utilizzare l'affermazione ID nome dell'affermazione SAML per identificare in modo univoco l'utente:

google.subject=assertion.subject

Se hai configurato il criterio di emissione dei claim in modo da includere altri claim nelle asserzioni SAML, puoi aggiungere altre mappature. Ad esempio:

google.groups=assertion.attributes['http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid']
attribute.userip=['http://schemas.microsoft.com/2014/09/requestcontext/claims/userip'][0]

Se vuoi, definisci una condizione dell'attributo. Le condizioni degli attributi sono espressioni CEL che possono controllare gli attributi di asserzione e gli attributi target. Se la condizione dell'attributo ha valore true per una determinata credenziale, la credenziale viene accettata. In caso contrario, le credenziali vengono rifiutate.

OIDC

Puoi utilizzare una condizione dell'attributo per limitare i client che possono utilizzare la federazione delle identità di lavoro per ottenere token Google Cloud di breve durata.

Ad esempio, la seguente condizione definisce che le applicazioni devono utilizzare IWA per autenticarsi in AD FS:

assertion.authmethod=='http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/windows'

Per controllare l'elenco di applicazioni che possono ottenere credenziali di breve durata per Google Cloud, non definire condizioni degli attributi. Utilizza invece le autorizzazioni client in AD FS per definire le applicazioni consentite.

SAML o WS-Trust

Puoi utilizzare una condizione dell'attributo per limitare gli utenti di Active Directory che possono utilizzare la federazione delle identità di lavoro per ottenere token Google Cloud di breve durata.

Ad esempio, la seguente condizione consente solo le asserzioni SAML che includono un determinato claim di appartenenza al gruppo:

"S-1-5-6" in google.groups

Crea il provider e il pool di identità del workload

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per configurare la federazione di Workload Identity, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:

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 configurare la federazione delle identità. Non dovresti concedere ruoli di base in un ambiente di produzione, ma puoi farlo in un ambiente di sviluppo o di test.

Console

  1. Nella console Google Cloud, vai alla pagina Nuovo provider e pool di carichi di lavoro.

    Vai a Nuovo provider e pool di workload

  2. In Crea un pool di identità, inserisci quanto segue:

    • Nome: il nome del pool. Il nome viene utilizzato anche come ID pool. Non potrai modificare l'ID pool in un secondo momento.
    • Descrizione: il testo che descrive lo scopo del pool.
  3. Fai clic su Continua.

  4. Configura le impostazioni del provider:

    OIDC

    • Seleziona un provider: OpenID Connect (OIDC).
    • Nome provider: il nome del provider. Il nome viene utilizzato anche come ID provider. Non potrai modificare l'ID fornitore in un secondo momento.
    • URL emittente: https://ADFS_DOMAIN/adfs dove ADFS_DOMAIN è il nome di dominio pubblico del server o della farm AD FS.

    SAML

    Per configurare la federazione delle identità di Workload da un IdP compatibile con SAML 2.0, puoi utilizzare le istruzioni gcloud CLI.

  5. Fai clic su Continua.

  6. In Configura attributi del provider, aggiungi le mappature degli attributi che hai identificato in precedenza.

  7. In Condizioni degli attributi, inserisci la condizione dell'attributo che hai identificato in precedenza. Lascia vuoto il campo se non hai una condizione dell'attributo.

  8. Fai clic su Salva per creare il pool di identità e il provider del workload.

gcloud

  1. Crea un nuovo pool di identità del workload:

    gcloud iam workload-identity-pools create WORKLOAD_POOL_ID \
        --location="global" \
        --description="DESCRIPTION" \
        --display-name="DISPLAY_NAME"
    

    Sostituisci quanto segue:

    • WORKLOAD_POOL_ID: ID univoco del pool.
    • DISPLAY_NAME: il nome del pool.
    • DESCRIPTION: descrizione del pool. Questa descrizione viene visualizzata quando si concede l'accesso alle identità dei pool.
  2. Aggiungi un provider del pool di identità del workload:

    OIDC

    gcloud iam workload-identity-pools providers create-oidc WORKLOAD_PROVIDER_ID \
        --location="global" \
        --workload-identity-pool="WORKLOAD_POOL_ID" \
        --issuer-uri="https://ADFS_DOMAIN/adfs" \
        --allowed-audiences="RELYING_PARTY_ID" \
        --attribute-mapping="MAPPINGS" \
        --attribute-condition="CONDITIONS"
    

    Sostituisci quanto segue:

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

    SAML o WS-Trust

    curl -O https://ADFS_DOMAIN/federationmetadata/2007-06/federationmetadata.xml
    
    gcloud iam workload-identity-pools providers create-saml WORKLOAD_PROVIDER_ID \
        --location="global" \
        --workload-identity-pool="POOL_ID" \
        --idp-metadata-path="federationmetadata.xml" \
        --attribute-mapping="MAPPINGS" \
        --attribute-condition="CONDITIONS"
    

    Sostituisci quanto segue:

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

    Esempio:

    gcloud iam workload-identity-pools providers create-saml example-provider \
        --location="global" \
        --workload-identity-pool="pool-1" \
        --idp-metadata-path="federationmetadata.xml" \
        --attribute-mapping=google.subject=assertion.subject"
    

    (Facoltativo) Accetta le asserzioni SAML criptate dal tuo IdP

    Per consentire al tuo provider di identità SAML 2.0 di produrre assertivi SAML criptati che possono essere accettati dalla federazione delle identità per i carichi di lavoro, svolgi i seguenti passaggi:

    • Nella federazione delle identità per i carichi di lavoro, segui questi passaggi:
      • Crea una coppia di chiavi asimmetriche per il provider del pool di identità del workload.
      • 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:
      • Attiva la crittografia delle asserzioni, nota anche come crittografia dei token.
      • Carica la chiave pubblica che hai creato nella federazione delle identità per i carichi di lavoro.
      • Verifica che il tuo IdP produca asserzioni SAML criptate.
    Tieni presente che, anche con le chiavi del provider di crittografia SAML configurate, la federazione delle identità per i carichi di lavoro può comunque elaborare un'affermazione in chiaro.

    Crea le chiavi di crittografia dell'affermazione SAML per la federazione delle identità per i carichi di lavoro

    Questa sezione descrive la procedura per creare una coppia di chiavi asimmetriche che consenta alla federazione delle identità per i carichi di lavoro di accettare asserzioni SAML criptate.

    Google Cloud utilizza la chiave privata per decriptare le asserzioni SAML emesse dall'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 workload-identity-pools providers keys create KEY_ID \
        --workload-identity-pool WORKLOAD_POOL_ID \
        --provider WORKLOAD_PROVIDER_ID \
        --location global \
        --use encryption \
        --spec KEY_SPECIFICATION

    Sostituisci quanto segue:

    • KEY_ID: un nome della chiave a tua scelta
    • WORKLOAD_POOL_ID: l'ID pool
    • WORKLOAD_PROVIDER_ID: l'ID del provider del pool di identità della forza lavoro
    • KEY_SPECIFICATION: la specifica della chiave, che può essere rsa-2048, rsa-3072 e rsa-4096.

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

    gcloud iam workload-identity-pools providers keys describe KEY_ID \
        --workload-identity-pool WORKLOAD_POOL_ID \
        --provider WORKLOAD_PROVIDER_ID \
        --location global \
        --format "value(keyData.key)" \
        > CERTIFICATE_PATH

    Sostituisci quanto segue:

    • KEY_ID: il nome della chiave
    • WORKLOAD_POOL_ID: l'ID pool
    • WORKLOAD_PROVIDER_ID: l'ID del 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

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

    1. Sposta il file del certificato sul server AD FS.
    2. Sul server AD FS, fai clic con il tasto destro del mouse sul pulsante Avvio (o premi Win+X) e poi su Windows PowerShell (Amministrazione).
    3. In PowerShell, esegui il seguente comando per attivare la crittografia:
              Set-AdfsRelyingPartyTrust `
              -TargetName NAME `
              -SamlResponseSignature MessageAndAssertion `
              -EncryptionCertificate PATH `
              -EncryptClaims $True
          

      Sostituisci quanto segue:

      • NAME: il nome della attendibilità della terza parte di cui ti fidi
      • PATH: il percorso del file del certificato

    Utenti WS-Trust: questa funzionalità è disponibile solo se utilizzi SAML.

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

    Eliminare le chiavi di crittografia della federazione delle identità per i carichi di lavoro

    Per eliminare le chiavi di crittografia SAML, esegui il seguente comando:
      gcloud iam workload-identity-pools providers keys delete KEY_ID \
          --workload-identity-pool WORKLOAD_POOL_ID \
          --provider WORKLOAD_PROVIDER_ID \
          --location global

    Sostituisci quanto segue:

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

    Algoritmi di crittografia SAML supportati

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

    La federazione delle identità per i carichi di lavoro supporta i seguenti algoritmi di crittografia a blocchi:

(Facoltativo) Attiva la crittografia SAML

Le asserzioni SAML emesse da AD FS sono firmate in modo criptato e scambiate tramite un canale TLS criptato. Tuttavia, le assertivi di SAML non sono criptate. Utilizzando la crittografia SAML, puoi configurare AD FS per criptare le asserzioni in modo che possano essere decriptate e lette solo dal pool di identità del tuo carico di lavoro.

OIDC

Questa funzionalità è disponibile solo se utilizzi SAML.

SAML o WS-Trust

  1. Crea una chiave di crittografia per il provider del pool di identità del workload:

    gcloud iam workload-identity-pools providers keys create rsa2048 \
        --workload-identity-pool=POOL_ID \
        --provider=WORKLOAD_PROVIDER_ID \
        --location=global \
        --use=ENCRYPTION \
        --spec=RSA_2048
    

    Sostituisci quanto segue:

    • WORKLOAD_PROVIDER_ID: l'ID del fornitore.
    • POOL_ID: l'ID del pool.

    La coppia di chiavi viene archiviata e gestita da Workload Identity Federation. Puoi esportare la chiave pubblica, ma solo Workload Identity Federation può accedere alla chiave privata.

  2. Esporta un certificato contenente la chiave pubblica:

    gcloud iam workload-identity-pools providers keys describe rsa2048 \
        --workload-identity-pool=POOL_ID \
        --provider=WORKLOAD_PROVIDER_ID \
        --location=global \
        --format="value(keyData.key)" > workload-identity-federation.cer
    
  3. Sposta il file del certificato sul server AD FS.

  4. Sul server AD FS, fai clic con il tasto destro del mouse su Avvia, quindi su Windows PowerShell (Amministratore).

  5. In PowerShell, modifica l'attendibilità della terza parte in modo che utilizzi la crittografia:

    Set-AdfsRelyingPartyTrust `
      -TargetName NAME `
      -SamlResponseSignature MessageAndAssertion `
      -EncryptionCertificate PATH `
      -EncryptClaims $True
    

    Sostituisci quanto segue:

    • NAME: il nome della attendibilità della terza parte di cui ti fidi
    • PATH: il percorso del file del certificato

Autentica un carico di lavoro

Devi eseguire questi passaggi una volta per carico di lavoro.

Consenti al tuo carico di lavoro esterno di accedere alle risorse Google Cloud

Per fornire al tuo carico di lavoro l'accesso alle risorse Google Cloud, consigliamo di concedere l'accesso diretto alle risorse al principale. In questo caso, l'entità è l'utente federato. Alcuni prodotti Google Cloud presentano limitazioni dell'API Google Cloud. Se il tuo carico di lavoro chiama un endpoint API con una limitazione, puoi utilizzare la simulazione dell'identità dell'account di servizio. In questo caso, l'entità è l'account di servizio Google Cloud, che funge da identità. Concedi l'accesso all'account di servizio nella risorsa.

Accesso diretto alle risorse

Puoi concedere l'accesso a un'identità federata direttamente sulle risorse utilizzando la console Google Cloud o gcloud CLI.

Console

Per utilizzare la console Google Cloud per concedere i ruoli IAM direttamente su una risorsa, devi andare alla pagina della risorsa e poi concedere il ruolo. L'esempio seguente mostra come andare alla pagina Cloud Storage e concedere il ruolo Visualizzatore oggetti Storage (roles/storage.objectViewer) a un'identità federata direttamente in un bucket Cloud Storage.

  1. Nella console Google Cloud, vai alla pagina Bucket in Cloud Storage.

    Vai a Bucket

  2. Nell'elenco dei bucket, fai clic sul nome del bucket per cui vuoi concedere il ruolo.

  3. Seleziona la scheda Autorizzazioni nella parte superiore della pagina.

  4. Fai clic sul pulsante Concedi accesso.

    Viene visualizzata la finestra di dialogo Aggiungi entità.

  5. Nel campo Nuove entità, inserisci una o più identità che devono accedere al tuo bucket.

    Per argomento

    principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT
    

    Sostituisci quanto segue:

    • PROJECT_NUMBER: il numero del progetto
    • POOL_ID: l'ID del pool di workload
    • SUBJECT: il soggetto singolo mappato dal tuo IdP, ad esempioadministrator@example.com

    Per gruppo

    principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUP
    

    Sostituisci quanto segue:

    • PROJECT_NUMBER: il numero del progetto
    • WORKLOAD_POOL_ID: l'ID del pool di workload
    • GROUP: il gruppo mappato dall'IdP, ad esempio:administrator-group@example.com

    Per attributo

    principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
    

    Sostituisci quanto segue:

    • PROJECT_NUMBER: il numero del progetto
    • WORKLOAD_POOL_ID: l'ID del pool di workload
    • ATTRIBUTE_NAME: uno degli attributi mappati dal tuo provider di identità
    • ATTRIBUTE_VALUE: il valore dell'attributo
  6. Seleziona un ruolo o più ruoli dal menu a discesa Seleziona un ruolo. I ruoli selezionati vengono visualizzati nel riquadro con una breve descrizione delle autorizzazioni concesse.

  7. Fai clic su Salva.

gcloud

Per utilizzare gcloud CLI per concedere i ruoli IAM a una risorsa in un progetto, segui questi passaggi:

  1. Ottieni il numero del progetto in cui è definita la risorsa.

    gcloud projects describe $(gcloud config get-value core/project) --format=value\(projectNumber\)
    
  2. Concedi l'accesso alla risorsa.

    Per utilizzare gcloud CLI per concedere il ruolo Visualizzatore oggetti Storage (roles/storage.objectViewer) a identità esterne che soddisfano determinati criteri, esegui il seguente comando.

    Per argomento

    gcloud storage buckets add-iam-policy-binding BUCKET_ID \
        --role=roles/storage.objectViewer \
        --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT"

    Per gruppo

    gcloud storage buckets add-iam-policy-binding BUCKET_ID \
        --role=roles/storage.objectViewer \
        --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUP"

    Per attributo

    gcloud storage buckets add-iam-policy-binding BUCKET_ID \
        --role=roles/storage.objectViewer \
        --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE"

    Sostituisci quanto segue:

    • BUCKET_ID: il bucket a cui concedere l'accesso
    • PROJECT_NUMBER: il numero di progetto del progetto che contiene il pool di identità del workload
    • POOL_ID: l'ID del pool di identità del workload
    • SUBJECT: il valore previsto per l'attributo che hai mappato a google.subject
    • GROUP: il valore previsto per l'attributo che hai mappato a google.groups
    • ATTRIBUTE_NAME: il nome di un attributo personalizzato nella mappatura degli attributi
    • ATTRIBUTE_VALUE: il valore dell'attributo personalizzato nella mappatura degli attributi

    Puoi concedere ruoli a qualsiasi risorsa Google Cloud che supporta i criteri di autorizzazione IAM.

Rappresentazione dell'identità dell'account di servizio

  1. Per creare un account di servizio per il carico di lavoro esterno:

    1. Enable the IAM, Security Token Service, and Service Account Credentials APIs.

      Enable the APIs

    2. Crea un account di servizio che rappresenti il carico di lavoro. Ti consigliamo di utilizzare un account di servizio dedicato per ogni carico di lavoro. L'account di servizio non deve trovarsi nello stesso progetto del pool di identità del carico di lavoro, ma devi fare riferimento al progetto che contiene l'account di servizio.

    3. Concedi all'account di servizio l'accesso alle risorse a cui vuoi che accedano le identità esterne.

    4. Concedi il ruolo Utente Workload Identity (roles/iam.workloadIdentityUser) all'account di servizio.

  2. Per concedere l'accesso a un'identità federata utilizzando la simulazione dell'identità degli account di servizio tramite la console Google Cloud o gcloud CLI:

Console

Per utilizzare la console Google Cloud per concedere ruoli IAM a un'identità federata con un account di servizio, segui questi passaggi:

Account di servizio nello stesso progetto

  1. Per concedere l'accesso utilizzando la simulazione dell'identità dell'account di servizio per un account di servizio nello stesso progetto:

    1. Vai alla pagina Pool Workload Identity.

      Vai a Pool Workload Identity

    2. Seleziona Concedi accesso.

    3. Nella finestra di dialogo Concedi l'accesso all'account di servizio, seleziona Concedi l'accesso utilizzando la simulazione dell'identità degli account di servizio.

    4. Nell'elenco Account di servizio, seleziona l'account di servizio per le identità esterne da rubare e svolgi i seguenti passaggi:

    5. Per scegliere quali identità nel pool possono rubare l'identità dell'account di servizio, esegui una delle seguenti azioni:

      • Per consentire solo a identità specifiche del pool di identità del workload di simulare l'identità dell'account di servizio, seleziona Solo le identità corrispondenti al filtro.

      • Nell'elenco Nome attributo, seleziona l'attributo su cui vuoi applicare il filtro.

      • Nel campo Valore attributo, inserisci il valore previsto dell'attributo. Ad esempio, se utilizzi una mappatura degli attributi google.subject=assertion.sub, imposta il nome dell'attributo su subject e il valore dell'attributo sul valore dell'affermazione sub nei token emessi dal tuo provider di identità esterno.

    6. Per salvare la configurazione, fai clic su Salva e poi su Ignora.

Account di servizio in un altro progetto

  1. Per concedere l'accesso utilizzando la rappresentazione dell'account di servizio per un account di servizio in un progetto diverso:

    1. Vai alla pagina Service Accounts.

      Vai a Service account

    2. Seleziona l'account di servizio di cui vuoi assumere il ruolo.

    3. Fai clic su Gestisci accesso.

    4. Fai clic su Aggiungi entità.

    5. Nel campo Nuova entità, inserisci uno dei seguenti identificatori principali per le identità nel pool che ruberanno l'identità dell'account di servizio.

      Per argomento

      principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT
      

      Sostituisci quanto segue:

      • PROJECT_NUMBER: il numero del progetto
      • POOL_ID: l'ID del pool di workload
      • SUBJECT: il soggetto singolo mappato dal tuo IdP, ad esempioadministrator@example.com

      Per gruppo

      principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUP
      

      Sostituisci quanto segue:

      • PROJECT_NUMBER: il numero del progetto
      • WORKLOAD_POOL_ID: l'ID del pool di workload
      • GROUP: il gruppo mappato dall'IdP, ad esempio:administrator-group@example.com

      Per attributo

      principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
      

      Sostituisci quanto segue:

      • PROJECT_NUMBER: il numero del progetto
      • WORKLOAD_POOL_ID: l'ID del pool di workload
      • ATTRIBUTE_NAME: uno degli attributi mappati dal tuo provider di identità
      • ATTRIBUTE_VALUE: il valore dell'attributo

      Per piscina

      principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/*
      

      Sostituisci quanto segue:

      • PROJECT_NUMBER: il numero del progetto
      • WORKLOAD_POOL_ID: l'ID del pool di workload
    6. In Seleziona un ruolo, seleziona il ruolo Workload Identity User (roles/iam.workloadIdentityUser).

    7. Per salvare la configurazione, fai clic su Salva.

gcloud

Per utilizzare gcloud CLI per concedere il ruolo Utente Workload Identity (roles/iam.workloadIdentityUser) alle identità esterne che soddisfano determinati criteri, esegui il seguente comando.

Per argomento

gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \
    --role=roles/iam.workloadIdentityUser \
    --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT"

Per gruppo

gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \
    --role=roles/iam.workloadIdentityUser \
    --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUP"

Per attributo

gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \
    --role=roles/iam.workloadIdentityUser \
    --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE"

Sostituisci quanto segue:

  • SERVICE_ACCOUNT_EMAIL: l'indirizzo email dell'account per il servizio
  • PROJECT_NUMBER: il numero di progetto del progetto che contiene il pool di identità del workload
  • POOL_ID: l'ID del pool di identità del workload
  • SUBJECT: il valore previsto per l'attributo che hai mappato a google.subject
  • GROUP: il valore previsto per l'attributo che hai mappato a google.groups
  • ATTRIBUTE_NAME: il nome di un attributo personalizzato nella mappatura degli attributi
  • ATTRIBUTE_VALUE: il valore dell'attributo personalizzato nella mappatura degli attributi

Creare una configurazione delle credenziali

Puoi consentire alle librerie client Cloud e agli strumenti come gcloud CLI e Terraform di utilizzare le credenziali di Active Directory per autenticarsi su Google Cloud utilizzando Workload Authenticator per Windows.

Workload Authenticator per Windows è uno strumento open source che funge da plug-in per le librerie client Cloud e strumenti come gcloud CLI:

  1. Quando lo strumento o la libreria ha bisogno di una nuova credenziale, avvia Workload Authenticator in background.
  2. Workload Authenticator utilizza OIDC, SAML o WS-Trust per ottenere un nuovo token o un'affermazione SAML da AD FS e lo restituisce allo strumento o alla libreria.
  3. Lo strumento o la libreria scambia quindi il token o l'affermazione SAML con le credenziali Google Cloud di breve durata utilizzando la federazione delle identità per i carichi di lavoro.

Per utilizzare Workload Authenticator per Windows, devi creare un file di configurazione delle credenziali. Questo file definisce quanto segue:

  • Dove trovare l'eseguibile Workload Authenticator per Windows (wwauth.exe) e con quali parametri eseguirlo
  • Quale provider e pool di identità per i carichi di lavoro utilizzare
  • Quale account di servizio rappresentare

Per creare un file di configurazione delle credenziali, segui questi passaggi sul server Windows su cui viene eseguito il tuo workload:

  1. Fai clic con il tasto destro del mouse sul pulsante Start (o premi Win+X) e poi su Windows PowerShell.
  2. Scarica Workload Authenticator per Windows e salvalo in una posizione accessibile al tuo workload:

    (New-Object Net.WebClient).DownloadFile(
      "https://github.com/GoogleCloudPlatform/iam-windows-authenticator/releases/latest/download/wwauth.exe",
      "${env:ProgramData}\wwauth.exe")
    

    Se crei un file di configurazione delle credenziali utilizzando Workload Authenticator per Windows, il file contiene il percorso del relativo file eseguibile. Se successivamente elimini o sposti l'eseguibile, i workload non potranno trovarlo e utilizzarlo.

  3. Avvia wwauth.exe:

    & ${env:ProgramData}\wwauth.exe
    

    Si apre una finestra di dialogo di configurazione:

    Workload Authenticator

  4. Seleziona la scheda AD FS e inserisci le seguenti impostazioni:

    • URI emittente del server AD FS: URI pubblico del server o della farm AD FS.

      https://ADFS_DOMAIN/adfs/
      

      Sostituisci ADFS_DOMAIN con il nome di dominio pubblico del tuo server o della tua farm di server AD FS.

    Le impostazioni successive dipendono dal protocollo che vuoi utilizzare:

    OIDC

    • Protocollo: AdfsOidc
    • ID della terza parte di cui ci si serve: mantieni l'impostazione predefinita.
    • ID client Identificatore client (ID client) dell'applicazione server in AD FS.

    SAML

    • Protocollo: AdfsSamlPost
    • URL Assertion Consumer Service: https://sts.googleapis.com/v1/token.
    • Firma richieste utilizzando certificato: disattivata

    WS-Trust

    • Protocollo: AdfsWsTrust
  5. Seleziona la scheda Workload Identity (Identità del carico di lavoro) e inserisci le seguenti impostazioni:

    • Numero progetto: il numero del progetto che contiene il pool di identità del workload
    • ID pool: l'ID del pool di identità del workload
    • ID provider: l'ID del provider del pool di identità del workload
    • Simula l'identità dell'account di servizio: abilitata, se utilizzi la simulazione dell'identità dell'account di servizio
    • Indirizzo email: indirizzo email dell'account di servizio, se utilizzi la simulazione dell'identità dell'account di servizio
  6. Seleziona la scheda AD FS e verifica che il campo ID della terza parte ora contenga l'URL del provider del pool di identità del workload.

  7. Fai clic su Applica e scegli una posizione in cui salvare il file di configurazione delle credenziali.

    A differenza di una chiave dell'account di servizio, un file di configurazione delle credenziali non contiene segreti e non deve essere mantenuto riservato. I dettagli sul file di configurazione delle credenziali sono disponibili all'indirizzo https://google.aip.dev/auth/4117.

Ora è tutto pronto per testare la configurazione:

  1. Seleziona un utente Active Directory con cui eseguire il test. Può trattarsi dell'utente Active Directory del carico di lavoro o dell'utente con cui hai eseguito l'accesso.

  2. Per testare la configurazione con l'utente corrente, fai clic su Test.

    Per eseguire il test con un altro utente, seleziona Test > Testa la configurazione come utente e inserisci le credenziali dell'utente.

    Ora lo strumento tenta di autenticarsi in Google Cloud svolgendo i seguenti passaggi:

    1. Acquisisci un token OIDC o un'affermazione SAML da AD FS.
    2. Ottieni un token del Servizio token di sicurezza Google.
    3. Rappresenta l'account di servizio, se utilizzi l'impersonificazione dell'account di servizio.

    Se l'autenticazione ha esito positivo, viene visualizzato il messaggio Test completato correttamente:

    Risultato test

Utilizzare la configurazione delle credenziali per accedere a Google Cloud

Per consentire agli strumenti e alle librerie client di utilizzare la configurazione delle credenziali, svolgi quanto segue su Windows Server che esegue il tuo workload:

  1. Fai clic con il tasto destro del mouse sul pulsante Avvia e poi su Esegui.
  2. Inserisci sysdm.cpl e fai clic su OK.
  3. Nella scheda Avanzate, fai clic su Variabili di ambiente.
  4. Nella sezione Variabili di sistema, aggiungi due nuove variabili:

    Nome Valore
    GOOGLE_APPLICATION_CREDENTIALS Percorso del file di configurazione delle credenziali
    GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES 1
  5. Fai clic su OK.

  6. Utilizza una libreria client o uno strumento che supporta la federazione delle identità per i carichi di lavoro e può trovare automaticamente le credenziali:

    C++

    Le librerie client di Google Cloud per C++ supportano la federazione delle identità per i carichi di lavoro dalla versione v2.6.0. Per utilizzare la federazione delle identità per i carichi di lavoro, devi compilare le librerie client con la versione 1.36.0 o successive di gRPC.

    Vai

    Le librerie client per Go supportano la federazione delle identità del carico di lavoro se utilizzano la versione v0.0.0-20210218202405-ba52d332ba99 o successive del modulo golang.org/x/oauth2.

    Per controllare quale versione di questo modulo utilizza la tua libreria client, esegui i seguenti comandi:

    cd $GOPATH/src/cloud.google.com/go
    go list -m golang.org/x/oauth2
    

    Java

    Le librerie client per Java supportano la federazione di Workload Identity se utilizzano la versione 0.24.0 o successive dell'elemento com.google.auth:google-auth-library-oauth2-http.

    Per controllare la versione di questo elemento utilizzato dalla libreria client, esegui il seguente comando Maven nella directory dell'applicazione:

    mvn dependency:list -DincludeArtifactIds=google-auth-library-oauth2-http
    

    Node.js

    Le librerie client per Node.js supportano la federazione delle identità del carico di lavoro se utilizzano la versione 7.0.2 o successive del pacchetto google-auth-library.

    Per controllare quale versione di questo pacchetto utilizza la tua libreria client, esegui il seguente comando nella directory dell'applicazione:

    npm list google-auth-library
    

    Quando crei un oggetto GoogleAuth, puoi specificare un ID progetto oppure puoi consentire a GoogleAuth di trovarlo automaticamente. Per trovare automaticamente l'ID progetto, l'account di servizio nel file di configurazione deve disporre del ruolo Browser (roles/browser) o di un ruolo con autorizzazioni equivalenti nel progetto. Per maggiori dettagli, consulta il README per il pacchetto google-auth-library.

    Python

    Le librerie client per Python supportano la federazione di Workload Identity se utilizzano la versione 1.27.0 o successive del pacchetto google-auth.

    Per controllare quale versione di questo pacchetto utilizza la tua libreria client, esegui il seguente comando nell'ambiente in cui è installato il pacchetto:

    pip show google-auth
    

    Per specificare un ID progetto per il client di autenticazione, puoi impostare la variabile di ambienteGOOGLE_CLOUD_PROJECT o consentire al client di trovare automaticamente l'ID progetto. Per trovare automaticamente l'ID progetto, il service account nel file di configurazione deve disporre del ruolo Browser (roles/browser) o di un ruolo con autorizzazioni equivalenti nel progetto. Per maggiori dettagli, consulta la guida dell'utente per il pacchetto google-auth.

    gcloud

    Per eseguire l'autenticazione utilizzando la federazione delle identità per i carichi di lavoro, utilizza il comando gcloud auth login:

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

    Sostituisci FILEPATH con il percorso del file di configurazione delle credenziali.

    Il supporto della federazione delle identità per i workload in gcloud CLI è disponibile nella versione 363.0.0 e successive di gcloud CLI.

    Terraform

    Il provider Google Cloud supporta la federazione delle identità di carico di lavoro se utilizzi la versione 3.61.0 o successive:

    terraform {
      required_providers {
        google = {
          source  = "hashicorp/google"
          version = "~> 3.61.0"
        }
      }
    }
    

    bq

    Per eseguire l'autenticazione utilizzando la federazione di Workload Identity, utilizza il comando gcloud auth login, come segue:

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

    Sostituisci FILEPATH con il percorso del file di configurazione delle credenziali.

    Il supporto della federazione delle identità per i carichi di lavoro in bq è disponibile nella versione 390.0.0 e successive della CLI gcloud.

Passaggi successivi