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 progetto Google Cloud o per il 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 di 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.
Aggiungi codice al servizio Cloud Run per verificare i token ID.
Nella tua app web o mobile:
- Utilizza la libreria client Firebase Auth appropriata per ottenere un token ID:
- Android: utilizza il metodo
GetTokenResult().getToken()
. - iOS: utilizza il metodo
User.getIDTokenResult(completion:)
. - Web: utilizza il metodo
firebase.User.getIdToken()
.
- Android: utilizza il metodo
- Includi il token ID in un'intestazione
Authorization: Bearer ID_TOKEN
nella richiesta al servizio.
- Utilizza la libreria client Firebase Auth appropriata per ottenere un token ID:
Per accedere alle informazioni del profilo dell'utente, puoi utilizzare uno dei seguenti metodi:
- Utilizza l'SDK Firebase Admin per effettuare una richiesta di rete per recuperare i dati utente.
- Utilizza una libreria client dell'API di Google per recuperare i dati utente utilizzando il metodo più adatto al runtime scelto.
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, puoi utilizzare Identity-Aware Proxy.
Per configurare Identity-Aware Proxy per un servizio Cloud Run esistente, consulta la documentazione su come abilitare Identity-Aware Proxy per Cloud Run.
Per istruzioni su come autenticare gli utenti o gli account di servizio in un servizio Cloud Run protetto da Identity-Aware Proxy dell'identità utilizzando OAuth 2.0, consulta la documentazione relativa all'autenticazione programmatica.