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 poluprotoPayload
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
obiektuAuditLog
; nowsze integracje korzystają z polametadata
.
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 wroles/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:
W konsoli GCP przejdź do strony Rejestrowanie > Eksplorator logów .
Na stronie Eksplorator logów wybierz istniejący projekt, folder lub organizację Firebase.
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:
Przejdź do sekcji Wypróbuj ten interfejs API w dokumentacji metody
entries.list
.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" }
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 .