Możesz wymusić w projekcie w Firebase tryb uwierzytelnionych użytkowników. Gdy ten wymóg jest egzekwowany, wszystkie żądania wysyłane przez Gemini API za pomocą Firebase AI Logic muszą pochodzić od uwierzytelnionych użytkowników Twojej aplikacji. W szczególności użytkownik końcowy Twojej 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, w odpowiedzi pojawi się 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 wymuszony, pamiętaj o tych kwestiach:
To ustawienie dotyczy całego projektu w przypadku Firebase AI Logic.
- Ma zastosowanie do wszystkich aplikacji zarejestrowanych w projekcie.
- Dotyczy to tylko projektu, w którym jest egzekwowane.
To ustawienie blokuje wszystkie żądania wysyłane przez Firebase AI Logic, które nie wysyłają Firebase Authentication danych logowania.
- 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 do Gemini Developer API i Agent Platform Gemini API (formerly Vertex AI).
- To ustawienie dotyczy wszystkich żądań, które korzystają z szablonów promptów serwera.
- Tego ustawienia nie można zastosować indywidualnie do użytkownika, interfejsu API ani szablonu.
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 do 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 REST API:
- 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 wersje aplikacji, które nie korzystają z tych funkcji:Firebase Authentication
- To ustawienie zablokuje żądania wysyłane przez Firebase AI Logic z tych wersji aplikacji.
- Przed wymuszeniem trybu uwierzytelnionych użytkowników upewnij się, że wszyscy aktywni klienci zostali zaktualizowani, aby używać Firebase Authentication .
Starsze wersje wtyczki Flutter wymagają specjalnego tworzenia instancji, aby wysyłać Firebase Authenticationdane logowania w żądaniach.
- Jeśli Twoja aplikacja korzysta z wtyczki Flutter
firebase_aiw wersji 3.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 za pomocą parametru 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
Skonfiguruj usługę Firebase Authentication
Dokumentacja Firebase Authentication zawiera opisy i instrukcje wdrażania obsługiwanych dostawców uwierzytelniania, w tym korzystania z 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 usług uwierzytelniania:
Niestandardowe uwierzytelnianie: musisz pobrać podpisany token uwierzytelniania, aby wysłać go wraz z prośbą do Firebase AI Logic. Więcej informacji znajdziesz w sekcji Uwierzytelnianie niestandardowe.
Metody uwierzytelniania Anonimowe lub 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 Firebase Authenticationdanych logowania, 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 Firebase.
Wymagane uprawnienia i role
Zarządzanie ustawieniem trybu uwierzytelnionych użytkowników wymaga uprawnienia firebasevertexai.configs.update, które jest domyślnie uwzględnione w tych rolach IAM: Właściciel, Edytujący, Administrator Firebase i Administrator Firebase AI Logic.
Wymuszanie trybu uwierzytelnionych użytkowników
Aby wymusić w projekcie w Firebase tryb uwierzytelnionych użytkowników:
Jeśli jeszcze tego nie zrobiono, zapoznaj się z ważnymi kwestiami dotyczącymi trybu uwierzytelnionych użytkowników, o których pisaliśmy wcześniej w tym przewodniku.
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 Wymuszaj tryb uwierzytelnionych użytkowników na pozycję Wymuszony.
Przeczytaj informacje w oknie z potwierdzeniem 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 przesyłają Firebase Authenticationdanych logowania, będą dozwolone.
- Jest to ustawienie dla całego projektu w przypadku Firebase AI Logic.
Aby zatrzymać egzekwowanie trybu uwierzytelnionych użytkowników w projekcie w Firebase:
W konsoli Firebase otwórz Usługi AI > Logika AI > karta Ustawienia.
W sekcji Tryb uwierzytelnionych użytkowników wyłącz opcję Wymuszaj tryb uwierzytelnionych użytkowników.
Przeczytaj informacje w oknie z potwierdzeniem i kliknij Potwierdź.