Na tej stronie opisano logi kontrolne tworzone przez usługę Firebase w ramach logów kontrolnych Cloud.
Omówienie
Usługi Firebase tworzą kopie logów kontrolnych, aby pomóc Ci odpowiedzieć na pytania „kto, co, gdzie i kiedy?”. Są to logi audytu Clouda, które są udostępniane w ramach projektu Google Cloud połączonego z Twoim projektem Firebase.
Twoje projekty Firebase zawierają tylko logi kontrolne zasobów znajdujących się bezpośrednio w projekcie.
Ogólne informacje o logach kontrolnych Cloud znajdziesz w artykule Omówienie logów kontrolnych Cloud. Więcej informacji o formacie dziennika kontrolnego znajdziesz w artykule Omówienie dzienników kontrolnych.
Dostępne dzienniki kontrolne
Dostępne są te typy dzienników kontrolnych Firebase Data Connect:
-
Logi kontrolne działania administratora
Obejmuje operacje „zapisu przez administratora”, które zapisują metadane lub informacje o konfiguracji.
Nie możesz wyłączyć logów kontrolnych aktywności administratora.
-
Logi kontrolne dostępu do danych
Obejmuje operacje „odczyt przez administratora”, które wiążą się z odczytem metadanych lub informacji o konfiguracji. Obejmuje też operacje „odczytywania danych” i „zapisywania danych”, które odczytują lub zapisują dane przekazywane przez użytkowników.
Aby otrzymywać logi kontrolne dostępu do danych, musisz je wyraźnie włączyć.
Pełniejsze opisy typów dzienników kontrolnych znajdziesz w artykule Typy dzienników kontrolnych.
Operacje objęte kontrolą
Poniżej znajdziesz podsumowanie, które operacje interfejsu API odpowiadają poszczególnym typom dzienników kontrolnych w Firebase Data Connect:
Typ uprawnień | Metody |
---|---|
ADMIN_READ |
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.GetConnector google.firebase.dataconnect.v1alpha.FirebaseDataConnect.GetSchema google.firebase.dataconnect.v1alpha.FirebaseDataConnect.GetService google.firebase.dataconnect.v1alpha.FirebaseDataConnect.ListConnectors google.firebase.dataconnect.v1alpha.FirebaseDataConnect.ListSchemas google.firebase.dataconnect.v1alpha.FirebaseDataConnect.ListServices |
ADMIN_WRITE |
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.CreateConnector google.firebase.dataconnect.v1alpha.FirebaseDataConnect.CreateSchema google.firebase.dataconnect.v1alpha.FirebaseDataConnect.CreateService google.firebase.dataconnect.v1alpha.FirebaseDataConnect.DeleteConnector google.firebase.dataconnect.v1alpha.FirebaseDataConnect.DeleteSchema google.firebase.dataconnect.v1alpha.FirebaseDataConnect.DeleteService google.firebase.dataconnect.v1alpha.FirebaseDataConnect.UpdateConnector google.firebase.dataconnect.v1alpha.FirebaseDataConnect.UpdateSchema google.firebase.dataconnect.v1alpha.FirebaseDataConnect.UpdateService |
Format dziennika kontrolnego
Wpisy w dzienniku kontrolnym obejmują te obiekty:
sam wpis w logu, który jest obiektem typu
LogEntry
; Przydatne pola to między innymi:- Wartość
logName
zawiera identyfikator zasobu i typ dziennika kontrolnego. resource
zawiera obiekt docelowy objętej kontrolą.timestamp
zawiera czas operacji objętej kontrolą.- Plik
protoPayload
zawiera zweryfikowane informacje.
- Wartość
Dane logowania kontrolnego, które są obiektem
AuditLog
przechowywanym w poluprotoPayload
wpisu logu.Opcjonalne informacje o kontroli dotyczące konkretnej usługi, które są obiektem dotyczącym konkretnej usługi. W przypadku starszych integracji ten obiekt jest przechowywany w polu
serviceData
obiektuAuditLog
; nowsze integracje używają polametadata
.
Informacje o innych polach tych obiektów oraz o tym, jak je interpretować, znajdziesz w artykule Omówienie dzienników kontrolnych.
Nazwa logu
Nazwy zasobów logów kontrolnych Cloud wskazują projekt Firebase lub inny podmiotGoogle Cloud będący właścicielem logów kontrolnych oraz informują, czy log zawiera dane z logowania kontrolnego aktywności administratora, dostępu do danych, odmowy wykonania zasad lub zdarzeń systemowych. Poniżej podajemy przykłady nazw logów kontrolnych na poziomie projektu i organizacji dotyczących działań administracyjnych oraz dostępu do danych. 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 usługi
Logi kontrolne Firebase Data Connect używają nazwy usługi firebasedataconnect.googleapis.com
.
Pełną listę wszystkich nazw usług Cloud Logging API i odpowiadających im monitorowanych typów zasobów znajdziesz w artykule o mapowaniu usług na zasoby.
Typy zasobów
Logi kontrolne Firebase Data Connect we wszystkich logach kontrolnych
korzystają z typu zasobu audited_resource
.
Listę wszystkich typów monitorowanych zasobów Cloud Logging oraz informacje opisowe znajdziesz w artykule Typy monitorowanych zasobów.
Włączanie logowania w celu kontroli
Logi kontrolne aktywności administratora są zawsze włączone i nie można ich wyłączyć.
Logi kontrolne dostępu do danych są domyślnie wyłączone i nie są zapisywane, chyba że zostaną jawnie włączone (wyjątkiem są logi kontrolne dostępu do danych w BigQuery, których nie można wyłączyć).
Instrukcje włączania niektórych lub wszystkich logów kontrolnych dostępu do danych znajdziesz w artykule Konfigurowanie logów dostępu do danych.
Uprawnienia i role
Uprawnienia i role Cloud IAM określają Twoją zdolność do uzyskiwania dostępu do danych logów kontrolnych w zasobach Google Cloud.
Podczas wybierania uprawnień i ról związanych z logowaniem, które mają zastosowanie w Twoim przypadku użycia, weź pod uwagę te kwestie:
Rola wyświetlającego logi (
roles/logging.viewer
) daje dostęp tylko do odczytu do logów kontrolnych Aktywność administratora, Odmowa zasad i Zdarzenie systemowe. Jeśli masz tylko tę rolę, nie możesz wyświetlać logów kontrolnych dostępu do danych znajdujących się w puli_Default
.Rola Przeglądający dzienniki prywatne
(roles/logging.privateLogViewer
obejmuje uprawnienia zawarte w poziomieroles/logging.viewer
oraz możliwość odczytu dzienników kontrolnych dostępu do danych w zasośniku_Default
.Pamiętaj, że jeśli te logi prywatne są przechowywane w zasobnikach definiowanych przez użytkownika, każdy użytkownik, który ma uprawnienia do odczytu logów w tych zasobnikach, może je odczytywać. Więcej informacji o zasobach logów znajdziesz w artykule Omówienie routingu i miejsca na dane.
Więcej informacji o uprawnieniach i rolach Cloud IAM, które mają zastosowanie do danych logów kontrolnych, znajdziesz w artykule Kontrola dostępu.
Wyświetl logi
Aby znajdować i wyświetlać logi kontrolne, musisz znać identyfikator projektu, folderu lub organizacji Firebase, dla których chcesz mieć widoczne informacje o logowaniu kontrolnym. Możesz też określić inne indeksowane pola LogEntry
, np. resource.type
. Więcej informacji znajdziesz w artykule Szybkie wyszukiwanie wpisów w dzienniku.
Poniżej znajdziesz nazwy logów kontrolnych, które 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
Logi audytu w Cloud Logging możesz wyświetlać za pomocą konsoli Google Cloud, narzędzia wiersza poleceń gcloud
lub interfejsu Logging API.
Konsola
Aby pobrać wpisy dziennika kontrolnego dotyczące Twojego projektu Firebase, folderu lub organizacji w Firebase, możesz użyć Eksploratora logów w konsoli Google Cloud:
W konsoli Google Cloud otwórz stronę Logowanie > Eksplorator logów.
Na stronie Eksplorator logów wybierz istniejący projekt, folder lub organizację Firebase.
W panelu Konstruktor zapytań wykonaj te czynności:
W sekcji Typ zasobu wybierz zasób Google Cloud, którego logi kontrolne chcesz wyświetlić.
W polu Nazwa logu wybierz typ dziennika kontrolnego, który chcesz wyświetlić:
- W przypadku logów kontrolnych aktywności administratora wybierz Aktywność.
- W przypadku logów kontrolnych dostępu do danych wybierz data_access.
- W przypadku logów kontrolnych zdarzeń systemowych wybierz system_event.
- W przypadku dzienników kontrolnych Odrzucona zasada wybierz zasada.
Jeśli nie widzisz tych opcji, oznacza to, że w projekcie, folderze lub organizacji Firebase nie ma żadnych logów inspekcji tego typu.
Więcej informacji o wykonywaniu zapytań za pomocą eksploratora logów znajdziesz w artykule Tworzenie zapytań dotyczących logów.
gcloud
Narzędzie wiersza poleceń gcloud
udostępnia interfejs wiersza poleceń Cloud Logging API. W każdej nazwie pliku dziennika podaj prawidłową wartość PROJECT_ID
, FOLDER_ID
lub ORGANIZATION_ID
.
Aby odczytać wpisy w logu kontrolnym na poziomie projektu Firebase, uruchom to polecenie:
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" --project=PROJECT_ID
Aby odczytać wpisy dziennika kontrolnego na poziomie folderu, uruchom to polecenie:
gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" --folder=FOLDER_ID
Aby odczytać wpisy dziennika kontrolnego na poziomie organizacji, uruchom to polecenie:
gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" --organization=ORGANIZATION_ID
Więcej informacji o używaniu narzędzia gcloud
znajdziesz w artykule Czytanie wpisów w dzienniku.
Interfejs API
Podczas tworzenia zapytań zastąp zmienne prawidłowymi wartościami, a także odpowiednią nazwę lub identyfikator dziennika inspekcji na poziomie projektu, folderu lub organizacji, zgodnie z ich listą w nazwach dzienników inspekcji. Jeśli np. zapytanie zawiera element PROJECT_ID, podany identyfikator projektu musi odnosić się do aktualnie wybranego projektu Firebase.
Aby za pomocą interfejsu Logging API wyświetlić wpisy dziennika kontrolnego, wykonaj te czynności:
Przejdź do sekcji Wypróbuj ten interfejs API w dokumentacji metody
entries.list
.Wpisz te informacje w polu Treść żądania w formularzu Wypróbuj to API. Po kliknięciu tego wstępnie wypełnionego formularza treść żądania zostanie automatycznie wypełniona, ale w każdym z nazwów logów musisz podać prawidłową wartość
PROJECT_ID
.{ "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }
Kliknij Execute (Wykonaj).
Więcej informacji o wykonywaniu zapytań znajdziesz w artykule Język zapytań usługi Logging.
Przykład wpisu w dzienniku kontrolnym i informacje o tym, jak znaleźć w nim najważniejsze informacje, znajdziesz w artykule Przykładowy wpis w dzienniku kontrolnym.
Logi kontrolne trasy
Dzienniki kontrolne możesz kierować do obsługiwanych miejsc docelowych w taki sam sposób, w jaki kierujesz inne rodzaje dzienników. Oto kilka powodów, dla których możesz chcieć przekierowywać dzienniki kontroli:
Aby przechowywać logi audytowe przez dłuższy czas lub korzystać z bardziej zaawansowanych funkcji wyszukiwania, możesz przekazywać kopie logów audytowych do Google Cloud Storage, BigQuery lub Google Cloud Pub/Sub. Za pomocą Cloud Pub/Sub możesz kierować dane do innych aplikacji, innych repozytoriów i do firm zewnętrznych.
Aby zarządzać logami kontrolnymi w całej organizacji, możesz utworzyć zagregowane ujścia, które mogą kierować logi z dowolnego lub wszystkich projektów Firebase w organizacji.
- Jeśli włączone logi kontrolne dostępu do danych powodują, że projekty Firebase przekraczają przydział logów, możesz utworzyć odbiorniki, które wykluczą z Logging logi kontrolne dostępu do danych.
Instrukcje dotyczące routingu logów znajdziesz w artykule o konfigurowaniu ujść.
Ceny
Logi kontrolne działań administracyjnych i logi kontrolne zdarzeń systemowych są bezpłatne.
Logi kontrolne dostępu do danych i logi kontrolne dostępu do danych o niedozwolonych zasadach podlegają opłatom.
Więcej informacji o cenach Cloud Logging znajdziesz w artykule Cennik pakietu operacyjnego Google Cloud: Cloud Logging.