Autenticazione su Google

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questo documento ti aiuta a comprendere alcuni concetti chiave di autenticazione e dove ricevere assistenza per l'implementazione o la risoluzione dei problemi di autenticazione. La documentazione di autenticazione è incentrata sui servizi Google Cloud, ma l'elenco di casi d'uso di autenticazione e il materiale introduttivo in questa pagina includono anche i casi d'uso di altri prodotti Google.

Introduzione

L'autenticazione è il processo tramite il quale la tua identità viene confermata tramite l'utilizzo di un qualche tipo di credenziale. L'autenticazione significa dimostrare chi sei, affermare di essere.

Google fornisce molti servizi e API, che richiedono l'autenticazione per poter essere utilizzati. Google fornisce inoltre una serie di servizi che ospitano applicazioni scritte dai nostri clienti; tali applicazioni devono inoltre determinare l'identità dei propri utenti.

Ho intenzione di... Informazioni
Autenticarsi in un servizio Google Cloud dalla mia applicazione utilizzando un linguaggio di programmazione di alto livello. Configura le credenziali predefinite dell'applicazione, quindi utilizza una delle librerie client Cloud.
Esegui l'autenticazione in un'applicazione in esecuzione su Cloud Run o Cloud Functions. Procurati un token ID OpenID Connect (OIDC) e forniscilo alla tua richiesta.
Implementare l'autenticazione utente per un'applicazione che accede ai servizi e alle risorse Google o Google Cloud. Consulta l'articolo sull'autenticazione degli utenti delle applicazioni per un confronto delle opzioni.
Prova alcuni comandi gcloud o chiamate API REST di Google Cloud nel mio ambiente di sviluppo locale. Configura le credenziali predefinite dell'applicazione con le tue credenziali di accesso. Puoi quindi utilizzare uno strumento a riga di comando come curl per chiamare l'API REST.
Ricevi assistenza per un altro caso d'uso dell'autenticazione. Consulta la pagina Casi d'uso di autenticazione.
Visualizza un elenco dei prodotti forniti da Google nello spazio di gestione di identità e accessi. Consulta la pagina dei prodotti per la gestione di identità e accessi di Google.

Tipi di autenticazione

L'autenticazione è richiesta per accedere alla maggior parte delle risorse e delle applicazioni. Questa documentazione supporta i professionisti tecnici che creano codice di applicazione con uno dei seguenti obiettivi:

OAuth 2.0

Le API di Google implementano ed estendono il framework OAuth 2.0. Il framework OAuth 2.0 delinea vari "flussi" o metodi di autenticazione. In generale, l'applicazione presenta le credenziali, che rappresentano un entità (un utente o un account di servizio), in un modulo intermedio chiamato Server di autorizzazione. Il server di autorizzazione risponde con un token, che l'applicazione può utilizzare per eseguire l'autenticazione con il servizio e accedere alle risorse. Il token include uno o più ambiti che rappresentano il livello di accesso all'applicazione autorizzata. L'applicazione presenta quindi il token al server delle risorse per ottenere l'accesso alle risorse.

Autorizzazione per i servizi Google Cloud

I servizi Google Cloud utilizzano Identity and Access Management (IAM) per l'autenticazione. IAM offre un controllo granulare, per entità e per risorsa. In genere, quando esegui l'autenticazione per i servizi Google Cloud, utilizzi un ambito che include tutti i servizi Google Cloud (https://www.googleapis.com/auth/cloud-platform).

Gli ambiti OAuth 2.0 possono fornire un secondo livello di protezione, che è utile se il tuo codice è in esecuzione in un ambiente in cui la sicurezza dei token è un problema, ad esempio un'app per dispositivi mobili. In questo scenario puoi utilizzare ambiti granulari per ridurre i rischi in caso di token compromesso. Gli ambiti OAuth 2.0 vengono utilizzati anche per autorizzare l'accesso ai dati utente.

Credenziali predefinite dell'applicazione (ADC)

ADC è una strategia utilizzata dalle librerie client Cloud e dalle librerie client delle API di Google per trovare automaticamente le credenziali in base all'ambiente dell'applicazione e utilizzarle per l'autenticazione nelle API Google Cloud. Quando configuri ADC e utilizzi una libreria client, il codice può essere eseguito in un ambiente di sviluppo o di produzione senza modificare l'autenticazione dell'applicazione nei servizi e nelle API Google Cloud.

Se stai scrivendo codice che deve utilizzare i servizi Google Cloud, devi usare ADC quando possibile. L'uso della tecnologia ADC può semplificare il tuo processo di sviluppo, perché ti consente di usare lo stesso codice di autenticazione in diversi ambienti.

Puoi configurare ADC fornendo le tue credenziali, in base a dove vuoi eseguire il codice. Dopo aver fornito le credenziali ad ADC, ADC individuerà automaticamente le credenziali e riceverà un token in background, consentendo l'esecuzione del codice di autenticazione in ambienti diversi senza modifiche. Ad esempio, la stessa versione del tuo codice potrebbe autenticarsi con le API Google Cloud quando viene eseguita su una workstation di sviluppo o su Compute Engine.

Terminologia

I seguenti termini sono importanti per comprendere l'autenticazione e l'autorizzazione.

Autenticazione

L'autenticazione è il processo di determinazione dell'identità dell'entità che tenta di accedere a una risorsa.

Autorizzazione

L'autorizzazione è il processo con cui si stabilisce se l'entità o l'applicazione che tenta di accedere a una risorsa è stata autorizzata per quel livello di accesso.

Credenziali

Per l'autenticazione, le credenziali sono un oggetto digitale che fornisce una prova dell'identità. Password, PIN e dati biometrici possono essere utilizzati come credenziali, a seconda dei requisiti dell'applicazione. Ad esempio, quando accedi al tuo Account Google, devi fornire la tua password e soddisfare eventuali requisiti di autenticazione a due fattori come prova che l'account appartenga effettivamente a te e che non sia possibile eseguire lo spoofing da parte di malintenzionati.

I token sono talvolta indicati come credenziali, ma per questa documentazione sono invece indicati come un oggetto digitale che dimostra che il chiamante ha fornito le credenziali corrette, ma non sono credenziali stesse.

Il tipo di credenziale da fornire dipende dall'autenticazione. In Google Cloud Console è possibile creare i seguenti tipi di credenziali:

  • Chiavi API

    A differenza di altre credenziali, le chiavi API non identificano un entità. Le chiavi API forniscono un progetto Google Cloud per la fatturazione e la quota.

    Molte API di Google non accettano le chiavi API. Per ulteriori informazioni sulle chiavi API, consulta Chiavi API.

  • ID client OAuth

    Gli ID client OAuth vengono utilizzati per identificare un'applicazione su Google. Questa è necessaria quando vuoi accedere alle risorse di proprietà dei tuoi utenti finali, chiamate anche OAuth a tre vie (3LO). Per ulteriori informazioni su come ottenere e utilizzare un ID client OAuth, consulta la pagina Configurare OAuth 2.0.

Entità

Un'entità è un'identità a cui è possibile concedere l'accesso a una risorsa. Per l'autenticazione, le API di Google supportano due tipi di entità: account utente e account di servizio.

L'utilizzo di un account utente o di un account di servizio per l'autenticazione dipende dal caso d'uso. Puoi utilizzarli entrambi, ciascuno in fasi diverse del progetto o in ambienti di sviluppo diversi.

Account utente

Gli account utente rappresentano uno sviluppatore, un amministratore o qualsiasi altra persona che interagisce con le API e i servizi Google.

Gli account utente vengono gestiti come Account Google, con Google Workspace o Cloud Identity. Possono anche essere account utente gestiti da un provider di identità di terze parti e federati con la federazione delle identità di forza lavoro.

Con un account utente, puoi autenticarti nelle API e nei servizi Google nei seguenti modi:

Account di servizio

Gli account di servizio sono account che non rappresentano un utente umano. Offrono un modo per gestire l'autenticazione e l'autorizzazione quando non è coinvolta direttamente una persona, ad esempio quando un'applicazione ha bisogno di accedere alle risorse di Google Cloud. Gli account di servizio sono gestiti da IAM.

Il seguente elenco fornisce alcuni metodi per utilizzare un account di servizio per autenticarsi con le API e i servizi di Google, dal più sicuro al meno protetto.

Token

Per l'autenticazione e l'autorizzazione, un token è un oggetto digitale che mostra che il chiamante ha fornito le credenziali corrette scambiate con quel token. Il token contiene informazioni sull'identità dell'entità che esegue la richiesta e sul tipo di accesso che è autorizzato a eseguire.

I token possono essere considerati come chiavi di hotel. Quando fai il check-in in un hotel e presenti la documentazione appropriata alla reception dell'hotel, riceverai una chiave che ti consente di accedere a risorse specifiche dell'hotel. Ad esempio, la chiave potrebbe darti accesso alla tua camera e all'ascensore, ma non a qualsiasi altra camera o all'ascensore di servizio.

Ad eccezione delle chiavi API, le API di Google non supportano direttamente le credenziali. L'applicazione deve acquisire o generare un token e fornirlo all'API. Esistono diversi tipi di token. Per ulteriori informazioni, consulta la pagina Tipi di token.

Carico di lavoro e forza lavoro

I prodotti di identità e di accesso Google Cloud consentono l'accesso ai servizi e alle risorse Google sia per l'accesso programmatico sia per gli utenti umani. Google utilizza i termini per l'accesso programmatico e la forza lavoro per l'accesso utente.

La federazione delle identità dei carichi di lavoro ti consente di accedere ai carichi di lavoro in esecuzione all'esterno di Google senza dover creare e gestire le chiavi degli account di servizio.

La federazione delle identità con forza lavoro ti consente di utilizzare un provider di identità esterno per autenticare e autorizzare una forza lavoro (un gruppo di utenti, come dipendenti, partner e contrattisti) che utilizza IAM, in modo che gli utenti possano accedere ai servizi Google Cloud.

Passaggi successivi