Monitorowanie i ochrona aplikacji internetowych

Po opublikowaniu aplikacji należy je monitorować i zabezpieczać:

Monitorowanie wydajności witryny za pomocą funkcji dostrzegalności App Hosting

Panel Przegląd aplikacji w Firebase Studio zawiera najważniejsze wskaźniki i informacje o aplikacji, dzięki czemu możesz monitorować wydajność swojej aplikacji internetowej za pomocą wbudowanych narzędzi do obserwacji w App Hosting. Po opublikowaniu witryny możesz uzyskać dostęp do przeglądu, klikając Opublikuj. W tym panelu możesz:

  • Kliknij Opublikuj, aby opublikować nową wersję aplikacji.
  • Udostępnij link do aplikacji lub otwórz ją bezpośrednio w sekcji Odwiedź aplikację.
  • Przejrzyj podsumowanie skuteczności aplikacji w ciągu ostatnich 7 dni, w tym łączną liczbę żądań i stan najnowszego wdrożenia. Kliknij Wyświetl szczegóły, aby uzyskać dostęp do jeszcze większej ilości informacji w konsoli Firebase.
  • Wyświetl wykres przedstawiający liczbę żądań odebranych przez aplikację w ciągu ostatnich 24 godzin, z podziałem według kodu stanu HTTP.
  • Wyświetl stan aktywacji usług Firebase, takich jak Firebase Authentication i Cloud Firestore.

Jeśli zamkniesz panel Przegląd aplikacji, możesz go ponownie otworzyć w dowolnym momencie, klikając Opublikuj.

Więcej informacji o zarządzaniu wdrażaniem i monitorowaniu wdrażania aplikacji App Hosting znajdziesz w artykule Zarządzanie wdrażaniem i wersjami.

Genkit monitorowanie wdrożonych funkcji

Możesz monitorować kroki, dane wejściowe i dane wyjściowe funkcji Genkit, włączając telemetrię w kodzie przepływu AI. Funkcja telemetrii w Genkit umożliwia monitorowanie wydajności i wykorzystania przepływów AI. Te dane mogą pomóc Ci zidentyfikować obszary wymagające poprawy, rozwiązać problemy, zoptymalizować prompty i przepływy pod kątem lepszej wydajności i efektywności kosztowej oraz śledzić wykorzystanie przepływów w czasie.

Aby skonfigurować monitorowanie w Genkit, dodaj dane telemetryczne do przepływów AI w Genkit, a następnie wyświetl wyniki w konsoli Firebase.

Krok 1. Dodaj dane telemetryczne do kodu przepływu Genkit w Firebase Studio

Aby skonfigurować monitorowanie w kodzie:

  1. Jeśli nie jesteś w widoku Code, kliknij Ikona przełączania
kodu Przełącz na kod, aby go otworzyć.

  2. Sprawdź package.json, aby zweryfikować zainstalowaną wersję Genkit.

  3. Otwórz terminal (Ctrl-Shift-C lub Cmd-Shift-C w systemie macOS).

  4. Kliknij w terminalu i zainstaluj wtyczkę Firebase, używając wersji zgodnej z plikiem package.json. Jeśli na przykład pakiety Genkit w package.json są w wersji 1.0.4, uruchom to polecenie, aby zainstalować wtyczkę:

    npm i --save @genkit-ai/firebase@1.0.4
  5. W Eksploratorze rozwiń src > ai > flows. W folderze flows pojawi się co najmniej 1 plik TypeScript zawierający przepływy Genkit.

  6. Kliknij jeden z przepływów, aby go otworzyć.

  7. Na dole sekcji importu w pliku dodaj te elementy, aby zaimportować i włączyć FirebaseTelemetry:

    import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
    
    enableFirebaseTelemetry();
    

Krok 2. Skonfiguruj uprawnienia

Firebase Studio włączył wymagane interfejsy API podczas konfigurowania projektu w Firebase, ale musisz też przyznać uprawnienia kontu usługi App Hosting.

Aby skonfigurować uprawnienia:

  1. W konsoli Google Cloud otwórz stronę Uprawnienia i wybierz projekt w Firebase.

  2. Przypisz do konta usługi App Hosting te role:

    • Zapisujący wskaźniki monitorowania (roles/monitoring.metricWriter)
    • Agent Cloud Trace (roles/cloudtrace.agent)
    • Zapisujący logi (roles/logging.logWriter)
  3. Ponownie opublikuj aplikację w App Hosting.

  4. Po zakończeniu publikowania wczytaj aplikację i zacznij z niej korzystać. Po 5 minutach aplikacja powinna zacząć rejestrować dane telemetryczne.

Krok 3. Monitoruj funkcje oparte na generatywnej AI w konsoli Firebase

Po skonfigurowaniu telemetrii Genkit rejestruje liczbę żądań, sukcesów i opóźnień dla wszystkich przepływów, a dla każdego konkretnego przepływu Genkit zbiera dane o stabilności, wyświetla szczegółowe wykresy i rejestruje przechwycone logi czasu oczekiwania.

Aby monitorować funkcje oparte na AI wdrożone za pomocą Genkit:

  1. Po 5 minutach w konsoli Firebase otwórz Usługi AI > Genkit, aby sprawdzić prompty i odpowiedzi z Genkit.

  2. Możesz sprawdzić te wskaźniki stabilności zebrane przez Genkit:

    • Łączna liczba żądań: łączna liczba żądań odebranych przez przepływ.
    • Wskaźnik sukcesu: odsetek żądań, które zostały przetworzone.
    • Czas oczekiwania w 95 centylu: czas oczekiwania w 95 centylu przepływu, czyli czas potrzebny na przetworzenie 95% żądań.
    • Wykorzystanie tokenów:

      • Tokeny wejściowe: liczba tokenów wysłanych do modelu w prompcie.
      • Tokeny wyjściowe: liczba tokenów wygenerowanych przez model w odpowiedzi.
    • Wykorzystanie obrazu:

      • Obrazy wejściowe: liczba obrazów wysłanych do modelu w prompcie.
      • Wygenerowane obrazy: liczba obrazów wygenerowanych przez model w odpowiedzi.
  3. Możesz rozwinąć dane o stabilności, aby wyświetlić te szczegółowe wykresy:

    • Liczba żądań w czasie.
    • Wskaźnik sukcesu w danym okresie.
    • Tokeny wejściowe i wyjściowe w czasie.
    • Czas oczekiwania (95 i 50 centyl) w czasie.

Więcej informacji o usłudze Genkit znajdziesz w jej dokumentacji.

Ochrona aplikacji za pomocą funkcji Firebase App Check

Jeśli w aplikacji masz zintegrowane usługi Firebase lub Google Cloud, Firebase App Check pomaga chronić jej backendy przed nadużyciami, uniemożliwiając nieautoryzowanym klientom dostęp do zasobów Firebase. Działa zarówno z usługami Google (w tym Firebase i Google Cloud), jak i z Twoimi niestandardowymi backendami, aby chronić Twoje zasoby.

Zalecamy dodanie App Check do każdej aplikacji, którą publikujesz, aby chronić zasoby backendu przed nadużyciami.

W tej sekcji dowiesz się, jak skonfigurować App Check w Firebase Studio za pomocą reCAPTCHA Enterprise w aplikacji internetowej utworzonej przez App Prototyping agent. Możesz jednak skonfigurować App Check w dowolnej aplikacji, która implementuje usługi Firebase i może implementować dostawców niestandardowych. Więcej informacji znajdziesz na stronie Firebase App Check.

reCAPTCHA Enterprise zapewnia do 10 tys. bezpłatnych ocen.

Krok 1. Skonfiguruj reCAPTCHA Enterprise w aplikacji

  1. Otwórz sekcję reCAPTCHA Enterprise w konsoli Google Cloud.

  2. Wybierz nazwę swojego projektu w Firebase w selektorze projektów w konsoli Google Cloud.

  3. Jeśli pojawi się prośba o włączenie interfejsu reCAPTCHA Enterprise API, zrób to.

  4. Kliknij Rozpocznij i dodaj wyświetlaną nazwę klucza witryny reCAPTCHA.

  5. Zaakceptuj domyślny klucz Typ aplikacji Sieć.

  6. Kliknij Dodaj domenę i dodaj domenę. Dodaj domenę App Hosting (np. studio--PROJECT_ID.REGION.hosted.app) i wszystkie domeny niestandardowe, których używasz lub planujesz używać w aplikacji.

  7. Kliknij Następny krok.

  8. Pozostaw opcję Czy będziesz używać testów zabezpieczających? niezaznaczoną.

  9. Kliknij Utwórz klucz.

  10. Skopiuj i zapisz identyfikator klucza, a następnie przejdź do sekcji Konfigurowanie App Check.

Krok 2. Skonfiguruj App Check

  1. Otwórz konsolę Firebase i w menu nawigacyjnym kliknij Build (Kompilacja) > App Check (Sprawdzanie aplikacji).

  2. Kliknij Rozpocznij, a następnie Zarejestruj obok aplikacji.

  3. Kliknij, aby rozwinąć ReCAPTCHA, i wklej identyfikator klucza wygenerowany dla reCAPTCHA Enterprise.

  4. Kliknij Zapisz.

Krok 3. Dodaj App Check do kodu

  1. Wróć do Firebase Studio i w widoku Code dodaj wygenerowany klucz witryny do pliku .env:

    NEXT_PUBLIC_RECAPTCHA_SITE_KEY=RECAPTCHA_SITE_KEY
    
  2. Jeśli nie masz jeszcze konfiguracji Firebase zapisanej w pliku .env, pobierz ją:

    • W konsoli Firebase otwórz Ustawienia projektu i znajdź go w sekcji odpowiadającej Twojej aplikacji.

    • W widoku terminala w Code:

      1. Zaloguj się w Firebase: firebase auth login
      2. Wybierz projekt: firebase use FIREBASE_PROJECT_ID
      3. Uzyskaj konfigurację Firebase: firebase apps:sdkconfig
  3. Dodaj konfigurację do pliku .env, aby wyglądał on tak:

    NEXT_PUBLIC_FIREBASE_API_KEY=FIREBASE_API_KEY
    NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=FIREBASE_AUTH_DOMAIN
    NEXT_PUBLIC_FIREBASE_PROJECT_ID=FIREBASE_PROJECT_ID
    NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=FIREBASE_STORAGE_BUCKET
    NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=FIREBASE_MESSAGING_SENDER_ID
    NEXT_PUBLIC_FIREBASE_APP_ID=FIREBASE_APP_ID
    NEXT_PUBLIC_RECAPTCHA_SITE_KEY=RECAPTCHA_SITE_KEY
    
  4. Dodaj App Check do kodu aplikacji. Możesz poprosić Gemini o dodanie App Check z reCAPTCHA Enterprise do aplikacji (pamiętaj, aby podać „reCAPTCHA Enterprise” i dokładnie to sprawdzić) lub wykonać czynności opisane w sekcji Inicjowanie App Check.

  5. Ponownie opublikuj witrynę w App Hosting. Przetestuj funkcje bazy danych i uwierzytelniania, aby wygenerować dane.

  6. Sprawdź, czy App Check otrzymuje żądania w konsoli Firebase. W tym celu otwórz Kompilacja > Sprawdzanie aplikacji.

  7. Kliknij, aby sprawdzić Cloud Firestore. Po sprawdzeniu, czy żądania docierają, kliknij Wymuś, aby wymusić App Check.

  8. Powtórz weryfikację i egzekwowanie zasad w przypadku Firebase Authentication.

Jeśli po zarejestrowaniu aplikacji w usłudze App Check chcesz uruchomić ją w środowisku, które App Check zwykle nie klasyfikuje jako prawidłowe, np. lokalnie podczas programowania lub w środowisku trybu ciągłej integracji, możesz utworzyć kompilację do debugowania aplikacji, która używa dostawcy debugowania App Check zamiast prawdziwego dostawcy atestu. Więcej informacji znajdziesz w artykule Używanie App Check z dostawcą debugowania w aplikacjach internetowych.

Dalsze kroki