Monitorowanie i ochrona aplikacji internetowych

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

Monitorowanie wydajności witryny za pomocą App Hostingobserwacji

Panel Omówienie aplikacjiFirebase Studio zawiera najważniejsze statystyki i informacje o Twojej aplikacji, dzięki czemu możesz monitorować jej wydajność za pomocą wbudowanych narzędzi do obserwacji App Hosting. Po wdrożeniu witryny możesz wyświetlić jej przegląd, 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ę.
  • Sprawdź podsumowanie skuteczności aplikacji w ciągu ostatnich 7 dni, w tym łączną liczbę żądań i stan najnowszego wdrożenia. Aby uzyskać więcej informacji, kliknij Wyświetl szczegóły w Firebasekonsoli.
  • Wyświetl wykres liczby żądań otrzymanych przez aplikację w ciągu ostatnich 24 godzin, podzielonych według kodu stanu HTTP.

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

Dowiedz się więcej o zarządzaniu i monitorowaniu App Hostingwdrażania etapowego w artykule Zarządzanie wdrażaniem etapowym i wersjami.

Genkit Monitorowanie 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 Genkit umożliwia monitorowanie wydajności i wykorzystania przepływów AI. Te dane pomogą Ci zidentyfikować obszary wymagające poprawy, rozwiązywać problemy, optymalizować prompty i przepływy pod kątem lepszej skuteczności i efektywności kosztowej oraz śledzić wykorzystanie przepływów w czasie.

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

Krok 1. Dodaj telemetrię do kodu przepływu GenkitFirebase Studio

Aby skonfigurować monitorowanie w kodzie:

  1. Jeśli nie jesteś jeszcze w widoku Code, kliknij Przełącznik języka
ikona Przełącz na kod, aby go otworzyć.

  2. Sprawdź package.json, aby zweryfikować wersję zainstalowanej aplikacji 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 mają wersję 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. U dołu sekcji importów w pliku dodaj ten kod, 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 Firebase, ale musisz też przyznać uprawnienia kontu usługi App Hosting.

Aby skonfigurować uprawnienia:

  1. Otwórz Google Cloud konsolę IAM, wybierz projekt, a następnie przypisz te role do konta usługi App Hosting:

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

  3. Po zakończeniu publikowania załaduj aplikację i zacznij z niej korzystać. Po 5 minutach aplikacja powinna zacząć rejestrować dane telemetryczne.

Krok 3. Monitoruj funkcje generatywnej AI w konsoli Firebase

Gdy telemetria jest skonfigurowana, Genkit rejestruje liczbę żądań, sukcesów i opóźnień 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 wdrożone za pomocą Genkit:

  1. Po 5 minutach otwórz GenkitFirebasekonsoli i sprawdź prompty i odpowiedzi Genkit.

    Genkit zbiera te dane dotyczące stabilności:

    • Łączna liczba żądań: łączna liczba żądań otrzymanych przez Twój proces.
    • Wskaźnik sukcesu: odsetek żądań, które zostały przetworzone.
    • Czas oczekiwania w 95 centylu: 95 centyl czasu oczekiwania w przepływie, 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.
    • Użycie obrazu:

      • Obrazy wejściowe: liczba obrazów wysłanych do modelu w prompcie.
      • Obrazy wyjściowe: liczba obrazów wygenerowanych przez model w odpowiedzi.

    Jeśli rozwiniesz dane o stabilności, zobaczysz szczegółowe wykresy:

    • Liczba żądań w czasie.
    • Wskaźnik sukcesu w czasie.
    • Liczba tokenów wejściowych i wyjściowych w czasie.
    • Czas oczekiwania (95 i 50 centyl) w czasie.

Więcej informacji o usłudze Genkit znajdziesz na stronie Genkit.

Chroń aplikację za pomocą funkcji Firebase App Check

Jeśli w aplikacji masz zintegrowane usługi Firebase lub Google Cloud, Firebase App Check pomaga chronić jej backend 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 usługami Google Cloud), jak i z Twoimi własnymi backendami, aby chronić Twoje zasoby.

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

W tej sekcji znajdziesz instrukcje konfigurowania App CheckFirebase Studio za pomocą reCAPTCHA Enterprise w przypadku aplikacji internetowej utworzonej przez App Prototyping agent. Możesz jednak skonfigurować App CheckFirebase Studio 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. ocen bezpłatnie.

Krok 1. Skonfiguruj reCAPTCHA Enterprise w swojej aplikacji

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

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

  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 Sieć.

  6. Kliknij Dodaj domenę i dodaj domenę. Dodaj swoją domenę (np.App Hosting)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 Firebasekonsolę i w menu nawigacyjnym kliknij Build > App Check.

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

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

  4. Kliknij Zapisz.

Krok 3. Dodaj do kodu znak App Check

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

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

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

    • W widoku Terminal 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ł 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 dodanieApp Check reCAPTCHA Enterprise do Twojej aplikacji (pamiętaj, aby podać „reCAPTCHA Enterprise” i dokładnie to sprawdzić) lub wykonać czynności opisane w sekcji InicjowanieApp Check.

  5. Opublikuj ponownie witrynę w App Hosting. Aby wygenerować dane, przetestuj funkcje Firebase.

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

  7. Kliknij, aby sprawdzić usługi Firebase. Po sprawdzeniu, czy przychodzą żądania, kliknij Wymuś, aby wymusić App Check.

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

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

Dalsze kroki