Rejestrowanie inspekcji dla sprawdzania aplikacji Firebase

Na tej stronie opisano dzienniki audytu utworzone przez Firebase w ramach dzienników audytu Cloud .

Przegląd

Usługi Firebase zapisują dzienniki audytu, które pomogą Ci odpowiedzieć na pytania: „Kto, co, gdzie i kiedy zrobił?”. Są to dzienniki audytu Cloud dostarczane w ramach projektu Google Cloud połączonego z Twoim projektem Firebase .

Każdy z Twoich projektów Firebase zawiera tylko dzienniki kontroli zasobów znajdujących się bezpośrednio w projekcie.

Aby zapoznać się z ogólnym omówieniem dzienników audytu Cloud, zobacz Omówienie dzienników audytu Cloud . Aby uzyskać głębsze zrozumienie formatu dziennika audytu, zobacz Omówienie dzienników audytu .

Dostępne dzienniki audytu

W przypadku sprawdzania aplikacji Firebase dostępne są następujące typy dzienników kontrolnych:

  • Dzienniki kontroli aktywności administratora

    Obejmuje operacje „zapisu administratora”, które zapisują metadane lub informacje konfiguracyjne.

    Nie można wyłączyć dzienników kontroli aktywności administratora.

  • Dzienniki kontroli dostępu do danych

    Obejmuje operacje „odczytu administratora”, które odczytują metadane lub informacje konfiguracyjne. Obejmuje także operacje „odczytu danych” i „zapisu danych”, które umożliwiają odczyt lub zapis danych dostarczonych przez użytkownika.

    Aby otrzymywać dzienniki kontroli dostępu do danych, musisz je jawnie włączyć.

Pełniejszy opis typów dzienników audytu można znaleźć w sekcji Typy dzienników audytu .

Audytowane operacje

Poniżej podsumowano, które operacje interfejsu API odpowiadają poszczególnym typom dziennika kontroli w Firebase App Check:

Kategoria dzienników audytu Operacje sprawdzania aplikacji Firebase
Operacje projektowe
Aktywność administratora Usługa aktualizacji
Usługi BatchUpdate
ZweryfikujTokenAppCheckToken
Dostęp do danych (ADMIN_READ) Pobierz usługę
Lista usług
Operacje aplikacji
Aktywność administratora AktualizujAplikacjęAttestConfig
ZaktualizujDeviceCheckConfig
ZaktualizujPlayIntegrityConfig
AktualizujRecaptchaEnterpriseConfig
ZaktualizujRecaptchaV3Config
ZaktualizujSafetyNetConfig
Utwórz token debugowania
Zaktualizuj token debugowania
Usuń token debugowania
Dostęp do danych (ADMIN_READ) GetAppAttestConfig
BatchGetAppAttestConfigs
PobierzDeviceCheckConfig
BatchGetDeviceCheckConfigs
PobierzPlayIntegrityConfig
BatchGetPlayIntegrityConfigs
GetRecaptchaEnterpriseConfig
BatchGetRecaptchaEnterpriseConfigs
PobierzRecaptchaV3Config
BatchGetRecaptchaV3Configs
PobierzSafetyNetConfig
BatchGetSafetyNetConfigs
PobierzToken Debugowania
Lista tokenów debugowania

Format dziennika audytu

Wpisy dziennika kontroli obejmują następujące obiekty:

  • Sam wpis dziennika będący obiektem typu LogEntry . Przydatne pola obejmują:

    • logName zawiera identyfikator zasobu i typ dziennika inspekcji.
    • resource zawiera cel kontrolowanej operacji.
    • timestamp zawiera czas kontrolowanej operacji.
    • protoPayload zawiera kontrolowane informacje.
  • Dane rejestrowania audytu, które są obiektem AuditLog przechowywanym w polu protoPayload wpisu dziennika.

  • Opcjonalne informacje kontrolne specyficzne dla usługi, które są obiektem specyficznym dla usługi. W przypadku starszych integracji obiekt ten jest przechowywany w polu serviceData obiektu AuditLog ; nowsze integracje korzystają z pola metadata .

Informacje na temat innych pól w tych obiektach oraz sposobu ich interpretacji można znaleźć w artykule Opis dzienników kontrolnych .

Nazwa dziennika

Nazwy zasobów dzienników audytu Cloud wskazują projekt Firebase lub inny podmiot Google Cloud będący właścicielem dzienników audytu oraz to, czy dziennik zawiera dane dotyczące działań administratora, dostępu do danych, odmowy zasad lub rejestrowania zdarzeń systemowych. Na przykład poniżej przedstawiono nazwy dzienników kontroli działań administratora na poziomie projektu i dzienników kontroli dostępu do danych organizacji. Zmienne oznaczają identyfikatory projektu i organizacji Firebase.

projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

Nazwa serwisu

Dzienniki audytu Firebase App Check używają nazwy usługi firebaseappcheck.googleapis.com .

Pełną listę wszystkich nazw usług Cloud Logging API i odpowiadających im typów monitorowanych zasobów znajdziesz w artykule Mapowanie usług na zasoby .

Typy zasobów

Dzienniki kontrolne Firebase App Check używają typu zasobu audited_resource dla wszystkich dzienników kontrolnych.

Listę wszystkich typów zasobów monitorowanych przez Cloud Logging i informacje opisowe znajdziesz w artykule Monitorowane typy zasobów .

Włącz rejestrowanie audytu

Dzienniki kontroli aktywności administratora są zawsze włączone; nie możesz ich wyłączyć.

Dzienniki kontrolne dostępu do danych są domyślnie wyłączone i nie są zapisywane, chyba że zostanie to wyraźnie włączone (wyjątkiem są dzienniki kontrolne dostępu do danych dla BigQuery, których nie można wyłączyć).

Aby uzyskać instrukcje dotyczące włączania niektórych lub wszystkich dzienników kontroli dostępu do danych, zobacz Konfigurowanie dzienników dostępu do danych .

Uprawnienia i role

Uprawnienia i role Cloud IAM określają Twoją możliwość dostępu do danych dzienników kontrolnych w zasobach Google Cloud.

Decydując, które uprawnienia i role związane z rejestrowaniem mają zastosowanie w Twoim przypadku użycia, weź pod uwagę następujące kwestie:

  • Rola Przeglądający dzienniki ( roles/logging.viewer ) zapewnia dostęp tylko do odczytu do dzienników działań administratora, odmów zasad i dzienników audytu zdarzeń systemowych. Jeśli masz tylko tę rolę, nie możesz przeglądać dzienników kontroli dostępu do danych znajdujących się w zasobniku _Default .

  • Rola Przeglądający dzienniki prywatne (roles/logging.privateLogViewer ) obejmuje uprawnienia zawarte w roles/logging.viewer oraz możliwość odczytu dzienników kontroli dostępu do danych w zasobniku _Default .

    Pamiętaj, że jeśli te prywatne logi są przechowywane w zasobnikach zdefiniowanych przez użytkownika, każdy użytkownik mający uprawnienia do odczytu dzienników w tych zasobnikach będzie mógł je odczytać. Aby uzyskać więcej informacji na temat zasobników logów, zobacz Omówienie routingu i przechowywania .

Więcej informacji na temat uprawnień i ról Cloud IAM mających zastosowanie do danych dzienników inspekcji znajdziesz w artykule Kontrola dostępu .

Zobacz rejestry

Aby znaleźć i wyświetlić dzienniki audytu, musisz znać identyfikator projektu Firebase, folderu lub organizacji, dla której chcesz wyświetlić informacje o dziennikach audytu. Możesz dodatkowo określić inne indeksowane pola LogEntry , takie jak resource.type ; szczegółowe informacje można znaleźć w artykule Szybkie wyszukiwanie wpisów w dzienniku .

Poniżej znajdują się nazwy dzienników kontrolnych; zawierają zmienne identyfikatorów projektu, folderu lub organizacji Firebase:

   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy

Dzienniki kontrolne w Cloud Logging możesz przeglądać za pomocą konsoli GCP, narzędzia wiersza poleceń gcloud lub interfejsu Logging API.

Konsola

Możesz użyć Eksploratora logów w konsoli GCP, aby pobrać wpisy dziennika kontrolnego dotyczące projektu, folderu lub organizacji Firebase:

  1. W konsoli GCP przejdź do strony Rejestrowanie > Eksplorator logów .

    Przejdź do strony Eksplorator logów

  2. Na stronie Eksplorator logów wybierz istniejący projekt, folder lub organizację Firebase.

  3. W panelu Konstruktor zapytań wykonaj następujące czynności:

    • W obszarze Typ zasobu wybierz zasób Google Cloud, którego dzienniki kontrolne chcesz wyświetlić.

    • W polu Nazwa dziennika wybierz typ dziennika kontrolnego, który chcesz wyświetlić:

      • W dziennikach kontroli aktywności administratora wybierz aktywność .
      • W przypadku dzienników kontroli dostępu do danych wybierz opcję data_access .
      • W dziennikach audytu zdarzeń systemowych wybierz opcję system_event .
      • W dziennikach kontroli odmowy zasad wybierz zasadę .

    Jeśli nie widzisz tych opcji, oznacza to, że w projekcie, folderze lub organizacji Firebase nie są dostępne żadne dzienniki kontroli tego typu.

    Aby uzyskać więcej informacji na temat wykonywania zapytań przy użyciu Eksploratora logów, zobacz Tworzenie zapytań do dzienników .

gcloud

Narzędzie wiersza poleceń gcloud zapewnia interfejs wiersza poleceń do interfejsu Cloud Logging API. Podaj prawidłowy identyfikator PROJECT_ID , FOLDER_ID lub ORGANIZATION_ID w każdej nazwie dziennika.

Aby odczytać wpisy dziennika audytu na poziomie projektu Firebase, uruchom następujące polecenie:

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" --project=PROJECT_ID

Aby odczytać wpisy dziennika inspekcji na poziomie folderu, uruchom następujące polecenie:

gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" --folder=FOLDER_ID

Aby odczytać wpisy dziennika inspekcji na poziomie organizacji, uruchom następujące polecenie:

gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" --organization=ORGANIZATION_ID

Aby uzyskać więcej informacji na temat korzystania z narzędzia gcloud , zobacz Odczytywanie wpisów dziennika .

API

Podczas tworzenia zapytań zastąp zmienne prawidłowymi wartościami, zastąp odpowiednią nazwę lub identyfikatory dziennika audytu na poziomie projektu, folderu lub organizacji, wymienione w nazwach dzienników audytu. Na przykład, jeśli zapytanie zawiera PROJECT_ID , wówczas podany identyfikator projektu musi odnosić się do aktualnie wybranego projektu Firebase.

Aby użyć interfejsu Logging API do przeglądania wpisów w dzienniku kontrolnym, wykonaj następujące czynności:

  1. Przejdź do sekcji Wypróbuj ten interfejs API w dokumentacji metody entries.list .

  2. Umieść następujący tekst w części treści żądania w formularzu Wypróbuj ten interfejs API . Kliknięcie tego wstępnie wypełnionego formularza powoduje automatyczne wypełnienie treści żądania, ale w każdej nazwie dziennika należy podać prawidłowy PROJECT_ID .

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
    
  3. Kliknij Wykonaj .

Więcej informacji na temat zapytań można znaleźć w sekcji Język zapytań rejestrowania .

Przykładowy wpis dziennika audytu i sposób wyszukiwania w nim najważniejszych informacji można znaleźć w artykule Przykładowy wpis dziennika audytu .

Dzienniki kontroli trasy

Dzienniki inspekcji można kierować do obsługiwanych miejsc docelowych w taki sam sposób, jak inne rodzaje dzienników. Oto kilka powodów, dla których warto kierować dzienniki kontroli:

  • Aby przechowywać dzienniki kontrolne przez dłuższy czas lub skorzystać z bardziej zaawansowanych możliwości wyszukiwania, możesz kierować kopie dzienników kontrolnych do Google Cloud Storage, BigQuery lub Google Cloud Pub/Sub. Korzystając z Cloud Pub/Sub, możesz kierować do innych aplikacji, innych repozytoriów i stron trzecich.

  • Aby zarządzać dziennikami kontrolnymi w całej organizacji, możesz utworzyć zagregowane ujścia , które mogą kierować dzienniki z dowolnego lub wszystkich projektów Firebase w organizacji.

  • Jeśli włączone dzienniki kontroli dostępu do danych wypychają projekty Firebase ponad przydziały dzienników, możesz utworzyć ujścia, które wykluczają dzienniki kontroli dostępu do danych z rejestrowania.

Aby uzyskać instrukcje dotyczące dzienników routingu, zobacz Konfigurowanie ujścia .

cennik

Dzienniki audytu działań administratora i dzienniki audytu zdarzeń systemowych są bezpłatne.

Dzienniki audytu dostępu do danych i dzienniki audytu Odmowy zasad są płatne.

Więcej informacji o cenach Cloud Logging znajdziesz w artykule Cennik pakietu operacyjnego Google Cloud: Cloud Logging .