Chroń interfejsy API przed nieautoryzowanymi klientami za pomocą Sprawdzania aplikacji Firebase

Gdy wywołujesz interfejs API bezpośrednio z aplikacji mobilnej lub internetowej (np. interfejsy API, które umożliwiają dostęp do generatywnych modeli AI), interfejs API jest podatny na nadużycia przez nieautoryzowanych klientów. Aby chronić te interfejsy API, możesz użyć interfejsu Firebase App Check, aby sprawdzić, czy wszystkie przychodzące wywołania interfejsu API pochodzą z Twojej aplikacji.

Firebase AI Logic udostępnia bramkę proxy, która umożliwia integrację z Firebase App Check i chroni interfejsy API generatywnej AI wywoływane przez Twoje aplikacje mobilne i internetowe. Integracja z App Check jest obsługiwana zarówno w przypadku Gemini Developer API, jak i Vertex AI Gemini API,gdy używasz pakietów SDK Firebase AI Logic. Możesz chronić modele Gemini i Imagen.

Ogólny opis działania usługi App Check

W przypadku App Check urządzenia z Twoją aplikacją korzystają z usługi weryfikacji aplikacji lub urządzenia, która weryfikuje co najmniej 1 z tych 2 elementów:

  • prośby pochodzą z autentycznej aplikacji;
  • żądania pochodzą z autentycznego, nienaruszonego urządzenia;

To zaświadczenie jest dołączane do każdego żądania wysyłanego przez Twoją aplikację za pomocą pakietu SDK.Firebase AI Logic Gdy włączysz wymuszanie App Check, żądania od klientów bez ważnego poświadczenia będą odrzucane, podobnie jak żądania pochodzące z aplikacji lub platformy, których nie autoryzowałeś.

Szczegółowe informacje znajdziesz w dokumentacji Firebase App Check.

Dostępni dostawcy i instrukcje implementacji

App Check obsługuje wbudowane usługi wymienione poniżej jako dostawcy uwierzytelnienia. Kliknij link dostawcy, aby wyświetlić App Checkdokumentację tego dostawcy, w tym opisy i instrukcje implementacji.

Jeśli te usługi nie spełniają Twoich potrzeb, możesz też wdrożyć własną usługę, która korzysta z usług zewnętrznego dostawcy usług poświadczania tożsamości lub z Twoich własnych technik poświadczania tożsamości (więcej informacji znajdziesz w dokumentacji App Check).

Wymagana specjalna instancja w przypadku Fluttera

Kliknij dostawcę Gemini API, aby wyświetlić na tej stronie treści i kod związane z tym dostawcą.

Jeśli używasz App Check w komponencie Firebase AI Logic w aplikacjach Flutter, musisz jawnie przekazać wartość App Check podczas tworzenia instancji, na przykład w ten sposób:

final ai = await FirebaseAI.googleAI(appCheck: FirebaseAppCheck.instance)
  .generativeModel(model: 'MODEL_NAME');

Dodatkowe informacje o App Check

Dowiedz się, jak Firebase AI Logic integruje się z App Check

Aby używać pakietów SDK Firebase AI Logic, musisz włączyć interfejs API Firebase AI Logic (firebasevertexai.googleapis.com) w projekcie Firebase. Dzieje się tak, ponieważ żądania wysyłane przez pakiet SDK Firebase AI Logic są najpierw wysyłane do serwera Firebase AI Logic, który działa jako brama zaporowa, gdzie weryfikacja Firebase App Check odbywa się przed przekazaniem żądania do wybranego backendu dostawcy „Gemini API” i interfejsów API, aby uzyskać dostęp do modeli GeminiImagen.