Autenticazione degli utenti

Se la tua applicazione gestisce le richieste degli utenti, è buona prassi limitare l'accesso solo agli utenti autorizzati. In genere, gli utenti non dispongono dell'autorizzazione IAM per il tuo Google Cloud progetto o servizio Cloud Run.

Distinguiamo due tipi di utenti:

  • Utenti finali: gli utenti della tua applicazione che non necessariamente appartengono alla tua organizzazione. In genere, devono registrare un account per sé.
  • Utenti interni: utenti a cui è stato concesso esplicitamente l'accesso alla tua applicazione da un amministratore della tua organizzazione. In genere appartengono alla tua organizzazione.

Autenticazione degli utenti finali

Se vuoi autenticare gli utenti utilizzando email/password, numero di telefono, provider social come Google, Facebook o GitHub o un meccanismo di autenticazione personalizzato, puoi utilizzare Identity Platform. L'utilizzo di Firebase Authentication è simile all'utilizzo di Identity Platform.

Devi disporre di un'app web o mobile pubblica che gestisca il flusso di accesso ed esegua chiamate API autenticate a un servizio Cloud Run. Questa app web pubblica può essere ospitata su un servizio Cloud Run pubblico.

Per un tutorial completo sull'utilizzo di Identity Platform per l'autenticazione degli utenti finali, consulta il tutorial sull'autenticazione degli utenti finali per Cloud Run.

  1. Aggiungi codice al servizio Cloud Run per verificare i token ID.

  2. Esegui il deployment del servizio Cloud Run pubblicamente.

  3. Configurare Identity Platform nel progetto

  4. Nella tua app web o mobile:

    1. Utilizza la libreria client Firebase Auth appropriata per ottenere un token ID:
    2. Includi il token di identità in un'Authorization: Bearer ID_TOKEN intestazione nella richiesta al servizio.

Per accedere alle informazioni del profilo dell'utente, puoi utilizzare uno dei seguenti metodi:

Per una procedura dettagliata end-to-end di un'applicazione che utilizza questa tecnica di autenticazione, segui il tutorial sull'autenticazione degli utenti finali per Cloud Run.

Autenticazione degli utenti interni

Per l'autenticazione degli utenti interni, utilizza Identity-Aware Proxy.

Per configurare Identity-Aware Proxy per un servizio Cloud Run, consulta Configurare Identity-Aware Proxy per Cloud Run.

Per le richieste di condivisione delle risorse tra origini (CORS) con controllo preliminare con servizi Cloud Run autenticati, ti consigliamo di configurare IAP per Cloud Run anziché utilizzare l'autenticazione IAM. In questo modo, puoi configurare IAP in modo da consentire richieste OPTIONS non autenticate, che soddisfano il controllo preliminare del browser garantendo al contempo l'autenticazione di tutte le altre richieste.

Anche se IAP consente la richiesta OPTIONS, il codice dell'applicazione che esegui il deployment in Cloud Run deve comunque gestire la richiesta preflight CORS e la richiesta effettiva che segue inviando le intestazioni CORS appropriate.

Per scoprire come autenticare gli utenti o gli account di servizio in un servizio Cloud Run protetto da Identity-Aware Proxy utilizzando OAuth 2.0, consulta la documentazione relativa all'autenticazione programmatica.