Wenn Ihre Anwendung Anfragen von Nutzern verarbeitet, sollten Sie als Best Practice den Zugriff auf zugelassene Nutzer beschränken. Nutzer haben in der Regel keine IAM-Berechtigung für Ihr Google Cloud-Projekt oder Ihren Cloud Run-Dienst.
Wir unterscheiden zwei Arten von Nutzern:
- Endnutzer: Nutzer Ihrer Anwendung, die nicht unbedingt zu Ihrer Organisation gehören. Normalerweise müssen Nutzer ein Konto für sich selbst registrieren.
- Interne Nutzer: Nutzer, die explizit von einem Administrator in Ihrer Organisation Zugriff auf Ihre Anwendung erhalten. Sie gehören normalerweise zu Ihrer Organisation.
Endnutzer authentifizieren
Wenn Sie Nutzer über E-Mail/Passwort, Telefonnummer, soziale Netzwerke wie Google, Facebook oder GitHub oder über einen benutzerdefinierten Authentifizierungsmechanismus authentifizieren möchten, können Sie Identity Platform verwenden. Die Verwendung von Firebase Authentication ähnelt der Verwendung von Identity Platform.
Sie benötigen eine öffentliche Webanwendung oder eine mobile App, die den Anmeldevorgang übernimmt und dann authentifizierte API-Aufrufe an einen Cloud Run-Dienst durchführt. Diese öffentliche Webanwendung kann selbst in einem öffentlichen Cloud Run-Dienst gehostet werden.
Eine vollständige Anleitung zur Verwendung von Identity Platform für die Endnutzerauthentifizierung finden Sie in der Anleitung Endnutzerauthentifizierung für Cloud Run.
Fügen Sie Ihrem Cloud Run-Dienst Code hinzu, um ID-Tokens zu prüfen.
Gehen Sie in Ihrer Web- oder mobilen Anwendung so vor:
- Verwenden Sie die erforderliche Firebase Authentication-Clientbibliothek, um ein ID-Token abzurufen:
- Android: Verwenden Sie die Methode
GetTokenResult().getToken()
. - iOS: Verwenden Sie die Methode
User.getIDTokenResult(completion:)
. - Web: Verwenden Sie die Methode
firebase.User.getIdToken()
.
- Android: Verwenden Sie die Methode
- Fügen Sie das ID-Token in der Anfrage an den Dienst im Header
Authorization: Bearer ID_TOKEN
ein.
- Verwenden Sie die erforderliche Firebase Authentication-Clientbibliothek, um ein ID-Token abzurufen:
Sie können eine der folgenden Methoden verwenden, um auf Nutzerprofilinformationen zuzugreifen:
- Verwenden Sie das Firebase Admin SDK, um eine Netzwerkanfrage zum Abrufen von Nutzerdaten zu stellen.
- Verwenden Sie eine Google API-Clientbibliothek, um Nutzerdaten mit der für Ihre Laufzeit am besten geeigneten Methode abzurufen.
Das Tutorial Endnutzerauthentifizierung für Cloud Run enthält eine schrittweise Anleitung für eine Anwendung mit dieser Authentifizierungsmethode.
Interne Nutzer authentifizieren
Für die interne Nutzerauthentifizierung können Sie Identity-Aware Proxy verwenden.
Informationen zum Einrichten von Identity-Aware Proxy für einen vorhandenen Cloud Run-Dienst finden Sie in der Dokumentation zum Aktivieren von Identity-Aware Proxy für Cloud Run.
Eine Anleitung zur Authentifizierung von Nutzern oder Dienstkonten für einen mit Identity-Aware Proxy gesicherten Cloud Run-Dienst unter Verwendung von OAuth 2.0 finden Sie in der Dokumentation zur programmatischen Authentifizierung.