Casi d'uso di autenticazione e autorizzazione

Questa pagina elenca alcuni casi d'uso comuni di autenticazione e autorizzazione, con link a ulteriori informazioni su come implementare ogni caso d'uso.

Per una panoramica dell'autenticazione in Google, consulta la pagina Autenticazione in Google.

Autenticazione nelle API di Google

Le API di Google richiedono un token di accesso o una chiave API validi per ogni richiesta. Il modo in cui fornisci queste credenziali obbligatorie dipende da dove viene eseguito il codice e dai tipi di credenziali accettate dall'API.

Utilizza le librerie client e le Credenziali predefinite dell'applicazione

Il metodo consigliato per utilizzare le API di Google consiste nell'utilizzare una libreria client e Credenziali predefinite dell'applicazione (ADC). Application Default Credentials (ADC) è una strategia utilizzata dalle librerie di autenticazione di Google per trovare automaticamente le credenziali in base all'ambiente delle applicazioni. Le librerie di autenticazione rendono queste credenziali disponibili alle librerie client di Cloud e alle librerie client delle API di Google. Quando utilizzi ADC, il tuo codice può essere eseguito in un ambiente di sviluppo o di produzione senza modificare il modo in cui l'applicazione viene autenticata nei servizi e nelle API di Google Cloud.

La modalità di configurazione di ADC dipende da dove viene eseguito il codice. ADC supporta sia l'autenticazione come account di servizio sia l'autenticazione come utente.

Autenticazione da Google Kubernetes Engine (GKE)

Puoi utilizzare Workload Identity per consentire ai tuoi carichi di lavoro in esecuzione su GKE di accedere in modo sicuro alle API di Google. Workload Identity consente a un account di servizio GKE nel tuo cluster GKE di agire come account di servizio Identity and Access Management (IAM).

Autenticazione da Cloud Run for Anthos

Autentichi i servizi Cloud Run for Anthos utilizzando Workload Identity, che consente di accedere alle API di Google.

Usa un'API che accetta chiavi API

Le chiavi API associano una richiesta API a un progetto Google Cloud ai fini della fatturazione e della quota. Se un'API supporta le chiavi API, con la richiesta API può essere fornita una chiave API anziché il token. Per determinare se un'API supporta le chiavi API, consulta la documentazione dell'API.

Usa token JWT (JSON Web Tokens) autofirmati

Alcune API di Google supportano i token JWT (JSON Web Token) autofirmati anziché i token di accesso. L'utilizzo di un JWT autofirmato ti consente di evitare di effettuare una richiesta di rete al server di autorizzazione di Google. Questo approccio richiede la creazione di un JWT firmato. Per ulteriori informazioni sui token, consulta la sezione Tipi di token.

Utilizzare le librerie e i pacchetti di autenticazione

Se ADC e l'implementazione OAuth fornita dalle librerie client di Cloud o dalle librerie client delle API di Google non sono disponibili nel tuo ambiente, puoi utilizzare le librerie e i pacchetti di autenticazione.

Sono disponibili i seguenti pacchetti e librerie di autenticazione:

Puoi anche implementare il flusso OAuth 2.0 utilizzando gli endpoint OAuth 2.0 di Google. Questo approccio richiede una comprensione più dettagliata del funzionamento di OAuth 2.0 e OpenID Connect. Per ulteriori informazioni, consulta l'articolo sull'utilizzo di OAuth 2.0 per applicazioni server web.

Casi d'uso specifici dei servizi Google Cloud

Alcuni servizi Google Cloud supportano i flussi di autenticazione specifici di tale servizio.

Fornisci accesso a tempo limitato a una risorsa Cloud Storage utilizzando URL firmati

Gli URL firmati forniscono accesso limitato nel tempo a una specifica risorsa di Cloud Storage.

Autenticazione nei cluster GKE Enterprise

Puoi eseguire l'autenticazione nei cluster GKE Enterprise utilizzando le identità Google Cloud o un provider di identità di terze parti:

Configura un'API di cui è stato eseguito il deployment con API Gateway o Cloud Endpoints per l'autenticazione

API Gateway e Cloud Endpoints supportano l'autenticazione da servizio a servizio e l'autenticazione utente con Firebase, token ID firmati da Google, Okta, Auth0 e JWT.

Per ulteriori informazioni, consulta la documentazione del prodotto:

Autenticazione per applicazioni ospitate su Cloud Run o Cloud Functions

Le applicazioni ospitate su Cloud Run e Cloud Functions richiedono token OpenID Connect (OIDC) o token ID per l'autenticazione.

Per ulteriori informazioni, consulta la documentazione del prodotto relativa ai servizi di hosting elencati di seguito. Per informazioni su altri modi per acquisire un token ID, consulta Ottenere un token ID. Per ulteriori informazioni sui token ID, inclusa la convalida dei token ID, consulta la sezione Token ID.

Cloud Run

Esistono vari modi per configurare un servizio Cloud Run, a seconda di come viene richiamato. Potrebbe inoltre essere necessario eseguire l'autenticazione in altri servizi da un servizio Cloud Run, il che richiede un token ID OIDC.

Per autenticare gli utenti al tuo servizio da un'app web o per dispositivi mobili, puoi utilizzare Identity Platform o Firebase Authentication. Puoi anche utilizzare Identity-Aware Proxy (IAP) per autenticare gli utenti interni.

Cloud Functions

Quando richiami una funzione, devi autenticare la chiamata. Puoi utilizzare le credenziali utente o un token ID OIDC.

Autentica gli utenti dell'applicazione

Esistono varie opzioni per autenticare gli utenti finali della tua applicazione, a seconda del resto dell'ambiente applicativo. Utilizza le descrizioni riportate di seguito per individuare l'opzione migliore per la tua applicazione.

Servizio di autenticazione Descrizione
Servizi di identità Google

I servizi di identità Google includono Accedi con Google, il pulsante di accesso utente di Google, nonché API e SDK dei Servizi di identità. Google Identity Services si basa sui protocolli OAuth 2.0 e OpenID Connect (OIDC).

Se stai creando un'applicazione mobile e vuoi autenticare gli utenti utilizzando gli account Gmail e Google Workspace, Accedi con Google potrebbe essere una buona opzione. Accedi con Google supporta anche l'utilizzo di Account Google con un sistema di accesso esistente.

Informazioni dettagliate

Accedi con Google fornisce l'accesso agli account Gmail e Google Workspace e assistenza per le password monouso (OTP). Accedi con Google ha come target gli account solo Google o gli Account Google in un sistema di accesso esistente per le app mobile.

Accedi con Google è disponibile per iOS, Android e per le applicazioni web.

Firebase Authentication

Firebase Authentication fornisce servizi e librerie di autenticazione per autenticare gli utenti nell'applicazione per un'ampia gamma di tipi di account utente.

Se vuoi accettare gli accessi degli utenti da più piattaforme, Firebase Authentication potrebbe essere un'opzione valida.

Informazioni dettagliate

Firebase Authentication fornisce funzionalità di autenticazione per molti tipi di account utente. Firebase Authentication supporta l'autenticazione tramite password e l'accesso federato con Google, Facebook, Twitter e altre piattaforme.

Identity Platform e Firebase Authentication sono entrambi basati sui servizi di identità Google. Firebase Authentication è indirizzato alle applicazioni consumer. Identity Platform è ideale per gli utenti che vogliono essere i propri provider di identità o che hanno bisogno delle funzionalità di livello enterprise offerte da Identity Platform. Per saperne di più sulle differenze tra questi prodotti, consulta Differenze tra Identity Platform e Firebase Authentication.

I seguenti link forniscono ulteriori informazioni:

Identity Platform

Identity Platform è una piattaforma di gestione di identità e accessi cliente (GIAC) che consente alle organizzazioni di aggiungere funzionalità di gestione di identità e accessi di livello aziendale alle proprie applicazioni.

Se stai creando un'applicazione da utilizzare con un provider di identità Google come Google Workspace o con il tuo servizio di gestione di identità e accessi, Identity Platform potrebbe essere una buona opzione.

Informazioni dettagliate

Identity Platform fornisce un servizio di identità e autenticazione personalizzabile e integrato per la registrazione e l'accesso degli utenti. Identity Platform supporta diversi metodi di autenticazione: SAML, OIDC, email/password, social network, telefono e opzioni personalizzate.

Identity Platform e Firebase Authentication sono entrambi basati sui servizi di identità Google. Firebase Authentication è indirizzato alle applicazioni consumer. Identity Platform è ideale per gli utenti che vogliono essere i propri provider di identità o che hanno bisogno delle funzionalità di livello enterprise offerte da Identity Platform. Per saperne di più sulle differenze tra questi prodotti, consulta Differenze tra Identity Platform e Firebase Authentication.

OAuth 2.0 e OpenID Connect

OpenID Connect ti consente di gestire e utilizzare i token di autenticazione con la massima personalizzazione.

Prendi in considerazione questa opzione se vuoi il massimo controllo sull'implementazione OAuth 2.0 e se hai dimestichezza con l'implementazione dei flussi OAuth 2.0.

Informazioni dettagliate

L'implementazione OAuth 2.0 di Google è conforme alla specifica OpenID Connect ed è certificata OpenID. OpenID Connect è un livello di identità basato sul protocollo OAuth 2.0. L'applicazione può utilizzare OpenID Connect per convalidare il token ID e recuperare le informazioni del profilo utente.

OAuth 2.0 può essere utilizzato per implementare l'autenticazione programmatica su una risorsa protetta da Identity-Aware Proxy.

Identity-Aware Proxy (IAP)

IAP ti consente di controllare l'accesso all'applicazione prima che le richieste raggiungano le risorse dell'applicazione.

A differenza degli altri servizi di autenticazione in questa tabella, implementati all'interno della tua applicazione, IAP esegue l'autenticazione prima che l'applicazione possa essere raggiunta.

Informazioni dettagliate

Con IAP puoi stabilire un livello di autorizzazione centrale per le applicazioni e utilizzare intestazioni firmate per proteggere la tua app. Le applicazioni protette da IAP sono accessibili solo dalle entità con il ruolo IAM corretto. Quando un utente finale tenta di accedere a una risorsa protetta da IAP, IAP esegue i controlli di autenticazione e autorizzazione per te. IAP non protegge dalle attività all'interno di un progetto, ad esempio un altro servizio nello stesso progetto.

Per le identità Google, IAP utilizza i token ID. Per maggiori informazioni, consulta Autenticazione programmatica.

Per informazioni su come IAP protegge le risorse dell'applicazione, consulta la panoramica di IAP.

Per IAP sono disponibili i seguenti tutorial specifici per le lingue:

API App Engine Users Per le applicazioni in esecuzione nell'ambiente standard di App Engine, l'API Users è disponibile per fornire la funzionalità di autenticazione degli utenti per alcune lingue.
Autorizzazione dell'accesso alle risorse dell'utente finale Se l'applicazione accede a risorse di proprietà dell'utente finale, devi proteggerne l'autorizzazione. Questo caso d'uso è talvolta chiamato OAuth a tre vie o 3LO, perché sono coinvolte tre entità: l'applicazione, il server di autorizzazione e l'utente.

Opzioni di autenticazione e autorizzazione per Google Cloud e Google Workspace

Google Cloud e Google Workspace offrono varie opzioni per configurare l'accesso, migliorare la sicurezza degli account e amministrare gli account.

Concedere l'accesso alle risorse Google Cloud per i carichi di lavoro esterni

La federazione delle identità per i carichi di lavoro consente di concedere ai carichi di lavoro on-premise o multi-cloud l'accesso alle risorse Google Cloud. Storicamente, questo caso d'uso richiedeva l'uso di chiavi degli account di servizio, ma la federazione delle identità per i carichi di lavoro evita la manutenzione e il carico di sicurezza dovuto all'utilizzo delle chiavi degli account di servizio. La federazione delle identità per i carichi di lavoro supporta molti provider di identità compatibili con OIDC o SAML 2.0. I provider di identità supportati includono AWS, Azure Active Directory, Active Directory on-premise, Okta, GitHub Actions e cluster Kubernetes.

Configura un provider di identità

Puoi utilizzare Google come provider di identità utilizzando Cloud Identity o Google Workspace. Puoi anche federe un account Cloud Identity o Google Workspace con un provider di identità esterno. Questo approccio utilizza SAML, consentendo ai tuoi dipendenti di utilizzare la propria identità e le proprie credenziali esistenti per accedere ai servizi Google.

Configura l'autenticazione a due fattori

La richiesta dell'autenticazione a due fattori è una best practice che contribuisce a impedire l'accesso a un account da parte di utenti malintenzionati che hanno ottenuto l'accesso alle relative credenziali. Con l'autenticazione a due fattori, è necessaria una seconda informazione o identificazione da parte dell'utente prima che l'utente venga autenticato. Google offre diverse soluzioni che supportano lo standard FIDO (Fast IDentity Online).

Identity Platform supporta l'autenticazione a due fattori per le app web, iOS e Android.

Servizi di identità Google supporta l'autenticazione FIDO (Fast IDentity Online).

Google supporta varie soluzioni hardware per l'autenticazione a due fattori, ad esempio le chiavi Titan.

Configura l'accesso basato su certificati

Parte della soluzione Zero Trust di BeyondCorp Enterprise, l'accesso basato su certificati limita l'accesso solo agli utenti autenticati su un dispositivo attendibile e identifica i dispositivi tramite i certificati X.509. L'accesso basato su certificati è a volte indicato anche come mTLS (mutual Transport Layer Security).

Informazioni generali sull'account e sull'autenticazione

Ricevere assistenza per accedere a un Account Google

Se hai bisogno di aiuto per accedere o gestire un Account Google, visita la pagina di assistenza di Account Google.

Gestire le credenziali compromesse

Se ritieni che le tue credenziali siano state compromesse, tu o il tuo amministratore potete intraprendere dei passaggi per mitigare la situazione. Per ulteriori informazioni, consulta Gestire le credenziali Google Cloud compromesse.

Ricevere assistenza per i problemi relativi alle autorità di certificazione

Se vedi errori relativi a un problema con il certificato o l'autorità di certificazione (CA), inclusa la CA radice, consulta le Domande frequenti su Google Trust Services per avere ulteriori informazioni.