Logowanie kontrolne

Na tej stronie opisujemy logi kontrolne tworzone przez Cloud Search w ramach logów kontrolnych Cloud.

Przegląd

Usługi Google Cloud zapisują logi kontrolne, aby pomóc Ci odpowiedzieć na pytania „kto, co, gdzie i kiedy?” w odniesieniu do działań dotyczących Twoich zasobów. Projekty Cloud zawierają tylko logi kontrolne zasobów, które znajdują się bezpośrednio w projekcie. Inne podmioty, takie jak foldery, organizacje i konta Cloud Billing, zawierają logi kontrolne dotyczące samego podmiotu.

Ogólne informacje o logach kontrolnych Cloud znajdziesz w artykule Logi kontrolne Cloud. Aby lepiej zrozumieć logi kontrolne Cloud, przeczytaj artykuł Omówienie dzienników kontrolnych.

Usługa Cloud Audit Logs udostępnia te logi kontrolne dla każdego projektu, folderu i organizacji w Google Cloud:

  • Logi kontrolne aktywności administratora zawierające wpisy odpowiadające metodom wykonującym operacje zapisu wykonywane przez administratora. Metody odpowiadające działaniu Administrator Activity:Admin write operations zostaną omówione w nadchodzącej sekcji Skontrolowane operacje.
  • Logi kontrolne dostępu do danych zawierające wpisy odpowiadające metodom wykonującym operacje odczytu przez administratora, zapisu danych i odczytu danych. Metody odpowiadające operacjom Dostęp do danych:odczyt przez administratora, Dostęp do danych:zapis danych i Dostęp do danych:odczyt danych zostaną omówione w sekcji Operacje podlegające kontroli.
  • Logi kontrolne zdarzeń systemowych
  • Logi kontrolne odrzuconych zasad

Cloud Search zapisuje logi kontrolne aktywności administratora, które rejestrują operacje modyfikujące konfigurację lub metadane zasobu. Logów kontrolnych aktywności administratora nie można wyłączyć.

Cloud Search zapisuje logi kontrolne dostępu do danych tylko wtedy, gdy są one wyraźnie włączone. Logi kontrolne dostępu do danych zawierają wywołania interfejsu API, które odczytują konfigurację lub metadane zasobów, a także wywołania interfejsu API przez użytkowników, które tworzą, modyfikują lub odczytują dane zasobów przekazywanych przez użytkowników.

Cloud Search nie zapisuje logów kontrolnych zdarzeń systemowych.

Cloud Search nie zapisuje logów kontrolnych dotyczących odrzuconych zasad.

Skontrolowane operacje

Poniżej znajdziesz podsumowanie operacji interfejsu API odpowiadających poszczególnym typom logów kontrolnych w Cloud Search:

Kategoria logów kontrolnych Operacje Cloud Search
Aktywność administratora: zapis przez administratora indexing.datasources.updateSchema
indexing.datasources.deleteSchema
settings.datasources.create
settings.datasources.delete
settings.datasources.update
settings.searchapplications.create
settings.searchapplications.delete
settings.searchapplications.reset
settings.searchapplications.update
settings.updateCustomer
cloudsearch.IdentitySourceService.create
cloudsearch.IdentitySourceService.update
cloudsearch.IdentitySourceService.delete
Dostęp do danych: odczyt przez administratora indexing.datasources.getSchema
settings.datasources.get
settings.datasources.list
settings.searchapplications.get
settings.searchapplications.list
settings.getCustomer
cloudsearch.IdentitySourceService.get
cloudsearch.IdentitySourceService.list
Dostęp do danych: zapis danych indexing.datasources.items.delete
indexing.datasources.items.deleteQueueItems
indexing.datasources.items.index
indexing.datasources.items.poll
indexing.datasources.items.push
indexing.datasources.items.unreserve
indexing.datasources.items.upload
media.upload
Dostęp do danych: odczyt danych indexing.datasources.items.get
indexing.datasources.items.list
operations.get
operations.list
debug.datasources.items.checkAccess
debug.datasources.items.searchByViewUrl
stats.getIndex
stats.getQuery
stats.getSession
stats.getUser
stats.index.datasources.get
stats.query.searchapplications.get
stats.session.searchapplications.get
stats.user.search applications.get
debug.identitysources.items.listForunmappedidentity
debug.identitysources.unmappedids.list
debug.datasources.items.unmappedids.list
query.sources.list
query.suggest
query.search
stats.getSearchapplication

Format dziennika kontrolnego

Wpisy dziennika kontrolnego, które można wyświetlać w Cloud Logging za pomocą eksploratora logów, interfejsu Cloud Logging API lub narzędzia wiersza poleceń gcloud, zawierają te obiekty:

Sam wpis w logu, który jest obiektem typu LogEntry. Przydatne pola to:

  • logName zawiera identyfikator zasobu i typ logu kontrolnego.
  • Element resource zawiera cel operacji poddanej kontroli.
  • Symbol timeStamp zawiera czas operacji poddanej kontroli.
  • protoPayload zawiera informacje poddane audytowi.
  • 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 specyficznym dla usługi. W przypadku wcześniejszych integracji ten obiekt jest przechowywany w polu serviceData obiektu AuditLog, a w przypadku późniejszych integracji – w polu metadata.

Informacje o innych polach w tych obiektach i sposobie ich interpretowania znajdziesz w artykule Omówienie dzienników kontrolnych.

Nazwa logu

Nazwy zasobów logów kontrolnych Cloud wskazują projekt Cloud lub inny podmiot Google Cloud, który jest właścicielem logów kontrolnych, oraz to, czy log zawiera dane logów kontrolnych dotyczące aktywności administratora, dostępu do danych, odmowy dostępu do zasad czy zdarzeń systemowych. Na przykład poniżej znajdziesz nazwy logów kontrolnych aktywności administratora na poziomie projektu i logów kontrolnych dostępu do danych w organizacji. Zmienne oznaczają identyfikatory projektu i organizacji.

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

Nazwa usługi

Logi kontrolne Cloud Search używają nazwy usługi cloudsearch.googleapis.com.

Typy zasobów

Logi kontrolne Cloud Search używają typu zasobu audited_resource w przypadku wszystkich logów kontrolnych.

Listę innych typów zasobów znajdziesz w artykule Typy monitorowanych zasobów.

Włączanie logowania w logach kontrolnych

Domyślnie rejestrowanie kontrolne jest wyłączone w przypadku Cloud Search API. Aby włączyć logi kontrolne Google Cloud Search:

  1. (opcjonalnie) Jeśli nie masz projektu Google Cloud Platform do przechowywania logów, zapoznaj się z artykułem Konfigurowanie dostępu do interfejsu Google Cloud Search API.

  2. Uzyskaj identyfikator projektu Google Cloud, w którym chcesz przechowywać dzienniki. Aby dowiedzieć się, jak uzyskać identyfikator projektu, przeczytaj artykuł Identyfikowanie projektów.

  3. Aby włączyć logowanie kontrolne w przypadku konkretnego interfejsu API, musisz określić kategorię logów, którą chcesz włączyć. Listę interfejsów API i odpowiadających im kategorii znajdziesz w sekcji Audytowane operacje w tym dokumencie.

  4. Aby zaktualizować ustawienia auditLogSettings o kategorie dzienników, które chcesz włączyć, użyj metody interfejsu API REST updateCustomer():

    1. Uzyskaj token dostępu OAuth 2.0 z serwera autoryzacji Google. Informacje o uzyskiwaniu tokena znajdziesz w kroku 2 artykułu Używanie protokołu OAuth 2.0 na potrzeby dostępu do interfejsów API Google. Podczas uzyskiwania tokena dostępu użyj jednego z tych zakresów OAuth:

      • https://www.googleapis.com/auth/cloud_search.settings.indexing
      • https://www.googleapis.com/auth/cloud_search.settings
      • https://www.googleapis.com/auth/cloud_search
    2. Uruchom to polecenie curl.

    curl --request PATCH \
    'https://cloudsearch.googleapis.com/v1/settings/customer?updateMask=auditLoggingSettings&key=[YOUR_API_KEY]' \
    --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
    --header 'Content-Type: application/json' \
    --data '{"auditLoggingSettings": { "project": "projects/PROJECT_ID", "CATEGORY1": "true", "CATEGORY2": "true" } }'
    

    Gdzie:

    • YOUR_ACCESS_TOKEN to token dostępu OAuth 2.0 uzyskany w kroku 4a.
    • PROJECT_ID to identyfikator projektu uzyskany w kroku 2.
    • CATEGORY1, CATEGORY2, to kategorie, które zostały włączone w kroku 3. Prawidłowe wartości to logAdminReadActions, logDataWriteActionslogDataReadActions. Działania zapisu wykonywane przez administratora są domyślnie włączone i nie można ich wyłączyć. Jeśli chcesz włączyć logowanie kontrolne w przypadku metod zapytań, musisz włączyć kategorię Odczyt danych.

    Po zaktualizowaniu AuditLoggingSettings kolejne żądania do Cloud Search API będą generować dziennik kontrolny w projekcie o identyfikatorze podanym w AuditLoggingSettings.

  5. Logowanie kontrolne metod zapytań wymaga włączenia kategorii Odczyt danych (zrobione w kroku 4). Aby włączyć logowanie kontrolne w przypadku metod zapytań (query.sources.list, query.suggestquery.search), wykonaj te dodatkowe czynności:

    1. W przypadku każdej aplikacji do wyszukiwania, dla której chcesz włączyć rejestrowanie audytu, pobierz nazwę. Nazwa musi mieć format searchapplications/<search_application_id>.

    2. Użyj nazwy, aby zadzwonić do settings.searchapplications.update z ustawioną wartością enableAuditLog na true.

  6. Aby włączyć rejestrowanie kontrolne połączeń z cloudsearch.google.com, upewnij się, że kategoria Odczyt danych jest włączona (krok 4). Dodatkowo wykonaj krok 5b z wartością name równą searchapplications/default .

Po włączeniu logi można wyświetlić w sekcji Eksplorator logów w konsoli Google Cloud. Aby wyświetlić tylko dzienniki kontrolne Cloud Search, użyj tego filtra:

protoPayload.serviceName="cloudsearch.googleapis.com"

Informacje o tym, jak wyświetlać logi, znajdziesz w artykule Omówienie Eksploratora logów.

Uprawnienia do logów kontrolnych

Uprawnienia i role Identity and Access Management określają, które dzienniki kontrolne możesz wyświetlać lub eksportować. Logi znajdują się w projektach Cloud i w innych jednostkach, takich jak organizacje, foldery i konta rozliczeniowe Cloud. Więcej informacji znajdziesz w artykule Role.

Aby wyświetlić logi kontrolne aktywności administratora, musisz mieć w projekcie zawierającym logi kontrolne jedną z tych ról uprawnień:

Aby wyświetlać logi kontrolne dostępu do danych, musisz mieć w projekcie zawierającym logi kontrolne jedną z tych ról:

Jeśli używasz dzienników kontrolnych z podmiotu innego niż projekt, np. organizacji, zmień role projektu Cloud na odpowiednie role organizacji.

Wyświetl logi

Aby znaleźć i wyświetlić logi kontrolne, musisz znać identyfikator projektu, folderu lub organizacji w Google Cloud, dla których chcesz wyświetlić informacje o logach kontrolnych. Możesz też określić inne indeksowane pola, np. resource.type. Więcej informacji znajdziesz w artykule Tworzenie zapytań w eksploratorze logów.LogEntry

Poniżej znajdziesz nazwy dzienników kontrolnych. Zawierają one zmienne identyfikatorów projektu, folderu lub organizacji w Google Cloud:

   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

Wpisy w logu kontrolnym możesz wyświetlać na kilka sposobów.

Konsola

Aby pobrać wpisy dziennika kontrolnego dotyczące projektu w Google Cloud, możesz użyć eksploratora logów w Cloud Console:

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

    Otwórz stronę Eksplorator logów

  2. Na stronie Eksplorator logów wybierz istniejący projekt w Cloud.

  3. W panelu Konstruktor zapytań wykonaj te czynności:

    • W sekcji Zasób wybierz typ zasobu Google Cloud, którego logi kontrolne chcesz wyświetlić.

    • W sekcji 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 dotyczących odrzuconych zasad wybierz policy (zasady).

    Jeśli nie widzisz tych opcji, oznacza to, że w projekcie w Google Cloud nie ma logów kontroli tego typu.

    Więcej informacji o wykonywaniu zapytań za pomocą nowego eksploratora logów znajdziesz w artykule Tworzenie zapytań w eksploratorze logów.

gcloud

gcloud udostępnia interfejs wiersza poleceń do interfejsu Logging API. W nazwach każdego z logów podaj prawidłowy adres PROJECT_ID, FOLDER_ID lub ORGANIZATION_ID.

Aby odczytać wpisy logów kontrolnych na poziomie projektu Google Cloud, 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 logów kontrolnych na poziomie organizacji, uruchom to 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 gcloud logging read.

Interfejs API

Podczas tworzenia zapytań zastąp zmienne prawidłowymi wartościami, a nazwy lub identyfikatory dzienników audytu na poziomie projektu, folderu lub organizacji zastąp odpowiednimi nazwami wymienionymi w sekcji Nazwy dzienników audytu. Jeśli na przykład zapytanie zawiera PROJECT_ID, podany identyfikator projektu musi odnosić się do aktualnie wybranego projektu w Cloud.

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

  1. Otwórz sekcję Wypróbuj ten interfejs API w dokumentacji metody entries.list.

  2. Wklej poniższy kod do sekcji Treść żądania w formularzu Wypróbuj interfejs API. Kliknięcie tego wstępnie wypełnionego formularza automatycznie wypełni treść prośby, ale musisz podać prawidłowy PROJECT_ID w każdej nazwie logu.

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

Więcej informacji o wykonywaniu zapytań znajdziesz w artykule Język zapytań usługi Logging.

Przykładowy wpis w dzienniku kontrolnym i informacje o tym, jak znaleźć w nim najważniejsze dane, znajdziesz w artykule Omówienie dzienników kontrolnych.

Eksportowanie logów kontrolnych

Dzienniki kontrolne możesz eksportować w taki sam sposób jak inne rodzaje dzienników. Szczegółowe informacje o eksportowaniu dzienników znajdziesz w artykule Eksportowanie dzienników. Oto kilka zastosowań eksportowania dzienników kontrolnych:

  • Aby przechowywać dzienniki kontrolne przez dłuższy czas lub korzystać z bardziej zaawansowanych funkcji wyszukiwania, możesz eksportować kopie dzienników kontrolnych do Cloud Storage, BigQuery lub Pub/Sub. Za pomocą Pub/Sub możesz eksportować logi do innych aplikacji, repozytoriów i firm.

  • Aby zarządzać logami kontrolnymi w całej organizacji, możesz utworzyć zagregowane ujścia, które mogą eksportować logi z dowolnych lub wszystkich projektów Cloud w organizacji.

  • Jeśli włączone logi kontrolne dostępu do danych przekraczają przydział logów w Twoich projektach Google Cloud, możesz wyeksportować i wykluczyć logi kontrolne dostępu do danych z Cloud Logging. Więcej informacji znajdziesz w sekcji Wykluczanie dzienników.

Ceny i utrzymanie

Cloud Logging nie nalicza opłat za logi kontrolne, których nie można wyłączyć, w tym za wszystkie logi kontrolne działań administracyjnych. Cloud Logging nalicza opłaty za logi kontrolne dostępu do danych, o które wyraźnie poprosisz.

Więcej informacji o cenach dzienników kontrolnych znajdziesz w cenniku pakietu operacyjnego Google Cloud.

Czas przechowywania dzienników kontrolnych Cloud Search:

  • Logi aktywności administratora (lub operacje zapisu wykonywane przez administratora) – te logi są przechowywane przez 400 dni.
  • Logi dostępu do danych (odczyt przez administratora, zapis danych i odczyt danych) – te logi są przechowywane przez 30 dni.

Więcej informacji o czasie przechowywania znajdziesz w artykule Okresy przechowywania logów.

Obecne ograniczenia

Logowanie kontrolne Cloud Search ma obecnie te ograniczenia:

  • Rozmiar wpisu w logu musi być mniejszy niż 512 KB. Jeśli rozmiar przekroczy 512 KB, odpowiedź zostanie usunięta z wpisu w dzienniku. Jeśli to nie zmniejszy rozmiaru do 512 KB lub mniej, żądanie zostanie odrzucone. Jeśli rozmiar nadal przekracza 512 KB, wpis w dzienniku zostanie usunięty.

  • Treści odpowiedzi nie są rejestrowane w przypadku metod list(), get()suggest(). Stany odpowiedzi są jednak dostępne.

  • Rejestrowane są tylko wywołania interfejsu Query API z cloudsearch.google.com (jeśli jest włączony) i aplikacji do wyszukiwania klientów.

  • W przypadku połączeń search() w żądaniu rejestrowane są tylko wartości Query, RequestOptionsDataSourceRestriction. W odpowiedzi sprawdzane są tylko adres URL i metadane (źródło i objectType) każdego SearchResult.

  • Wywołania wysyłane do backendu Cloud Search i odpowiadające eksportowi danych nie są kontrolowane.