Autenticazione degli utenti

Per autenticare gli utenti nelle applicazioni Google Cloud, Google offre i seguenti metodi di autenticazione degli utenti:

Servizio di autenticazione Riepilogo
Identity Platform (consigliata) Autentica gli utenti utilizzando password, numeri di telefono, provider di identità federati popolari come Google, Facebook, Twitter e qualsiasi provider che supporti il protocollo SAML o OpenID Connect. Offre funzionalità aziendali tra cui autenticazione a più fattori, supporto OIDC e SSO SAML, multitenancy, SLA del 99, 95% e molto altro.

Il metodo consigliato quando si avvia un nuovo progetto, in modo da poter utilizzare le funzionalità di Identity Platform e quelle legacy di Firebase Authentication.
Firebase Authentication Autentica gli utenti utilizzando diverse opzioni di autenticazione, tra cui Google, Facebook e Twitter. Firebase Authentication supporta il maggior numero di utenti mantenendo la minima quantità di codice.

Il metodo consigliato per eseguire il deployment di una soluzione nel minor numero di passaggi.
Servizi di identità Google per il web Autentica gli utenti utilizzando gli account utente Google da Gmail e Google Workspace.

Il metodo consigliato per supportare gli account solo Google o per supportare gli Account Google in un sistema di accesso esistente.
OAuth 2.0 e OpenID Connect Fornisce un'identità federata dal provider di tua scelta, incluso Google.

Il metodo consigliato se vuoi creare autonomamente il protocollo di autenticazione dell'utente.
Identity-Aware Proxy (IAP) Fornisce l'autenticazione aggiungendo un livello di verifica di Identity and Access Management (IAM) sopra l'app App Engine. IAP ti consente di controllare l'accesso ai servizi App Engine prima che le richieste raggiungano le risorse dell'applicazione. Di conseguenza, IAP non è idoneo per la protezione dalle attività nell'ambito dello stesso progetto Google Cloud.

Il metodo consigliato se vuoi utilizzare Account Google e IAM per controllare l'accesso degli utenti.
API Users Autentica gli utenti che utilizzano account Google e Google Workspace. Il servizio Utenti App Engine è accessibile solo tramite i servizi in bundle legacy.

Identity Platform

Identity Platform è una piattaforma per la gestione delle identità e degli accessi del cliente (GIAC) che consente alle organizzazioni di personalizzare l'identità e l'autenticazione per la registrazione e l'accesso degli utenti nelle loro applicazioni. Identity Platform supporta diversi metodi di autenticazione (SFTP, OIDC, email/password, autenticazione social, telefonica e personalizzata) per fornire opzioni di integrazione flessibili per qualsiasi soluzione di gestione delle identità. Identity Platform, basato sulla scalabilità, sulle prestazioni, sulla rete e sulla sicurezza globali di Google Cloud, offre assistenza e SLA di livello enterprise per soddisfare le esigenze di praticamente qualsiasi app o servizio.

Questa soluzione è ideale per la maggior parte degli utenti che vogliono opzioni di autenticazione flessibili basate su funzionalità e SLA affidabili di livello aziendale.

Identity Platform offre un proprio sistema di identità utente. Se utilizzi già Google Workspace per il tuo dominio e vuoi autenticare gli utenti in base a questi dati di accesso, devi utilizzare Servizi di identità Google per il web.

Per ulteriori informazioni sull'integrazione di Identity Platform con App Engine, consulta la guida illustrativa per l'accesso degli utenti su App Engine.

Firebase Authentication

Firebase Authentication fornisce un servizio di identità e autenticazione personalizzabile e disponibile per la registrazione e l'accesso degli utenti. Analogamente a Identity Platform, Firebase Authentication supporta più metodi di autenticazione (tramite SAML, OIDC, email/password, autenticazione social, mobile e personalizzata) per offrire opzioni di integrazione flessibili per qualsiasi soluzione di gestione delle identità.

Firebase Authentication differisce da Identity Platform per il fatto che non dispone di determinate funzionalità aziendali. Per saperne di più, consulta Differenze tra Identity Platform e Firebase Authentication.

Questa soluzione è la soluzione migliore se cerchi il modo più leggero per configurare l'autenticazione utente per un'app di App Engine. Per molti utenti, Firebase Authentication è il modo più rapido per implementare o testare l'autenticazione.

Per saperne di più su Firebase Authentication, prova quanto segue:

  • Il tutorial web di Firebase illustra come utilizzare Firebase su un sito web, incluso l'accesso degli utenti con Google come provider di identità.

  • Le app della guida rapida di Firebase mostrano come integrare Firebase tra più piattaforme utilizzando esempi di accesso federato e di accesso con nome utente/password. Gli esempi mostrano Firebase Authentication utilizzando l'SDK JavaScript, nonché su iOS e Android.

Servizi di identità Google per il web

I servizi di identità Google per il web è una libreria client di accesso per Google basata sui protocolli OAuth 2.0 e OpenID Connect. che consente un accesso rapido e semplice grazie al pulsante Accedi con Google che viene visualizzato sul tuo sito web o nella tua app.

Questa soluzione è la migliore se vuoi autenticare gli utenti in base ai loro Account Google o se utilizzi la Console di amministrazione Google per il tuo dominio.

OAuth 2.0 e OpenID Connect

OpenID Connect è un livello di identità superiore al protocollo OAuth 2.0. Google offre un'implementazione di OAuth 2.0 conforme alla specifica OpenID Connect e certificato OpenID. Sono disponibili anche diversi altri provider.

Questa soluzione è ideale per la personalizzazione e il controllo totali dell'implementazione dell'autenticazione.

Per maggiori informazioni, consulta OpenID Connect.

Identity-Aware Proxy (IAP)

A differenza delle altre opzioni di autenticazione che implementano l'autenticazione all'interno dell'app, IAP protegge e protegge l'applicazione aggiungendo un livello di autenticazione e autorizzazione IAM davanti alle risorse. Questo livello verifica le richieste esterne in entrata prima che l'app possa essere raggiunta. Gli utenti non autorizzati ad accedere alla tua app non possono raggiungere la tua app App Engine.

Puoi attivare IAP per l'intera app oppure per versioni o servizi specifici dell'app. Alle applicazioni o ai servizi protetti da IAP possono accedere solo le entità con il ruolo IAM corretto. Quando un utente tenta di accedere a una risorsa protetta da IAP, IAP esegue automaticamente i controlli di autenticazione e autorizzazione. Scopri in che modo IAP protegge le risorse delle tue applicazioni nella panoramica di IAP.

IAP non protegge dall'attività all'interno di un progetto, ad esempio se un servizio App Engine accede a un altro servizio nello stesso progetto.

Questa è la soluzione migliore se vuoi utilizzare account utente Google e IAM per autorizzare l'accesso degli utenti.

Per scoprire come configurare IAP per le tue risorse App Engine, consulta la guida rapida di IAP.

API Users

L'API Users consente a un'app App Engine di eseguire le attività seguenti:

  • Rileva se l'utente corrente ha eseguito l'accesso utilizzando un Account Google.
  • Reindirizza l'utente alla pagina di accesso appropriata per l'accesso.
  • Chiedi all'utente di creare un nuovo Account Google se non ne ha già uno.

Mentre un utente ha eseguito l'accesso all'applicazione, l'app può accedere all'indirizzo email dell'utente. L'app può anche rilevare se l'utente corrente è amministratore, semplificando l'implementazione delle aree dell'app riservate agli amministratori.

Questa soluzione funziona bene se stai eseguendo l'upgrade di un'app esistente da un runtime di prima generazione a un runtime di seconda generazione e vuoi continuare a utilizzare l'API Users. Se vuoi la flessibilità di passare a Cloud Run o a un'altra piattaforma di hosting di app Google Cloud in un secondo momento, ti consigliamo di eseguire la migrazione a una soluzione di autenticazione degli utenti più moderna.

Per scoprire di più sull'integrazione dell'API Users, consulta la panoramica dell'API Users.

Altri servizi di autenticazione

Auth0 fornisce l'autenticazione con vari provider di identità e funzionalità Single Sign-On.