Monitorowanie i ochrona aplikacji internetowych

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

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

Panel Przegląd aplikacji w Firebase Studio zawiera najważniejsze dane i informacje o Twojej aplikacji, dzięki czemu możesz monitorować wydajność aplikacji internetowej za pomocą App Hosting's wbudowanych narzędzi do obserwacji. Po wdrożeniu witryny możesz otworzyć przegląd, klikając Opublikuj. W tym panelu możesz:

  • Kliknąć Opublikuj , aby opublikować nową wersję aplikacji.
  • Udostępnić link do aplikacji lub otworzyć aplikację bezpośrednio w sekcji Otwórz aplikację.
  • Sprawdzić 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ć więcej informacji w konsoli Firebase.
  • Wyświetlić wykres liczby żądań otrzymanych przez aplikację w ciągu ostatnich 24 godzin z podziałem według kodu stanu HTTP.
  • Wyświetlić 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 wdrożeniami App Hosting oraz ich monitorowaniu znajdziesz w artykule Zarządzanie wdrożeniami i wersjami.

Genkit monitorowanie w przypadku wdrożonych funkcji

Możesz monitorować kroki, dane wejściowe i 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 w identyfikowaniu obszarów wymagających poprawy, rozwiązywaniu problemów, optymalizowaniu promptów i przepływów pod kątem lepszej wydajności i oszczędności oraz śledzeniu wykorzystania przepływów w czasie.

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

Krok 1. Dodaj telemetrię do kodu przepływu Genkit w Firebase Studio

Aby skonfigurować monitorowanie w kodzie:

  1. Jeśli nie jesteś jeszcze w widoku Code, kliknij Przełącznik kodu
ikona 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 pliku package.json mają wersję 1.0.4, aby zainstalować wtyczkę, musisz uruchomić to polecenie:

    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. U dołu sekcji importu w pliku dodaj te informacje, aby zaimportować i włączyć FirebaseTelemetry:

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

Krok 2. Skonfiguruj uprawnienia

Firebase Studio włączyło 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. Przyznaj te role kontu usługi App Hosting:

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

  4. Gdy publikowanie się zakończy, wczytaj aplikację i zacznij jej używać. Po 5 minutach aplikacja powinna zacząć rejestrować dane telemetryczne.

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

Gdy telemetria jest skonfigurowana, Genkit rejestruje liczbę żądań, sukcesów i czas oczekiwania dla wszystkich przepływów, a w przypadku każdego konkretnego przepływu, Genkit zbiera dane o stabilności, wyświetla szczegółowe wykresy i rejestruje przechwycone ślady.

Aby monitorować funkcje AI zaimplementowane 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 dane o stabilności zebrane przez Genkit:

    • Łączna liczba żądań: łączna liczba żądań otrzymanych przez przepływ.
    • Wskaźnik sukcesu: odsetek żądań, które zostały przetworzone pomyślnie.
    • 95 centyl czasu oczekiwania: 95 centyl czasu oczekiwania 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 obrazów:

      • Obrazy wejściowe: liczba obrazów wysłanych do modelu w prompcie.
      • Obrazy wyjściowe: 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 czasie.
    • Tokeny wejściowe i wyjściowe w czasie.
    • Czas oczekiwania (95 i 50 centyl) w czasie.

Więcej informacji o Genkit znajdziesz w ich dokumentacji.

Ochrona aplikacji za pomocą Firebase App Check

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

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

W tej sekcji dowiesz się, jak skonfigurować App Check w Firebase Studio za pomocą reCAPTCHA Enterprise w przypadku 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ć niestandardowych dostawców. Więcej informacji znajdziesz w artykule Firebase App Check.

ReCAPTCHA Enterprise zapewnia bezpłatnie do 10 tys. ocen.

Krok 1. Skonfiguruj reCAPTCHA Enterprise w aplikacji

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

  2. W selektorze projektów w konsoli Google Cloud wybierz nazwę projektu w Firebase.

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

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

  5. Zaakceptuj domyślny klucz Typ aplikacji Internet.

  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. Nie zaznaczaj opcji Czy będziesz używać testów zabezpieczających?.

  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ę i w menu nawigacyjnym kliknij Build > Sprawdzanie aplikacji.Firebase

  2. Kliknij Rozpocznij, a potem kliknij Zarejestruj obok swojej 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ą:

  3. Dodaj konfigurację do pliku .env, aby wyglądała 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 za pomocą reCAPTCHA Enterprise do aplikacji (pamiętaj, aby określić "reCAPTCHA Enterprise" i dokładnie sprawdzić kod) lub wykonać czynności opisane w artykule Inicjowanie App Check.

  5. Opublikuj ponownie witrynę w App Hosting. Spróbuj przetestować funkcje bazy danych i uwierzytelniania, aby wygenerować dane.

  6. Sprawdź, czy App Check otrzymuje żądania w Firebase konsoli, otwierając Build > Sprawdzanie aplikacji.

  7. Kliknij, aby sprawdzić Cloud Firestore. Gdy sprawdzisz, że żądania docierają, kliknij Wymuś , aby wymusić App Check.

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

Jeśli po zarejestrowaniu aplikacji w App Check chcesz uruchomić swoją aplikację w środowisku, które normalnie nie byłoby uznawane przez App Check za prawidłowe, np. lokalnie podczas programowania lub w środowisku ciągłej integracji (CI), możesz utworzyć kompilację debugowania aplikacji, która zamiast prawdziwego dostawcy atestów używa dostawcy debugowania App Check. Więcej informacji znajdziesz w artykule Korzystanie ze Sprawdzania aplikacji z dostawcą debugowania w aplikacjach internetowych.App Check

Dalsze kroki