Lista kontrolna zabezpieczeń dotycząca korzystania z Firebase AI Logic

Gdy wywołujesz Gemini API bezpośrednio z aplikacji mobilnych i internetowych, ochrona infrastruktury backendu, limitu i własnych promptów wymaga wielowarstwowego podejścia opartego na strategii obrony w głębi. Zapoznaj się z tą listą kontrolną, aby wdrożyć zalecane sprawdzone metody zabezpieczania Firebase AI Logic.

Weryfikacja aplikacji, urządzenia i użytkownika

Sprawdzaj, czy przychodzące żądania pochodzą z prawidłowych, niezmienionych instancji aplikacji działających na autentycznych urządzeniach, a także od autentycznych użytkowników.

Wymuszaj Firebase App Check

Wymuszaj Firebase App Check, aby chronić Gemini API przed nadużyciami, gdy jest wywoływana bezpośrednio z aplikacji. Gdy wymuszane jest App Check, sprawdza ono, czy przychodzące żądania pochodzą z autentycznej aplikacji lub z niezmanipulowanego urządzenia.

App Check obsługuje dostawców atestów na platformach Apple (DeviceCheck, App Attest lub reCAPTCHA Enterprise), Android (Play Integrity lub reCAPTCHA Enterprise) i w internecie (reCAPTCHA Enterprise). Obsługuje wszystkich tych dostawców również w przypadku aplikacji Flutter i Unity.

Na początku lipca 2026 r. Firebase automatycznie będzie egzekwować App Check w przypadku Firebase AI Logic podczas konfiguracji z przewodnikiem w Firebase konsoli. Jeśli Firebase AI Logic zostało skonfigurowane wcześniej, wymuś App Check jawnie. W przypadku lokalnego tworzenia aplikacji możesz skonfigurować App Check dostawcę debugowania, a następnie zarejestrować aplikację u dostawcy atestów produkcyjnych przed udostępnieniem jej użytkownikom.

Włączanie ochrony przed ponownym odtwarzaniem za pomocą tokenów o ograniczonym użyciu

W ramach konfigurowania App Check rozważ wymuszenie ochrony przed powtórzeniem, aby App Check tokeny były jednorazowe. Ta opcja zapewnia lepszą ochronę niż ochrona podstawowa i umożliwia ustawienie odpowiedniego poziomu ochrony aplikacji i przypadków użycia.

Ustawianie ograniczeń dla kluczy interfejsu API Firebase

Klucze interfejsu API Firebase identyfikują projekt w Firebase i aplikację podczas wysyłania żądań. Aby zapobiec nieautoryzowanemu użyciu kluczy interfejsu API:

  • W Google Cloud konsoli ustaw „Ograniczenia aplikacji”, aby ograniczyć użycie klucza tylko do żądań z określonego identyfikatora pakietu aplikacji (Apple), nazwy pakietu i odcisku cyfrowego SHA-1 (Android) lub odsyłającego adresu HTTP (internet).

  • Sprawdź listę dozwolonych adresów „Ograniczenia interfejsów API” każdego klucza:

Pamiętaj, że interfejsy API związane z Firebase używają kluczy interfejsu API tylko do identyfikowania projektu lub aplikacji Firebase, a nie do autoryzacji wywoływania interfejsu API.

Ograniczanie żądań tylko do uwierzytelnionych użytkowników

Rozważ wymuszenie trybu uwierzytelnionych użytkowników, aby wszystkie żądania wysyłane przez Firebase AI Logic musiały zawierać prawidłowe dane logowania z Firebase Authentication. Jeśli żądanie pochodzi od nieuwierzytelnionego użytkownika, jest odrzucane z błędem 401: unauthenticated.

Ochrona promptów i wzmacnianie żądań

Zapobiegaj dekompilacji klienta, która mogłaby ujawnić projekty promptów, i zabezpiecz backend, aby złośliwi użytkownicy nie mogli wykonywać dowolnych promptów.

Używanie szablonów promptów serwera

Używaj szablonów promptów serwera, aby bezpiecznie przechowywać prompty, instrukcje systemowe i konfiguracje modeli w chmurze, zamiast zakodowywać je na stałe w kodzie aplikacji klienckiej, z którego można je wyodrębnić za pomocą dekompilacji binarnej.

Aplikacja odwołuje się tylko do identyfikatora szablonu i przekazuje dynamiczne zmienne wejściowe. Szablony promptów serwera umożliwiają też aktualizowanie promptów lub przełączanie modeli na żądanie bez publikowania nowej wersji aplikacji.

Weryfikowanie i oczyszczanie zmiennych szablonu dostarczonych przez klienta

Szablony promptów na serwerze chronią projekt prompta, ale szablony, które akceptują zmienne dynamiczne, mogą być podatne na wstrzykiwanie promptów. Ponieważ szablony łączą zmienne wprowadzane przez użytkownika w ostateczny prompt, pamiętaj o tych kwestiach:

  • Przed przekazaniem zmiennych do szablonu (np. wymuszając limity znaków i oczekiwane formaty) sprawdzaj i oczyszczaj wszystkie dane wejściowe użytkownika po stronie klienta.
  • W szablonach umieść jasne instrukcje systemowe, które określają ograniczenia dotyczące sposobu przetwarzania danych wejściowych użytkownika.

Wymuszanie trybu tylko szablon

Gdy wszystkie funkcje aplikacji będą korzystać z szablonów promptów serwera, rozważ wymuszenietrybu tylko szablonów. Gdy jest egzekwowana,Firebase AI Logic blokuje wszystkie bezpośrednie żądania bez szablonu wysyłane doGemini API (403: unauthorized), uniemożliwiając nieuczciwym podmiotom wysyłanie dowolnych promptów lub nadużywanie limitu.

Monitorowanie, limity i rozliczenia

Zyskaj wgląd w ruch przychodzący i anomalie związane z bezpieczeństwem oraz chroń swój projekt przed nieoczekiwanymi wzrostami wykorzystania lub niekontrolowanymi kosztami.

 Skonfiguruj monitorowanie AI w Firebasekonsoli

Skonfigurujmonitorowanie AI w Firebase konsoli, aby uzyskać wgląd w kluczowe dane, takie jak liczba żądań, czas oczekiwania, wykorzystanie tokenów i odsetek błędów (w tym 401 błędy uwierzytelniania i 403 blokady dotyczące tylko szablonu). Poszczególne ślady możesz też sprawdzać w Google Cloudkonsoli.

Ustawianie ograniczania liczby żądań i zarządzanie limitami

Chroń projekt przed nieoczekiwanymi wzrostami wykorzystania i atakami typu „odmowa portfela”:

Unikaj niespodziewanych rachunków dzięki alertom i limitom wydatków

Jeśli Twój projekt w Firebase korzysta z abonamentu Blaze z płatnością według wykorzystania:

Dalsze kroki