Sie können den Modus „Authentifizierte Nutzer“ für Ihr Firebase-Projekt erzwingen. Wenn dieser Modus erzwungen wird, müssen alle Gemini API-Anfragen über Firebase AI Logic von authentifizierten Nutzern Ihrer App stammen. Der Endnutzer Ihrer App muss mit Firebase Authentication authentifiziert werden, bevor er eine Anfrage von Ihrer App an Firebase AI Logic sendet. Wenn der Endnutzer nicht authentifiziert ist, wird die Anfrage blockiert.
Wenn eine Anfrage blockiert wird, wird die Antwort ein 401: unauthenticated-Fehler sein.
Wichtige Aspekte
Beachten Sie die folgenden wichtigen Überlegungen zum Modus „Authentifizierte Nutzer“.
Wenn der Modus „Authentifizierte Nutzer“ erzwungen wird
Beachten Sie Folgendes, wenn der Modus „Authentifizierte Nutzer“ erzwungen wird:
Diese Einstellung ist eine projektweite Einstellung für Firebase AI Logic.
- Sie gilt für alle im Projekt registrierten Apps.
- Sie gilt nur für das Projekt, in dem sie erzwungen wird.
Mit dieser Einstellung werden alle Anfragen über Firebase AI Logic blockiert, die keine Firebase Authentication-Anmeldedaten senden.
- Der Nutzer muss über Firebase Authentication authentifiziert werden, bevor die Anfrage an Firebase AI Logic gesendet wird.
- Diese Einstellung gilt für alle Anfragen über Firebase AI Logic sowohl an Gemini Developer API als auch an Agent Platform Gemini API (formerly Vertex AI).
- Diese Einstellung gilt für alle Anfragen, die Server-Promptvorlagen verwenden.
- Diese Einstellung kann nicht pro Nutzer, pro API oder pro Vorlage angewendet werden.
Mit dieser Einstellung werden Gemini API-Anfragen in Ihrem Projekt, die nicht über Firebase AI Logic erfolgen, nicht blockiert.
Wenn Sie Hybrid / On-Device verwenden:
- Mit dieser Einstellung werden Anfragen an das in der Cloud gehostete Modell blockiert, wenn der Nutzer nicht authentifiziert ist.
- Mit dieser Einstellung werden Anfragen an das On-Device-Modell nicht blockiert, unabhängig vom Authentifizierungsstatus des Nutzers.
Wenn Sie das Gemini Live API verwenden:
- Mit dieser Einstellung wird die Verwendung der Gemini Live API für Web-Apps blockiert, wenn Firebase AI Logic verwendet wird – auch für authentifizierte Nutzer. Dazu gehören Web-Apps, die das Firebase JS SDK verwenden, oder Flutter-Web-Apps.
Wenn Sie die Firebase AI Logic REST API verwenden:
- Mit dieser Einstellung werden Inferenzanfragen blockiert, die keine Firebase Authentication-Anmeldedaten senden. Dazu gehören Anfragen für Server-Promptvorlagen wie
templateGenerateContentodertemplateStreamGenerateContent. - Diese Einstellung blockiert keine Anfragen der Steuerungsebene (z. B. zum Verwalten von Vorlagen und Konfigurationen), da sie durch IAM geschützt sind.
- Mit dieser Einstellung werden Inferenzanfragen blockiert, die keine Firebase Authentication-Anmeldedaten senden. Dazu gehören Anfragen für Server-Promptvorlagen wie
Diese Einstellung blockiert keine Anfragen an
countTokens(die Count Tokens API).
Vor dem Erzwingen des Modus „Authentifizierte Nutzer“
Beachten Sie Folgendes, bevor Sie den Modus „Authentifizierte Nutzer“ erzwingen:
Wenn Sie bereits Versionen Ihrer App haben, die Firebase Authentication nicht verwenden:
- Mit dieser Einstellung werden Anfragen über Firebase AI Logic von diesen vorhandenen App-Versionen blockiert.
- Achten Sie darauf, dass alle aktiven Clients auf die Verwendung von Firebase Authentication aktualisiert wurden, bevor Sie den Modus „Authentifizierte Nutzer“ erzwingen.
Ältere Flutter-Plug-in-Versionen erfordern eine spezielle Instanziierung, um Firebase Authentication-Anmeldedaten mit Anfragen zu senden.
- Wenn Ihre App das Flutter-Plug-in
firebase_aiin Version 3.11.0 oder niedriger (BoM-Version 4.12.0 oder niedriger) verwendet und bei der Instanziierung keinen Wert für Authentication übergibt, werden Anfragen über Firebase AI Logic durch diese Einstellung blockiert – auch für authentifizierte Nutzer. - Achten Sie darauf, dass alle aktiven Clients für Flutter auf eine neuere Version des Plug-ins aktualisiert wurden, bevor Sie den Modus für authentifizierte Nutzer erzwingen.
- Wenn Ihre App das Flutter-Plug-in
Firebase Authentication einrichten
Die Firebase Authentication-Dokumentation enthält Beschreibungen und Implementierungsanleitungen für unterstützte Authentifizierungsanbieter, einschließlich der Verwendung von Passwörtern, Telefonnummern, gängigen föderierten Identitätsanbietern (wie Google, Facebook und GitHub) und mehr.
Nachdem Sie Firebase Authentication in Ihrer App implementiert haben, sendet Ihre App automatisch die Firebase Authentication-Anmeldedaten für den authentifizierten Nutzer in jeder Anfrage an Firebase AI Logic.
Beachten Sie Folgendes zu einigen der Authentifizierungsanbieter:
Benutzerdefinierte Authentifizierung: Sie müssen ein signiertes Authentifizierungstoken abrufen, das Sie mit der Anfrage an Firebase AI Logic senden. Weitere Informationen finden Sie unter Benutzerdefinierte Authentifizierung.
Anonyme oder E-Mail/Passwort-Authentifizierungsmethoden: Diese Nutzer gelten als authentifizierte Nutzer, sodass ihre Anfragen an Firebase AI Logic nicht blockiert werden.
Beachten Sie, dass die Authentifizierungsmethoden „Anonym“ und „E-Mail/Passwort“ zwar erfordern, dass Nutzer Ihre App aufrufen, um Firebase Authentication-Anmeldedaten zu erstellen, sie jedoch keine robusten Authentifizierungsmethoden sind (insbesondere zum Schutz einer kostenpflichtigen Ressource), da sie standardmäßig keine Identitätsbestätigung durch den Nutzer erfordern. Wenn Ihre App die Standardimplementierung dieser Authentifizierungsmethoden verwendet, ist der Schutz möglicherweise geringer, auch wenn Sie den Modus „Authentifizierte Nutzer“ erzwingen. Achten Sie darauf, dass Sie auch Firebase App Check erzwungen haben.
Einstellung für den Modus „Authentifizierte Nutzer“ verwalten
Sie verwalten die Einstellung für den Modus „Authentifizierte Nutzer“ in der Firebase-Konsole.
Erforderliche IAM-Berechtigungen und -Rollen
Zum Verwalten der Einstellung für den Modus für authentifizierte Nutzer ist die Berechtigung firebasevertexai.configs.update erforderlich, die standardmäßig in den folgenden IAM-Rollen enthalten ist: Owner, Editor, Firebase Admin und Firebase AI Logic Admin.
Modus „Authentifizierte Nutzer“ erzwingen
So erzwingen Sie den Modus „Authentifizierte Nutzer“ für Ihr Firebase-Projekt:
Falls noch nicht geschehen, lesen Sie die wichtigen Überlegungen für den Modus für authentifizierte Nutzer weiter oben in diesem Leitfaden.
Falls noch nicht geschehen, richten Sie Firebase Authentication in Ihrer App ein (wie weiter oben in diesem Leitfaden beschrieben).
Modus „Authentifizierte Nutzer“ erzwingen:
Rufen Sie in der Firebase-Konsole AI Services > AI Logic > Tab Einstellungen auf.
Stellen Sie unter Modus „Authentifizierte Nutzer“ den Schieberegler für Modus „Authentifizierte Nutzer“ erzwingen auf Erzwungen.
Prüfen Sie das Bestätigungsdialogfeld und klicken Sie dann auf Bestätigen.
Erzwingung des Modus „Authentifizierte Nutzer“ beenden
Wenn Sie die Erzwingung des Modus „Authentifizierte Nutzer“ beenden, beachten Sie Folgendes:
- Anfragen über Firebase AI Logic, die keine Firebase Authentication-Anmeldedaten senden, sind zulässig.
- Dies ist eine projektweite Einstellung für Firebase AI Logic.
So beenden Sie die Erzwingung des Modus „Authentifizierte Nutzer“ für Ihr Firebase-Projekt:
Rufen Sie in der Firebase-Konsole AI Services > AI Logic > Tab Einstellungen auf.
Deaktivieren Sie unter Modus „Authentifizierte Nutzer“ die Option Modus „Authentifizierte Nutzer“ erzwingen.
Prüfen Sie das Bestätigungsdialogfeld und klicken Sie dann auf Bestätigen.