Metodi di autenticazione in Google

Questo documento ti aiuta a comprendere alcuni metodi e concetti chiave dell'autenticazione, e dove trovare assistenza per l'implementazione o la risoluzione dei problemi dell'autenticazione. Gli argomenti principali della documentazione sull'autenticazione sono per Google Cloud ma l'elenco dei casi d'uso di autenticazione e il materiale introduttivo in questa pagina include casi d'uso per altri prodotti Google .

Introduzione

L'autenticazione è il processo mediante il quale viene confermata la tua identità. mediante l'uso di alcune credenziali. L'autenticazione è nel dimostrare di essere chi dici di essere.

Google offre molti servizi e API, che richiedono autenticazione per accedere. Google offre inoltre una serie di servizi che ospitano applicazioni scritte dai nostri clienti; queste applicazioni devono determinare l'identità degli utenti.

Ho intenzione di... Informazioni
Esegui l'autenticazione in un servizio Google Cloud dalla mia applicazione utilizzando un linguaggio di programmazione di alto livello. Configura Credenziali predefinite dell'applicazione, e quindi utilizzare una delle Librerie client di Cloud.
Esegui l'autenticazione in un'applicazione che richiede un token ID, ad esempio le app in esecuzione su Cloud Run o Cloud Functions. Esegui l'autenticazione in un'applicazione che richiede un token ID. Ottenere un token ID OpenID Connect (OIDC) e fornisci la tua richiesta.
Implementare l'autenticazione utente per un'applicazione che accede a Google o i servizi e le risorse di Google Cloud. Consulta Autenticare gli utenti delle applicazioni per un confronto delle opzioni.
Prova alcuni comandi gcloud nel mio sviluppo locale completamente gestito di Google Cloud. Inizializza gcloud CLI.
Prova un'API REST Google Cloud nel mio ambiente di sviluppo locale. Usa uno strumento a riga di comando come curl per chiamare l'API REST.
Prova uno snippet di codice incluso nella documentazione del prodotto. Configura localmente le credenziali predefinite dell'applicazione, e installare la libreria client del prodotto nel tuo ambiente locale. La libreria client trova automaticamente le tue credenziali.
Ricevi assistenza per un altro caso d'uso dell'autenticazione. Consulta le Casi d'uso di autenticazione .
Consulta un elenco dei prodotti forniti da Google nell'identità e nell'accesso spazio di gestione dei dati. Consulta le Prodotti Google per la gestione di identità e accessi .

Scegli il metodo di autenticazione giusto per il tuo caso d'uso

Quando accedi ai servizi Google Cloud utilizzando Google Cloud CLI, le librerie client di Cloud, che supportano Credenziali predefinite dell'applicazione (ADC) come Terraform o richieste REST, utilizza il diagramma seguente per aiutarti a scegliere :

Albero decisionale per la scelta del metodo di autenticazione in base al caso d'uso

Questo diagramma illustra le seguenti domande:

  1. Stai eseguendo il codice in un ambiente di sviluppo per utente singolo, ad esempio la tua workstation, Cloud Shell o un'interfaccia desktop virtuale?
    1. In caso affermativo, passa alla domanda 4.
    2. In caso contrario, passa alla domanda 2.
  2. Stai eseguendo il codice in Google Cloud?
    1. In caso affermativo, passa alla domanda 3.
    2. In caso contrario, passa alla domanda 5.
  3. Stai eseguendo container in Google Kubernetes Engine o GKE Enterprise?
    1. In caso affermativo, utilizza federazione delle identità per i carichi di lavoro per GKE per collegare account di servizio ai pod Kubernetes.
    2. In caso contrario, collegare un account di servizio alla risorsa.
  4. Il tuo caso d'uso richiede un account di servizio?

    Ad esempio, se vuoi configurare l'autenticazione e l'autorizzazione in modo coerente per applicazioni in tutti gli ambienti.

    1. In caso contrario, utilizzare le credenziali utente.
    2. Se sì, rappresentare un account di servizio con credenziali utente.
  5. Il carico di lavoro esegue l'autenticazione con un provider di identità esterno che supporti federazione delle identità per i carichi di lavoro?
    1. Se sì, configurare la federazione delle identità per i carichi di lavoro per consentire alle applicazioni in esecuzione on-premise o su altri cloud provider di utilizzare un account di servizio.
    2. In caso contrario, crea una chiave dell'account di servizio.

OAuth 2.0

Le API di Google implementano ed estendono Framework OAuth 2.0. Consulta la documentazione per il tuo ambiente e il caso d'uso per maggiori dettagli.

Metodi di 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. Quando esegui l'autenticazione ai servizi Google Cloud, usano in genere 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, utile se il tuo codice è in esecuzione in un ambiente in cui la sicurezza dei token è un problema, ad esempio un'app mobile. In questo scenario, puoi utilizzare in ambiti più granulari per ridurre i rischi in caso di compromissione del token. Tu puoi trovare l'elenco degli ambiti accettati da un metodo API nel relativo riferimento API pagine nella documentazione del prodotto.

Credenziali predefinite dell'applicazione

Application Default Credentials (ADC) è una strategia utilizzata dalle librerie di autenticazione per trovare automaticamente le credenziali in base all'ambiente dell'applicazione. Le librerie di autenticazione rendere disponibili le credenziali Librerie client di Cloud e librerie client delle API di Google. Quando utilizzi ADC, il codice può essere eseguito in un ambiente di sviluppo o di produzione senza modificare il modo in cui l'applicazione esegue l'autenticazione ai servizi e alle API Google Cloud.

Se scrivi codice che deve utilizzare i servizi Google Cloud, utilizzare ADC quando possibile. L'uso di ADC può semplificare lo sviluppo perché consente di utilizzare lo stesso codice di autenticazione in diverse ambienti cloud-native.

Prima di poter utilizzare ADC, devi fornire le tue credenziali ad ADC, a seconda di dove vuoi che venga eseguito il codice. ADC individuerà automaticamente le credenziali e riceve un token in background, l'esecuzione del codice di autenticazione in diversi ambienti senza modifica. Ad esempio, la stessa versione del tuo codice può autenticarsi con API Google Cloud in esecuzione su una workstation di sviluppo o su in Compute Engine.

Le tue credenziali gcloud non corrispondono a quelle che fornisci ad ADC utilizzando con gcloud CLI. Per ulteriori informazioni, vedi configurazione dell'autenticazione gcloud CLI e configurazione ADC.

Terminologia

I termini seguenti sono importanti quando si parla di autenticazione e autorizzazione.

Autenticazione

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

Autorizzazione

L'autorizzazione è il processo per determinare se l'entità o l'applicazione che tenta di accedere a una risorsa è stato autorizzato per quel livello di accesso.

Credenziali

Quando il termine account utente viene utilizzato, il documento fa riferimento a un Account Google, o un account utente gestito dal tuo provider di identità e federato con federazione delle identità per la forza lavoro.

Per l'autenticazione, le credenziali sono un oggetto digitale che fornisce la prova di e identità di base. Password, PIN e dati biometrici possono essere usati come credenziali, a seconda dei requisiti dell'applicazione. Ad esempio, quando accedi al tuo account utente, fornisci la tua password e soddisfi tutte le esigenze dell'account requisito di autenticazione come prova che l'account appartiene effettivamente a te; e non sia stato falsificato da un malintenzionato.

I token sono a volte denominati credenziali, ma in questo caso documentazione, vengono invece denominati oggetti digitali che dimostrano che il chiamante ha fornito le credenziali corrette, ma non si tratta di credenziali.

Il tipo di credenziale che devi fornire dipende da cosa stai l'autenticazione. Nella sezione Console Google Cloud:

  • Chiavi API

    A differenza delle altre credenziali, le chiavi API non identificano principal. Le chiavi API offrono una soluzione Google Cloud ai fini della fatturazione e della quota.

    Molte API di Google non accettano chiavi API. Per ulteriori informazioni sull'API consulta l'articolo Chiavi API.

  • ID client OAuth

    Gli ID client OAuth consentono di identificare un'applicazione in Google Cloud. Questa operazione è necessaria se vuoi accedere alle risorse di proprietà dei tuoi utenti finali, noto anche come OAuth a tre vie (3LO). Per ulteriori informazioni per informazioni su come ottenere e utilizzare un ID client OAuth, consulta Configurare OAuth 2.0.

  • Chiavi account di servizio

    Le chiavi dell'account di servizio identificano un'entità (l'account di servizio) un progetto associato all'account di servizio.

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 il tuo caso d'uso. Potresti utilizzarli in due fasi diverse del progetto in diversi ambienti di sviluppo.

Account utente

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

Gli account utente sono gestiti come Account Google, con Google Workspace oppure Cloud Identity. Possono anche essere account utente gestiti da un provider di identità di terze parti e federato con Federazione delle identità per la forza lavoro.

Con un account utente, puoi autenticarti alle API e ai servizi Google nel nei seguenti modi:

Per una panoramica su come configurare le identità per gli utenti in Google Cloud, consulta Identità per gli utenti.

Account di servizio

Gli account di servizio sono account che non rappresentano un utente umano. Forniscono un modo per gestire l'autenticazione quando un essere umano non è direttamente coinvolto, ad esempio quando un'applicazione deve accedere alle risorse Google Cloud. Gli account di servizio sono gestiti da o IAM.

Il seguente elenco fornisce alcuni metodi per utilizzare un account di servizio per: l'autenticazione alle API e ai servizi Google, dal più sicuro al meno in tutta sicurezza. Per ulteriori informazioni, vedi Scegli il metodo di autenticazione giusto per il tuo caso d'uso in questa pagina.

Per una panoramica dei modi per configurare le identità dei carichi di lavoro, inclusi i servizi per Google Cloud, consulta Identità per i carichi di lavoro. Per le best practice, consulta le best practice per l'utilizzo degli account di servizio.

Token

Per l'autenticazione e l'autorizzazione, un token è un oggetto digitale che mostra che il chiamante ha fornito le credenziali corrette che sono state scambiate per il token. Il token contiene informazioni sull'identità dell'entità che rende e il tipo di accesso che sono autorizzati a concedere.

I token possono essere considerati come chiavi di hotel. Quando fai il check-in in un hotel e presentare la documentazione appropriata alla reception dell'hotel, riceverai una chiave che ti dà accesso a risorse specifiche per gli hotel. Ad esempio, la chiave potrebbe consentire l'accesso alla stanza e all'ascensore per gli ospiti, ma non che permette di accedere a qualsiasi altra stanza 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, vedi Tipi di token.

Carico di lavoro e forza lavoro

I prodotti di identità e accesso di Google Cloud consentono di accedere a Servizi e risorse di Google Cloud sia per l'accesso programmatico che per quello umano utenti. Google Cloud utilizza i termini carico di lavoro per l'accesso programmatico e forza lavoro per l'accesso degli utenti.

La Federazione delle identità per i carichi di lavoro ti consente di fornire l'accesso a: carichi di lavoro on-premise o multi-cloud senza dover creare e gestire e gestire le chiavi account di servizioo.

La Federazione delle identità per la forza lavoro consente di utilizzare un provider di identità esterno per autenticare e autorizzare la forza lavoro: un gruppo di utenti, ad esempio dipendenti, e fornitori, utilizzando IAM, in modo che gli utenti possano accedere servizi Google Cloud.

Passaggi successivi