Questa pagina fornisce una panoramica dell'autenticazione nella piattaforma Google Cloud per gli sviluppatori di applicazioni. Descrive entità, credenziali delle applicazioni e vari modi per autenticare le chiamate alle API Google Cloud.
Introduzione
Il controllo degli accessi per le API Google Cloud comprende autenticazione, autorizzazione e controllo. L'autenticazione determina chi sei, l'autorizzazione determina cosa puoi fare e l'audit log registra ciò che hai fatto.
Questa pagina è incentrata sull'autenticazione. Per l'autorizzazione, consulta la pagina relativa a Identity and Access Management (IAM). Per il controllo, consulta Audit log di Cloud.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
Inizia gratuitamenteEntità
Un'entità è un'entità, nota anche come identità, a cui può essere concesso l'accesso a una risorsa. Le API Google Cloud supportano due tipi di entità: account utente e account di servizio:
Gli account utente sono gestiti come Account Google e rappresentano uno sviluppatore, un amministratore o qualsiasi altra persona che interagisce con Google Cloud. Sono destinati a scenari in cui la tua applicazione deve accedere alle risorse per conto di un utente umano. Per ulteriori informazioni, consulta Autenticazione come utente finale.
Gli account di servizio sono gestiti da IAM e rappresentano utenti non umani. Sono destinati a scenari in cui l'applicazione deve accedere alle risorse o eseguire azioni in modo indipendente, ad esempio eseguire app di App Engine o interagire con le istanze di Compute Engine. Per ulteriori informazioni, consulta Autenticazione come account di servizio.
Per ulteriori informazioni su ciascun tipo di account, consulta la panoramica IAM.
Applicazioni
Le API Google Cloud accettano solo richieste da applicazioni registrate, ovvero applicazioni identificabili in modo univoco che presentano credenziali al momento della richiesta. Le richieste provenienti da applicazioni anonime vengono rifiutate.
Le credenziali dell'applicazione forniscono le informazioni richieste riguardo al chiamante che effettua una richiesta a un'API Google Cloud. I tipi di credenziali validi includono chiavi API, credenziali client OAuth 2.0 o chiavi di account di servizio. Gli account di servizio sono univoci poiché possono essere utilizzati sia come credenziale dell'applicazione che come entità principale. Per ulteriori informazioni, consulta Informazioni sugli account di servizio.
La presentazione di credenziali delle applicazioni nelle richieste alle API Google Cloud identifica il chiamante solo come applicazione registrata; se è richiesta l'autenticazione, il client deve anche identificare l'entità che esegue l'applicazione, ad esempio un account utente o un account di servizio. Questo processo è descritto nella sezione riportata di seguito.
Strategie di autenticazione
Le API Google Cloud utilizzano il protocollo OAuth 2.0 per l'autenticazione sia degli account utente sia degli account di servizio. Il processo di autenticazione OAuth 2.0 determina sia l'entità che l'applicazione.
La maggior parte delle API Google Cloud supporta anche l'accesso anonimo ai dati pubblici utilizzando chiavi API. Tuttavia, le chiavi API identificano solo l'applicazione, non l'entità. Quando utilizzi chiavi API, l'entità deve essere autenticata con altri mezzi.
Le API Google Cloud supportano più flussi di autenticazione per diversi ambienti di runtime. Per un'esperienza ottimale con gli sviluppatori, consigliamo di utilizzare le librerie client di Google Cloud con le API di Google Cloud. Utilizzano le librerie di autenticazione fornite da Google che supportano diversi flussi di autenticazione e ambienti di runtime.
Per creare un'applicazione utilizzando le API di Google Cloud, segui questi passaggi generali:
- Scegliere e utilizzare le librerie client di Google Cloud fornite
- Determina il flusso di autenticazione corretto per l'applicazione
- Trova o crea le credenziali per l'applicazione necessarie
- Passa le credenziali dell'applicazione alle librerie client all'avvio dell'applicazione, possibilmente tramite Credenziali predefinite dell'applicazione (ADC)
Dovresti scegliere le credenziali dell'applicazione in base alle esigenze e all'ambiente di esecuzione. La tabella seguente offre alcuni consigli generali per i requisiti comuni:
Requisito | Suggerimento | Commento |
---|---|---|
Accesso ai dati pubblici in modo anonimo | Chiave API | Una chiave API identifica l'applicazione solo e non richiede l'autenticazione utente. È sufficiente per accedere ai dati pubblici. |
Accesso ai dati privati per conto di un utente finale | Client OAuth 2.0 | Un client OAuth 2.0 identifica l'applicazione e consente agli utenti finali di autenticarla con Google. Consente alla tua applicazione di accedere alle API Google Cloud per conto dell'utente finale. |
Accesso ai dati privati per conto di un account di servizio all'interno di ambienti Google Cloud | Account di servizio fornito dall'ambiente | Se la tua applicazione viene eseguita in un ambiente Google Cloud, come Compute Engine, App Engine, GKE, Cloud Run o Cloud Functions, l'applicazione dovrebbe utilizzare l'account di servizio fornito dall'ambiente. Le librerie client di Google Cloud troveranno e utilizzeranno automaticamente le credenziali dell'account di servizio. |
Accesso ai dati privati per conto di un account di servizio al di fuori degli ambienti Google Cloud | Chiave account di servizio | Devi creare un account di servizio e scaricare la relativa chiave privata come file JSON. Devi passare il file alle librerie client di Google Cloud in modo che possano generare le credenziali dell'account di servizio in fase di esecuzione. Le librerie client di Google Cloud troveranno e utilizzeranno automaticamente le credenziali dell'account di servizio utilizzando la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS . |
Esempi
I seguenti esempi di codice mostrano come utilizzare strategie di autenticazione diverse utilizzando la versione del linguaggio Go della libreria client Pub/Sub. L'esperienza di sviluppo per altri linguaggi è quasi identica.
Chiavi dell'account di servizio
Per ulteriori informazioni, consulta la pagina Autenticazione come account di servizio.Account di servizio dell'ambiente
Per ulteriori informazioni, consulta la pagina Autenticazione come account di servizio.Client OAuth 2.0
Per ulteriori informazioni, consulta la pagina Autenticazione come utente finale.Chiavi API
Per ulteriori informazioni, consulta l'articolo sull'utilizzo delle chiavi API.Passaggi successivi
- Ulteriori informazioni su come autenticarsi come utente finale
- Ulteriori informazioni sull'autenticazione come account di servizio
- Ulteriori informazioni sull'utilizzo delle chiavi API