Questo documento e il documento Tipi di token coprono i vari token utilizzati da Google Cloud per l'autenticazione e l'autorizzazione. Sono pensati per le persone che vogliono imparare come funziona l'autenticazione basata su token o che vogliono implementare l'autenticazione senza utilizzare le librerie client di Cloud.
Non devi conoscere queste informazioni quando interagisci con le API utilizzando le librerie client di Cloud, la console o Google Cloud CLI. La procedura di selezione del tipo di token corretto, nonché l'ottenimento e l'aggiornamento di questi token, viene gestita automaticamente. Google CloudGoogle Cloud
Autenticazione degli utenti
Quando gli utenti umani interagiscono con Google Cloud, non interagiscono direttamente con le APIGoogle Cloud . Utilizzano invece un client per agire per loro conto.
Il client che utilizza potrebbe essere un'applicazione web, un'applicazione desktop o un'utilità come Google Cloud CLI o curl
.
Poiché le richieste vengono effettuate dal client e non dall'utente, Google Cloud non può richiedere direttamente all'utente informazioni sull'identità per verificare se dispone dell'autorizzazione per utilizzare un'API. Questa identità viene invece trasmessa all'API tramite il client sotto forma di token, che viene incluso in ogni richiesta API.
Un token di autenticazione utente codifica le seguenti informazioni:
L'identità dell'utente.
L'identità del client.
Assicurazione che il client sia autorizzato ad agire per conto dell'utente.
L'autenticazione dell'utente e l'autorizzazione del client coinvolgono le seguenti parti:
un utente
Un client che agisce per conto dell'utente.
Un server di autorizzazione, su cui si basano le API di Google per autenticare il client.
Un'API Google Cloud con cui interagisce il client.
I clienti non possono emettere token autonomamente. Devono invece collaborare con un server di autorizzazione per:
Autentica l'utente.
Autentica il client.
Autorizza il cliente ad agire per conto dell'utente.
Emetti un token per il client.
Un utente che esegue l'autenticazione accedendo al proprio Account Google è un utente principale. L'entità ha un identificatore entità simile al seguente:
user:alex@example.com
Un utente che si autentica utilizzando la federazione delle identità per la forza lavoro e un provider di identità esterno è un principal del pool di identità della forza lavoro. L'entità ha un identificatore simile al seguente:
principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/raha@altostrat.com
Autenticazione dei workload
Alcuni client devono interagire con le API di Google per proprio conto. Ad esempio, un job pianificato potrebbe dover leggere i dati da BigQuery o Cloud Storage senza il coinvolgimento di alcun utente umano.
I client che agiscono in modo automatico e per proprio conto sono chiamati workload. A differenza dell'autenticazione utente, l'autenticazione del workload combina l'autenticazione dell'utente e l'autorizzazione del client in un unico passaggio. Per questo motivo, un token di autenticazione del workload codifica l'identità solo del client.
L'autenticazione e l'autorizzazione del workload coinvolgono le seguenti parti:
Un workload, che funge sia da client sia da utente e per proprio conto.
Un server di autorizzazione, su cui si basano le API di Google per autenticare il client.
Un'API Google Cloud con cui interagisce il client.
Per accedere alle API, i client devono collaborare con un server di autorizzazione per: Google Cloud
Autentica il client.
Autorizza il client.
Emetti un token per il client.
Un workload autenticato viene anche chiamato principal, ma i workload utilizzano identificatori principal diversi rispetto agli utenti.
Un workload che esegue l'autenticazione utilizzando un account di servizio è un service account principal. L'entità ha un identificatore simile al seguente:
serviceAccount:my-service-account@my-project.iam.gserviceaccount.com
Un workload che esegue l'autenticazione utilizzando la federazione delle identità per i workload è un'entità pool di identità dei workload. L'entità ha un identificatore entità simile al seguente:
principal://iam.googleapis.com/projects/PROJECT_NAME/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE
Server di autorizzazione
Google Cloud condivide funzionalità specifiche di autenticazione e autorizzazione con altri servizi Google. Le funzionalità condivise includono Accedi con Google e i servizi OpenID Connect e OAuth 2.0 forniti da Google Identity.
Altri servizi correlati all'autenticazione, come la federazione delle identità dei carichi di lavoro e la federazione delle identità della forza lavoro, sono specifici di Google Cloud e non possono essere utilizzati per altri servizi Google.
A causa di questa suddivisione, Google Cloud utilizza due server di autorizzazione. Uno è condiviso con altri servizi Google, l'altro è specifico per Google Cloud. La tabella seguente descrive i diversi server e le relative proprietà.
Server di autorizzazione | Tipo di autenticazione | API di autenticazione | Entità |
---|---|---|---|
Server di autorizzazione Google |
|
|
|
Google Cloud Server di autorizzazione Identity and Access Management (IAM) |
|
I server di autorizzazione sono servizi globali e sono accessibili da qualsiasi Google Cloud regione. Tuttavia, non tutte le regioni contengono deployment di entrambi i server di autorizzazione:
Il server di autorizzazione Google è disponibile in alcune regioni.
Il Google Cloud server di autorizzazione IAM è disponibile in tutte le regioni.
Per ottimizzare l'affidabilità, utilizza il Google Cloud server di autorizzazione IAM ogni volta che è possibile.
Passaggi successivi
Scopri di più sui tipi di token.