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. Das heißt, 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, ist die Antwort ein 401: unauthenticated-Fehler.
Wichtige Aspekte
Beachten Sie die folgenden wichtigen Aspekte für den Modus „Authentifizierte Nutzer“.
Wenn der Modus „Authentifizierte Nutzer“ erzwungen wird
Wenn der Modus „Authentifizierte Nutzer“ erzwungen wird, beachten Sie Folgendes:
Diese Einstellung gilt projektweit 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, bei denen keine Firebase Authentication Anmeldedaten gesendet werden.
- Der Nutzer muss über Firebase Authentication bevor senden die Anfrage an Firebase AI Logic.
- Diese Einstellung gilt für alle Anfragen über Firebase AI Logic an sowohl die Gemini Developer API als auch die Vertex AI Gemini API.
- 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 Anfragen in Ihrem Projekt, die nicht über Firebase AI Logic erfolgen, Gemini API 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 die Gemini Live API verwenden:
- Mit dieser Einstellung wird die Verwendung der Gemini Live API für Web-Apps bei Verwendung Firebase AI Logic blockiert , auch für authentifizierte Nutzer. Dazu gehören Web-Apps, die das Firebase JS SDK oder Flutter Web-Apps verwenden.
Wenn Sie die Firebase AI Logic REST-API verwenden:
- Mit dieser Einstellung werden Inferenzanfragen blockiert , bei denen keine
Firebase Authentication Anmeldedaten gesendet werden. Dazu gehören Anfragen für Server-Promptvorlagen wie
templateGenerateContentodertemplateStreamGenerateContent. - Mit dieser Einstellung werden Steuerungsebene-Anfragen (z. B. zum Verwalten von Vorlagen und Konfigurationen) nicht blockiert , da sie durch IAM geschützt sind.
- Mit dieser Einstellung werden Inferenzanfragen blockiert , bei denen keine
Firebase Authentication Anmeldedaten gesendet werden. Dazu gehören Anfragen für Server-Promptvorlagen wie
Mit dieser Einstellung werden Anfragen an
countTokens(die Count Tokens API) nicht blockiert.
Vor dem Erzwingen des Modus „Authentifizierte Nutzer“
Beachten Sie vor dem Erzwingen des Modus „Authentifizierte Nutzer“ Folgendes:
Wenn Sie vorhandene Versionen Ihrer App haben, die keine verwenden Firebase Authentication:
- Mit dieser Einstellung werden An0}blockiertfragen über Firebase AI Logic von diesen vorhandenen App-Versionen.
- Achten Sie darauf, dass alle aktiven Clients aktualisiert wurden, um Firebase Authentication zu verwenden, bevor Sie den Modus „Authentifizierte Nutzer“ erzwingen.
Für ältere Flutter-Plug-in-Versionen ist eine spezielle Instanziierung erforderlich, um Firebase Authentication Anmeldedaten mit Anfragen zu senden.
- Wenn Ihre App das Flutter-Plug-in
firebase_aiVersion 3.11.0 oder niedriger (Materialliste Version 4.12.0 oder niedriger) verwendet und bei der Instanziierung keine Authentication übergibt, werden Anfragen über Firebase AI Logic mit dieser 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 „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, beliebten föderierten Identitätsanbietern (z. B. 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, daher werden ihre Anfragen an Firebase AI Logic nicht blockiert.
Auch wenn bei den anonymen und E-Mail-/Passwort-Authentifizierungsmethoden Nutzer Ihre App aufrufen müssen, um Firebase AuthenticationAnmeldedaten zu erstellen, sind sie keine robusten Formen der Authentifizierung (insbesondere zum Schutz einer kostenpflichtigen Ressource) , da sie standardmäßig keine Identitätsbestätigung vom Nutzer erfordern. Wenn Ihre App die Standardimplementierung dieser Authentifizierungsmethoden verwendet, ist weniger Schutz möglich, auch wenn Sie den Modus „Authentifizierte Nutzer“ erzwingen. Achten Sie darauf, dass Sie auch erzwungen haben Firebase App Check.
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 „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:
Wenn Sie es noch nicht getan haben, lesen Sie die wichtigen Aspekte für den Modus „Authentifizierte Nutzer“ weiter oben in dieser Anleitung.
Wenn Sie es noch nicht getan haben, richten Sie Firebase Authentication in Ihrer App ein (wie weiter oben in dieser Anleitung beschrieben).
Erzwingen Sie den Modus „Authentifizierte Nutzer“:
Rufen Sie in der Firebase Konsole AI Services > AI Logic > Einstellungen auf.
Schieben Sie unter Modus „Authentifizierte Nutzer“ den Schalter für Modus „Authentifizierte Nutzer“ erzwingen auf Erzwungen.
Prüfen Sie das Bestätigungsdialogfeld und klicken Sie dann auf Bestätigen.
Erzwingen des Modus „Authentifizierte Nutzer“ beenden
Wenn Sie das Erzwingen des Modus „Authentifizierte Nutzer“ beenden, beachten Sie Folgendes:
- Anfragen über Firebase AI Logic, bei denen keine Firebase Authentication -Anmeldedaten gesendet werden, sind zulässig.
- Diese Einstellung gilt projektweit für Firebase AI Logic.
So beenden Sie das Erzwingen des Modus „Authentifizierte Nutzer“ für Ihr Firebase-Projekt:
Rufen Sie in der Firebase Konsole AI Services > AI Logic > 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.