Możesz wymusić tryb uwierzytelnionych użytkowników w projekcie w Firebase. Gdy to ustawienie jest wymuszane, wszystkie żądania Gemini API wysyłane przez Firebase AI Logic muszą pochodzić od uwierzytelnionych użytkowników Twojej aplikacji. Użytkownik końcowy aplikacji musi zostać uwierzytelniony za pomocą Firebase Authentication, zanim wyśle żądanie do Firebase AI Logic z Twojej aplikacji. Jeśli użytkownik końcowy nie jest uwierzytelniony, żądanie jest blokowane.
Gdy żądanie zostanie zablokowane, odpowiedź będzie zawierać błąd 401: unauthenticated.
Ważne kwestie
Pamiętaj o tych ważnych kwestiach dotyczących trybu uwierzytelnionych użytkowników.
.Gdy wymuszony jest tryb uwierzytelnionych użytkowników
Gdy tryb uwierzytelnionych użytkowników jest wymuszany, pamiętaj o tych kwestiach:
To ustawienie dotyczy całego projektu w przypadku Firebase AI Logic.
- Dotyczy wszystkich aplikacji zarejestrowanych w projekcie.
- Ma ona zastosowanie tylko w projekcie, w którym jest egzekwowana.
To ustawienie blokuje wszystkie żądania wysyłane przez Firebase AI Logic, które nie wysyłają danych logowania Firebase Authentication.
- Użytkownik musi zostać uwierzytelniony za pomocą Firebase Authentication przed wysłaniem żądania do Firebase AI Logic.
- To ustawienie dotyczy wszystkich żądań wysyłanych przez Firebase AI Logic zarówno do Gemini Developer API, jak i do Vertex AI Gemini API.
- To ustawienie dotyczy wszystkich żądań, które korzystają z szablonów promptów serwera.
- Tego ustawienia nie można stosować na poziomie poszczególnych użytkowników, interfejsów API ani szablonów.
To ustawienie nie blokuje w Twoim projekcie żądań Gemini API, które nie są wysyłane przez Firebase AI Logic.
Jeśli używasz hybrydowego / na urządzeniu:
- To ustawienie blokuje żądania dotyczące modelu hostowanego w chmurze, jeśli użytkownik nie jest uwierzytelniony.
- To ustawienie nie blokuje żądań kierowanych do modelu na urządzeniu niezależnie od stanu uwierzytelnienia użytkownika.
Jeśli używasz Gemini Live API:
- To ustawienie blokuje korzystanie z interfejsu Gemini Live API w aplikacjach internetowych podczas korzystania z Firebase AI Logic – nawet w przypadku uwierzytelnionych użytkowników. Dotyczy to aplikacji internetowych korzystających z pakietu Firebase JS SDK lub aplikacji internetowych Flutter.
Jeśli używasz Firebase AI Logicinterfejsu API REST:
- To ustawienie blokuje żądania wnioskowania, które nie wysyłają danych logowania.Firebase Authentication Obejmuje to żądania dotyczące szablonów promptów serwera, np.
templateGenerateContentlubtemplateStreamGenerateContent. - To ustawienie nie blokuje żądań płaszczyzny sterowania (np. żądań dotyczących zarządzania szablonami i konfiguracjami), ponieważ są one chronione przez IAM.
- To ustawienie blokuje żądania wnioskowania, które nie wysyłają danych logowania.Firebase Authentication Obejmuje to żądania dotyczące szablonów promptów serwera, np.
To ustawienie nie blokuje próśb do
countTokens(interfejs Count Tokens API).
Przed wymuszeniem trybu uwierzytelnionych użytkowników
Zanim wymusisz tryb uwierzytelnionych użytkowników, pamiętaj o tych kwestiach:
Jeśli masz istniejące wersje aplikacji, które nie korzystają z Firebase Authentication:
- To ustawienie zablokuje żądania wysyłane przez Firebase AI Logic z tych istniejących wersji aplikacji.
- Zanim wymusisz tryb uwierzytelnionych użytkowników, upewnij się, że wszyscy aktywni klienci zostali zaktualizowani, aby korzystać z Firebase Authentication .
Starsze wersje wtyczki Flutter wymagają specjalnego tworzenia instancji, aby wysyłać Firebase Authenticationdane logowania z żądaniami.
- Jeśli Twoja aplikacja korzysta z wtyczki Flutter w wersji
firebase_ai3.11.0 lub starszej (BoM w wersji 4.12.0 lub starszej) i nie przekazuje parametru Authentication podczas tworzenia instancji, to ustawienie będzie blokować żądania wysyłane przez Firebase AI Logic – nawet w przypadku uwierzytelnionych użytkowników. - Zanim wymusisz tryb uwierzytelnionych użytkowników, upewnij się, że wszyscy aktywni klienci Fluttera zostali zaktualizowani do nowszej wersji wtyczki.
- Jeśli Twoja aplikacja korzysta z wtyczki Flutter w wersji
Skonfiguruj usługę Firebase Authentication
Dokumentacja Firebase Authentication zawiera opisy i instrukcje wdrażania obsługiwanych dostawców uwierzytelniania, w tym używania haseł, numerów telefonów, popularnych dostawców tożsamości sfederowanej (takich jak Google, Facebook i GitHub) i innych.
Po wdrożeniu Firebase Authentication w aplikacji będzie ona automatycznie wysyłać dane logowania Firebase Authentication uwierzytelnionego użytkownika w każdym żądaniu do Firebase AI Logic.
Pamiętaj o tych kwestiach dotyczących niektórych dostawców uwierzytelniania:
Uwierzytelnianie niestandardowe: musisz pobrać podpisany token uwierzytelniania, aby wysłać go wraz z żądaniem do Firebase AI Logic. Więcej informacji znajdziesz w artykule Uwierzytelnianie niestandardowe.
Metody uwierzytelniania Anonimowe lub Adres e-mail/hasło: ci użytkownicy są uznawani za uwierzytelnionych, więc ich żądania do Firebase AI Logic nie są blokowane.
Pamiętaj, że chociaż metody uwierzytelniania anonimowego oraz za pomocą adresu e-mail i hasła wymagają od użytkowników odwiedzenia aplikacji w celu utworzenia danych logowaniaFirebase Authentication, nie są one niezawodnymi formami uwierzytelniania (zwłaszcza w przypadku ochrony płatnych zasobów), ponieważ domyślnie nie wymagają od użytkownika weryfikacji tożsamości. Jeśli aplikacja korzysta z domyślnej implementacji tych metod uwierzytelniania, ochrona może być mniejsza, nawet jeśli wymusisz tryb uwierzytelnionych użytkowników. Upewnij się, że masz też wymuszone Firebase App Check.
Zarządzanie ustawieniem trybu uwierzytelnionych użytkowników
Ustawieniem trybu uwierzytelnionych użytkowników zarządzasz w konsoli Firebase.
.Wymagane uprawnienia i role
Zarządzanie ustawieniem trybu uwierzytelnionych użytkowników wymaga uprawnieniafirebasevertexai.configs.update, które jest domyślnie przyznawane w ramach tych ról IAM: Właściciel, Edytujący, Administrator Firebase i Administrator Firebase AI Logic.
Wymuszanie trybu uwierzytelnionych użytkowników
Aby wymusić tryb uwierzytelnionych użytkowników w projekcie w Firebase:
Jeśli jeszcze tego nie zrobiono, zapoznaj się z ważnymi uwagami dotyczącymi trybu uwierzytelnionych użytkowników, które znajdziesz w dalszej części tego przewodnika.
Jeśli nie zostało to jeszcze zrobione, skonfiguruj Firebase Authentication w aplikacji (zgodnie z opisem w tym przewodniku).
Wymuszanie trybu uwierzytelnionych użytkowników:
W konsoli Firebase otwórz Usługi AI > Logika AI > karta Ustawienia.
W sekcji Tryb uwierzytelnionych użytkowników przesuń przełącznik opcji Wymuś tryb uwierzytelnionych użytkowników na Wymuszony.
Sprawdź informacje w oknie potwierdzenia i kliknij Potwierdź.
Zatrzymywanie egzekwowania trybu uwierzytelnionych użytkowników
Jeśli przestaniesz egzekwować tryb uwierzytelnionych użytkowników, pamiętaj o tych kwestiach:
- Żądania wysyłane przez Firebase AI Logic, które nie zawierają danych logowania Firebase Authentication, będą dozwolone.
- Jest to ustawienie dla całego projektu w przypadku Firebase AI Logic.
Aby zatrzymać wymuszanie trybu uwierzytelnionych użytkowników w projekcie Firebase:
W konsoli Firebase otwórz Usługi AI > Logika AI > karta Ustawienia.
W sekcji Tryb użytkowników uwierzytelnionych wyłącz opcję Wymuszaj tryb użytkowników uwierzytelnionych.
Sprawdź informacje w oknie potwierdzenia i kliknij Potwierdź.