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:
- Sprawdź, czy na liście dozwolonych znajduje się
Firebase AI Logic API (
firebasevertexai.googleapis.com). - Sprawdź, czy na liście dozwolonych znajdują się tylko te interfejsy API, które są wymagane przez Twoją aplikację. Zobacz listę wymaganych interfejsów API dla ograniczonych kluczy Firebase.
- Sprawdź, czy na liście dozwolonych znajduje się
Firebase AI Logic API (
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”:
- Ustaw limity szybkości na użytkownika (domyślnie 100 RPM), aby zapobiec wykorzystywaniu przez poszczególne instancje klienta nadmiernej ilości limitu.
- Sprawdzaj kwoty projektu i zarządzaj nimi w Google Cloudkonsoli dla każdego interfejsu API.
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:
Skonfiguruj alerty dotyczące budżetu i limity wydatków.
Dalsze kroki
- Zapoznaj się z ogólną listą kontrolną dotyczącą bezpieczeństwa Firebase.
- Zapoznaj się z ogólną listą kontrolną dotyczącą środowiska produkcyjnego Firebase AI Logic.
- Dowiedz się więcej o cenach i zarządzaniu kosztami w przypadku Firebase AI Logic.