Logowanie kontrolne Firebase Data Connect

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.
  • Dane logowania kontrolnego, które są obiektem AuditLog przechowywanym w polu protoPayload 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 obiektu AuditLog; nowsze integracje używają pola metadata.

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 poziomie roles/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:

  1. W konsoli Google Cloud otwórz stronę Logowanie > Eksplorator logów.

    Otwórz stronę Eksplorator logów

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

  3. 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:

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

  2. 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"
    }
  3. 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.