Rejestrowanie kontrolne dla Firebase App Check

Ta strona opisuje logi kontrolne utworzone przez Firebase w ramach Cloud Audit Logs .

Przegląd

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

Każdy z Twoich projektów Firebase zawiera tylko dzienniki kontrolne zasobów, które znajdują się bezpośrednio w projekcie.

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

Dostępne dzienniki audytu

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

  • Dzienniki kontrolne aktywności administratora

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

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

  • Dzienniki kontroli dostępu do danych

    Obejmuje operacje „odczytu administracyjnego”, które odczytują metadane lub informacje o konfiguracji. Obejmuje również operacje „odczytu danych” i „zapisu danych”, które odczytują lub zapisują dane dostarczone przez użytkownika.

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

Pełniejsze opisy typów dzienników kontrolnych znajdziesz w artykule Typy dzienników kontrolnych .

Audytowane operacje

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

Kategoria dzienników kontroli Operacje sprawdzania aplikacji Firebase
Operacje projektowe
Aktywność administratora Usługa aktualizacji
Usługi aktualizacji zbiorczej
Dostęp do danych (ADMIN_READ) GetService
Lista usług
Operacje aplikacji
Aktywność administratora Aktualizuj konfigurację zatwierdzeń aplikacji
Aktualizuj konfigurację sprawdzania urządzenia
Aktualizacja PlayIntegrityConfig
AktualizujRecaptchaEnterpriseConfig
AktualizujRecaptchaV3Config
AktualizujSafetyNetConfig
Utwórz token debugowania
AktualizujDebugToken
UsuńDebugToken
Dostęp do danych (ADMIN_READ) GetAppAttestConfig
BatchGetAppAttestConfigs
GetDeviceCheckConfig
BatchGetDeviceCheckConfigs
GetPlayIntegrityConfig
BatchGetPlayIntegrityConfigs
GetRecaptchaEnterpriseConfig
BatchGetRecaptchaEnterpriseConfigs
GetRecaptchaV3Config
BatchGetRecaptchaV3Configs
GetSafetyNetConfig
BatchGetSafetyNetConfigs
GetDebugToken
ListaDebugTokens

Format dziennika kontroli

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

  • Sam wpis dziennika, który jest obiektem typu LogEntry . Przydatne pola to:

    • logName zawiera identyfikator zasobu i typ dziennika kontrolnego.
    • resource zawiera cel kontrolowanej operacji.
    • timeStamp zawiera czas audytowanej operacji.
    • protoPayload zawiera skontrolowane 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 ten obiekt jest przechowywany w polu serviceData obiektu AuditLog ; nowsze integracje używają pola metadata .

Aby zapoznać się z innymi polami w tych obiektach i jak je interpretować, przejrzyj Zrozumienie dzienników inspekcji .

Nazwa dziennika

Nazwy zasobów dzienników kontrolnych Cloud wskazują projekt Firebase lub inny podmiot Google Cloud, który jest właścicielem dzienników kontrolnych, oraz czy dziennik zawiera dane z dzienników kontrolnych o aktywności administratora, dostępie do danych, odrzuceniu zasad lub zdarzeniach systemowych. Na przykład poniżej przedstawiono nazwy dzienników kontrolnych aktywności administratora na poziomie projektu oraz dzienników kontrolnych 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 kontrolne 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 do zasobów .

Rodzaje zasobów

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

Aby uzyskać listę wszystkich monitorowanych typów zasobów w usłudze Cloud Logging oraz informacje opisowe, zobacz Monitorowane typy zasobów .

Włącz rejestrowanie audytu

Dzienniki kontrolne 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 zostaną 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ą zdolność do uzyskiwania dostępu do danych dzienników kontrolnych w zasobach Google Cloud.

Decydując o tym, które uprawnienia i role specyficzne dla rejestrowania mają zastosowanie do przypadku użycia, należy wziąć pod uwagę następujące kwestie:

  • Rola Przeglądający dzienniki ( roles/logging.viewer ) zapewnia dostęp tylko do odczytu do dzienników kontroli aktywności administratora, odmowy zasad i zdarzeń systemowych. Jeśli masz tylko tę rolę, nie możesz wyświetlać dzienników kontroli dostępu do danych, które znajdują się w _Default .

  • Rola wyświetlającego dzienniki prywatne (roles/logging.privateLogViewer ) obejmuje uprawnienia zawarte w roles/logging.viewer oraz możliwość odczytywania dzienników kontrolnych dostępu do danych w _Default .

    Pamiętaj, że jeśli te prywatne logi są przechowywane w zasobnikach zdefiniowanych przez użytkownika, każdy użytkownik, który ma uprawnienia do odczytywania logów w tych zasobnikach, może je czytać. Aby uzyskać więcej informacji na temat zasobników logów, zobacz Omówienie routingu i przechowywania .

Aby uzyskać więcej informacji o uprawnieniach i rolach Cloud IAM, które mają zastosowanie do danych dzienników kontrolnych, zobacz Kontrola dostępu .

Zobacz rejestry

Aby znaleźć i wyświetlić dzienniki kontrolne, musisz znać identyfikator projektu, folderu lub organizacji Firebase, dla której chcesz wyświetlić informacje z dziennika kontrolnego. Możesz dodatkowo określić inne indeksowane pola LogEntry , takie jak resource.type ; Aby uzyskać szczegółowe informacje, przejrzyj temat Szybkie wyszukiwanie wpisów dziennika .

Poniżej znajdują się nazwy dzienników kontroli; 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 możesz przeglądać w Cloud Logging, korzystając z konsoli GCP, narzędzia wiersza poleceń gcloud lub interfejsu Logging API.

Konsola

Za pomocą Eksploratora logów w konsoli GCP możesz pobrać wpisy dziennika kontrolnego projektu, folderu lub organizacji Firebase:

  1. W konsoli GCP wejdź na stronę Logowanie > Eksplorator logów .

    Przejdź do strony Eksploratora logów

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

  3. W okienku Konstruktora zapytań wykonaj następujące czynności:

    • W polu 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 przypadku dzienników kontrolnych aktywności administratora wybierz aktywność .
      • W przypadku dzienników kontrolnych dostępu do danych wybierz data_access .
      • W przypadku dzienników inspekcji zdarzeń systemowych wybierz system_event .
      • W przypadku dzienników kontrolnych Odmowa zasad wybierz zasady .

    Jeśli nie widzisz tych opcji, oznacza to, że w projekcie, folderze lub organizacji Firebase nie ma żadnych dzienników kontrolnych tego typu.

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

gcloud

Narzędzie wiersza poleceń gcloud udostępnia 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 kontrolnego Firebase na poziomie projektu, uruchom następujące polecenie:

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

Aby odczytać wpisy dziennika kontroli 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 kontrolnego na poziomie organizacji, uruchom następujące polecenie:

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

Więcej informacji o korzystaniu z narzędzia gcloud znajdziesz w artykule Odczytywanie wpisów dziennika .

API

Podczas tworzenia zapytań zastąp zmienne prawidłowymi wartościami, zastąp odpowiednią nazwę lub identyfikatory dziennika kontroli na poziomie projektu, folderu lub organizacji, zgodnie z nazwami dzienników kontroli. Na przykład jeśli zapytanie zawiera PROJECT_ID , 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ące informacje w części treści żądania w formularzu Wypróbuj ten interfejs API . Kliknięcie tego wstępnie wypełnionego formularza automatycznie wypełnia treść żądania, ale musisz podać prawidłowy PROJECT_ID w każdej nazwie dziennika.

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

Aby uzyskać więcej informacji na temat zapytań, zobacz Rejestrowanie języka zapytań .

Aby zapoznać się z przykładem wpisu dziennika kontroli i sposobem znajdowania w nim najważniejszych informacji, zobacz Przykładowy wpis dziennika kontroli .

Dzienniki kontroli tras

Dzienniki kontrolne 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ć swoje dzienniki kontrolne:

  • Aby przechowywać dzienniki kontrolne przez dłuższy czas lub korzystać z bardziej zaawansowanych funkcji wyszukiwania, możesz przekierować 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 kontrolne dostępu do danych przesyłają projekty Firebase do przydziałów logów, możesz tworzyć ujścia, które wykluczają dzienniki kontrolne dostępu do danych z rejestrowania.

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

cennik

Dzienniki kontrolne aktywności administratora i dzienniki kontrolne zdarzeń systemowych są bezpłatne.

Dzienniki kontrolne dostępu do danych i dzienniki kontrolne odmowy zasad są płatne.

Więcej informacji na temat cen Cloud Logging znajdziesz w cenniku pakietu operacyjnego Google Cloud: Cloud Logging .