Autenticazione e autorizzazione sono meccanismi utilizzati per verificare rispettivamente l'identità e l'accesso alle risorse. Questo documento identifica i termini chiave che devi conoscere prima di implementare l'autenticazione e l'autorizzazione nella tua app.
Autenticazione identifica chi sta effettuando la richiesta. Autorizzazione identifica le risorse a cui il richiedente può accedere e il livello di accesso di cui dispone. L'autenticazione è un prerequisito per l'autorizzazione. Non puoi determinare a quali risorse accedere senza prima aver stabilito l'identità del richiedente. Per una definizione più dettagliata, consulta la sezione Terminologia importante.
Considera il seguente esempio semplificato di una prenotazione di hotel. All'arrivo in hotel, l'addetto alla reception richiede il tuo documento di identità per verificare la tua prenotazione. Il tuo documento di identità esegui l'autenticazione all'hotel. L'addetto alla reception fornisce una chiave dell'hotel. Questa chiave consente di accedere a determinate risorse dell'hotel, ad esempio la camera dell'hotel, la palestra e il business center. La chiave dell'hotel ti autorizza ad accedere a queste risorse.
Panoramica della procedura
Il seguente diagramma mostra i passaggi di livello generale di autenticazione e autorizzazione per le API Google Workspace:

Configura il tuo progetto e l'app Google Cloud:durante lo sviluppo, registri la tua app nella console Google Cloud, definendo gli ambiti di autorizzazione e le credenziali di accesso per autenticare la tua app con una chiave API, una credenziale dell'utente finale o una credenziale dell'account di servizio.
Autentica la tua app per l'accesso: quando la tua app è in esecuzione, le credenziali di accesso registrate vengono valutate. Se la tua app viene autenticata come utente finale, potrebbe essere visualizzata una richiesta di accesso.
Richiedi risorse: quando la tua app ha bisogno di accedere alle risorse Google, chiede a Google di utilizzare gli ambiti di accesso pertinenti registrati in precedenza.
Chiedere il consenso dell'utente: se la tua app viene autenticata come utente finale, Google mostra la schermata del consenso OAuth in modo che l'utente possa decidere se concedere all'app l'accesso ai dati richiesti.
Invia una richiesta di risorse approvata: se l'utente dà il consenso agli ambiti di accesso, l'app raggruppa le credenziali e gli ambiti di accesso approvati dall'utente in una richiesta. La richiesta viene inviata al server di autorizzazione di Google per ottenere un token di accesso.
Google restituisce un token di accesso: il token di accesso contiene un elenco di ambiti di accesso concessi. Se l'elenco restituito degli ambiti è più limitato degli ambiti di accesso richiesti, l'app disattiva tutte le funzionalità limitate dal token.
Accesso alle risorse richieste: l'app utilizza il token di accesso di Google per richiamare le API pertinenti e accedere alle risorse.
Ottenere un token di aggiornamento (facoltativo): se la tua app richiede l'accesso a un'API di Google oltre la durata di un singolo token di accesso, può ottenere un token di aggiornamento.
Richiedi altre risorse: se è necessario un accesso aggiuntivo, l'app chiede all'utente di concedere nuovi ambiti di accesso, con la conseguente richiesta di un nuovo token di accesso (passaggi 3-6).
Terminologia importante
Di seguito è riportato un elenco di termini correlati all'autenticazione e all'autorizzazione:
- Autenticazione
Garantire che un principio, ovvero un utente o un'app che agisca per conto di un utente, sia chi dichiara di essere. Quando scrivi le app di Google Workspace, devi tenere presenti questi tipi di autenticazione:
- Autenticazione degli utenti
- L'autenticazione di un utente (accesso) alla tua app. In genere, l'autenticazione utente viene eseguita tramite una procedura di accesso in cui l'utente utilizza una combinazione di nome utente e password per verificare la propria identità nell'app. L'autenticazione utente può essere incorporata in un'app utilizzando Accedi con Google.
- Autenticazione app
- L'azione di un'app che esegue l'autenticazione direttamente nei servizi Google per conto dell'utente che la esegue. L'autenticazione app in genere viene eseguita utilizzando credenziali preconfigurate nel codice dell'app.
- Autorizzazione
Le autorizzazioni o l'"autorità" che l'entità deve accedere ai dati o eseguire operazioni. L'atto di autorizzazione viene eseguito tramite il codice che scrivi nella tua app. Questo codice informa l'utente che l'app vuole agire per suo conto e, se consentito, utilizza le credenziali univoche dell'app per ottenere un token di accesso da Google utilizzato per accedere ai dati o eseguire operazioni.
- Credenziali
Una forma di identificazione utilizzata per la sicurezza del software. In termini di autenticazione, una credenziale è spesso una combinazione di nome utente e password. In termini di autorizzazione per le API Google Workspace, una credenziale è in genere una qualche forma di identificazione, ad esempio una stringa di secret univoca, nota solo tra lo sviluppatore di app e il server di autenticazione. Google supporta queste credenziali di autenticazione: chiave API, OAuth 2.0 Client-ID e account di servizio.
- Chiave API
- Le credenziali utilizzate per richiedere l'accesso ai dati pubblici, come i dati forniti dall'API di Google Maps o i file di Google Workspace condivisi utilizzando l'impostazione "Chiunque su Internet con questo link" nelle impostazioni di condivisione di Google Workspace.
- ID client OAuth 2
- Le credenziali utilizzate per richiedere l'accesso ai dati di proprietà dell'utente. Questa è la credenziale principale utilizzata per richiedere l'accesso ai dati tramite le API di Google Workspace. Questa credenziale richiede il consenso dell'utente.
- Client secret
- Una stringa di caratteri che devono essere conosciuti solo dall'applicazione e dal server di autorizzazione. Il client secret protegge i dati dell'utente concedendo token solo ai richiedenti autorizzati. Non devi mai includere il client secret nella tua app.
- Chiavi dell'account di servizio
- Utilizzati dagli account di servizio per ottenere l'autorizzazione a un servizio Google.
- Account di servizio
- Una credenziale utilizzata per le interazioni server-server, ad esempio un'app senza volto che viene eseguita come processo per accedere ad alcuni dati o eseguire una determinata operazione. Gli account di servizio vengono generalmente utilizzati per accedere a dati e operazioni basati su cloud. Tuttavia, se utilizzati con la delega dell'autorità a livello di dominio, possono essere usati per accedere ai dati utente.
- Ambito
Una stringa URI OAuth 2.0 che definisce un livello di accesso alle risorse o alle azioni concesse a un'app. Per Google Workspace, gli URI dell'ambito di autorizzazione contengono il nome dell'app Google Workspace, il tipo di dati a cui accede e il livello di accesso. Gli utenti dell'app possono esaminare gli ambiti richiesti e scegliere quale accesso concedere; in seguito, il server di autenticazione di Google restituisce gli ambiti consentiti alla tua app in un token di accesso. Per maggiori dettagli, consulta la pagina Come scegliere gli ambiti per l'app.
- Server di autorizzazione
Il server di Google per concedere l'accesso, utilizzando un token di accesso, ai dati e alle operazioni richiesti da un'app.
- Codice di autorizzazione
Un codice inviato dal server di autorizzazione utilizzato per ottenere un token di accesso. Un codice è necessario solo quando il tipo di applicazione è un'app del server web o un'app installata.
- Token di accesso
Un token che concede l'accesso a un'API Google Workspace. Un singolo token di accesso può concedere livelli di accesso diversi, noti come ambiti, dell'accesso a più API. Il codice di autorizzazione dell'app richiede token di accesso e li utilizza per richiamare le API Google Workspace.
- Server delle risorse
Il server che ospita l'API che la tua app vuole chiamare.
- Framework OAuth 2.0
Uno standard che l'app può utilizzare per fornire "accesso delegato sicuro" o l'accesso a dati e operazioni per conto dell'utente. I meccanismi di autenticazione e autorizzazione utilizzati nella tua app rappresentano la tua implementazione del framework OAuth 2.0.
- Entità
Un'entità, nota anche come identità, a cui è possibile concedere l'accesso a una risorsa. Le API Google Workspace supportano due tipi di entità: account utente e account di servizio. Per maggiori dettagli, consulta Entità.
- Tipo di dati
Nel contesto di autenticazione e autorizzazione, il tipo di dati si riferisce all'entità a cui appartengono i dati a cui l'applicazione tenta di accedere. Esistono tre tipi di dati:
- Dati di dominio pubblico
- Dati accessibili a tutti, ad esempio alcuni dati di Google Maps. Questi dati sono solitamente accessibili tramite una chiave API.
- Dati dell'utente finale
- Dati appartenenti a un utente o gruppo finale specifici, ad esempio i file di Google Drive di un utente specifico. Questo tipo di dati è solitamente accessibile mediante un ID client o un account di servizio OAuth 2.
- Dati cloud
- Dati di proprietà di un progetto Google Cloud. In genere questo tipo di dati è accessibile da un account di servizio.
- Consenso degli utenti
Un passaggio di autorizzazione che richiede all'utente dell'app di autorizzare l'app ad accedere ai dati ed eseguire operazioni per conto dell'utente.
- Tipo di applicazione
Il tipo di app che vuoi creare. Quando crei le credenziali utilizzando la console Google Cloud, ti viene chiesto di selezionare il tipo di applicazione. I tipi di applicazione sono: applicazioni web (JavaScript), Android, app di Chrome, iOS, TV e dispositivi con input limitato, app desktop (detta anche "app installata") e UWP (Universal Windows Platform).
- Account di servizio
Un tipo speciale di Account Google destinato a rappresentare un utente "non umano" che deve eseguire l'autenticazione ed essere autorizzato ad accedere ai dati. L'applicazione presuppone che l'account di servizio chiami le API di Google, in modo che gli utenti non siano coinvolti direttamente. Da soli, gli account di servizio non possono essere utilizzati per accedere ai dati utente; di solito si accede ai dati utilizzando le API Workspace. Tuttavia, un account di servizio può accedere ai dati utente implementando la delega a livello di dominio. Per maggiori dettagli, consulta Informazioni sugli account di servizio.
- Delega dell'autorità a livello di dominio
Una funzionalità di amministrazione che può autorizzare un'applicazione ad accedere ai dati degli utenti per conto degli utenti dell'organizzazione Google Workspace. La delega a livello di dominio può essere utilizzata per eseguire attività relative all'amministrazione sui dati utente. Per delegare l'autorità in questo modo, gli amministratori di Google Workspace utilizzano account di servizio con OAuth 2.0. Grazie alla potenza di questa funzionalità, solo i super amministratori possono abilitare la delega a livello di dominio. Per ulteriori dettagli, consulta Delega dell'autorità a livello di dominio a un account di servizio.
Passaggio successivo
Configura la schermata per il consenso OAuth della tua app per assicurarti che gli utenti possano comprendere e approvare il tipo di accesso ai tuoi dati.