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 also mit Firebase Authentication authentifiziert werden, bevor er eine Anfrage an Firebase AI Logic über Ihre App 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, ist Folgendes zu beachten:
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 durchgesetzt wird.
Mit dieser Einstellung werden alle Anfragen über Firebase AI Logic blockiert, bei denen keine Firebase Authentication-Anmeldedaten gesendet werden.
- Der Nutzer muss sich über Firebase Authentication authentifizieren, bevor die Anfrage an Firebase AI Logic gesendet wird.
- Diese Einstellung gilt für alle Anfragen über Firebase AI Logic an Gemini Developer API und Agent Platform Gemini API (formerly Vertex AI).
- Diese Einstellung gilt für alle Anfragen, die Server-Promptvorlagen verwenden.
- Diese Einstellung kann nicht auf Nutzer-, API- oder Vorlagenebene angewendet werden.
Diese Einstellung blockiert Gemini API-Anfragen in Ihrem Projekt, die nicht über Firebase AI Logic erfolgen.
Wenn Sie Hybrid / On-Device verwenden:
- Diese Einstellung blockiert Anfragen an das in der Cloud gehostete Modell, wenn der Nutzer nicht authentifiziert ist.
- Diese Einstellung blockiert Anfragen an das On-Device-Modell un abhängig vom Authentifizierungsstatus des Nutzers nicht.
Wenn Sie das Gemini Live API verwenden:
- Diese Einstellung blockiert die Verwendung der Gemini Live API für Web-Apps bei Verwendung von Firebase AI Logic – 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. - Diese Einstellung blockiert nicht Control-Plane-Anfragen (z. B. zum Verwalten von Vorlagen und Konfigurationen), 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 Folgendes, bevor Sie den Modus „Authentifizierte Nutzer“ erzwingen:
Wenn Sie vorhandene Versionen Ihrer App haben, die nicht Firebase Authentication verwenden:
- Mit dieser Einstellung werden Anfragen über Firebase AI Logic von diesen vorhandenen App-Versionen blockiert.
- Achten Sie vor dem Erzwingen des Modus „Authentifizierte Nutzer“ darauf, dass alle aktiven Clients aktualisiert wurden und Firebase Authentication verwenden.
Bei älteren Versionen von Flutter-Plug-ins ist eine spezielle Instanziierung erforderlich, um Firebase Authentication-Anmeldedaten mit Anfragen zu senden.
- Wenn in Ihrer App das Flutter-Plug-in
firebase_aiv3.11.0 oder niedriger (Materialliste v4.12.0 oder niedriger) verwendet wird und Authentication bei der Instanziierung nicht übergeben wird, 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 „Authentifizierte Nutzer“ erzwingen.
- Wenn in Ihrer 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 Ihre App implementiert haben, werden die Firebase Authentication-Anmeldedaten für den authentifizierten Nutzer automatisch in jeder Anfrage an Firebase AI Logic gesendet.
Beachten Sie bei einigen der Authentifizierungsanbieter Folgendes:
Benutzerdefinierte Authentifizierung: Sie müssen ein signiertes Authentifizierungstoken abrufen, das mit der Anfrage an Firebase AI Logic gesendet wird. Weitere Informationen finden Sie unter Benutzerdefinierte Authentifizierung.
Anonyme oder E-Mail-Adresse/Passwort-Authentifizierungsmethoden: Diese Nutzer gelten als authentifizierte Nutzer. Ihre Anfragen an Firebase AI Logic werden also nicht blockiert.
Auch wenn für die anonyme Authentifizierung und die Authentifizierung über E‑Mail-Adresse und Passwort Nutzer Ihre App aufrufen müssen, um Firebase Authentication-Anmeldedaten zu erstellen, sind diese Methoden nicht sehr sicher, insbesondere wenn es darum geht, eine kostenpflichtige Ressource zu schützen, da sie standardmäßig keine Identitätsüberprüfung des Nutzers 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 Firebase App Check aucherzwingen.
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:
Falls noch nicht geschehen, lesen Sie die wichtigen Hinweise zum 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 den Tab AI Services > AI Logic > Einstellungen auf.
Stellen Sie unter Modus „Authentifizierte Nutzer“ den Ein/Aus-Schalter 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 den Modus „Authentifizierte Nutzer“ nicht mehr erzwingen, sollten Sie Folgendes beachten:
- Anfragen über Firebase AI Logic, bei denen keine Firebase Authentication-Anmeldedaten gesendet werden, 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 den Tab 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.