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

Gdy dzwonisz do Gemini API bezpośrednio z aplikacji mobilnych i internetowych, ochrona infrastruktury backendu, limitu i zastrzeżonych 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 dotyczące bezpieczeństwa w przypadku Firebase AI Logic.

Weryfikacja aplikacji, urządzenia i użytkownika

Sprawdzaj, czy żądania przychodzące pochodzą z prawidłowych, niezmodyfikowanych instancji aplikacji działających na oryginalnych 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 też wszystkich tych dostawców w przypadku aplikacji Flutter i Unity.

Na początku lipca 2026 r. Firebase automatycznie zacznie 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. Na potrzeby lokalnego programowania 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 ograniczonego użytku

W ramach konfigurowania App Check rozważ wymuszenieochrony przed powtórzeniem, aby tokeny App Check 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ń kluczy interfejsu API Firebase

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

  • 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 w sekcji „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łań 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, zostanie odrzucone z błędem 401: unauthenticated.

Ochrona promptów i wzmocnienie żą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 umieszczać 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, wykonaj te czynności:

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

 Wymuszanie trybu tylko szablonu

Gdy wszystkie funkcje aplikacji będą korzystać z szablonów promptów serwera, rozważ wymuszenie trybu tylko szablonu. Gdy jest wymuszane,Firebase AI Logic blokuje wszystkie bezpośrednie żądania bez szablonu do Gemini API (403: unauthorized), uniemożliwiając złośliwym 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.

 Konfigurowanie monitorowania AI w konsoli Firebase

Skonfigurujmonitorowanie AI w Firebase konsoli, aby uzyskać wgląd w kluczowe wskaźniki, takie jak liczba żądań, czas oczekiwania, wykorzystanie tokenów i odsetek błędów (w tym 401 błędy uwierzytelniania i 403 bloki tylko z szablonem). Możesz też sprawdzać poszczególne ślady w konsoli Google Cloud.

Ustawianie limitów szybkości i zarządzanie limitami przydziału

Chroń projekt przed nieoczekiwanymi skokami 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 (płatność według wykorzystania):

Dalsze kroki