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ą logi kontrolne tylko w przypadku zasobów znajdujących się bezpośrednio w projekcie. Inne podmioty, takie jak foldery, organizacje i konta rozliczeniowe Cloud, zawierają własne dzienniki audytu.

Ogólne omówienie znajdziesz w artykule Logi kontrolne Cloud. Więcej informacji znajdziesz w artykule Omówienie dzienników kontrolnych.

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

  • Logi kontrolne aktywności administratora: wpisy dotyczące metod wykonujących operacje zapisu administratora.
  • Logi kontrolne dostępu do danych: wpisy dotyczące metod wykonujących operacje odczytu przez administratora, zapisu danych i odczytu danych.
  • Logi kontrolne zdarzeń systemowych
  • Logi kontrolne odrzuconych zasad

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

Cloud Search zapisuje logi kontrolne dostępu do danych tylko wtedy, gdy jawnie je włączysz. Zawierają one 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 Zdarzenie systemowe ani Odrzucona zasada.

Skontrolowane operacje

W tabeli poniżej znajdziesz podsumowanie operacji interfejsu API odpowiadających poszczególnym typom dziennikó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 w dzienniku kontrolnym zawierają te obiekty: Możesz je wyświetlać w Cloud Logging za pomocą eksploratora logów, interfejsu Cloud Logging API lub narzędzia wiersza poleceń gcloud.

Sam wpis w logu jest obiektem LogEntry. Przydatne pola:

  • logName: identyfikator zasobu i typ dziennika kontrolnego.
  • resource: cel audytowanej operacji.
  • timeStamp: czas operacji podlegającej kontroli.
  • protoPayload: informacje poddane kontroli.

Dane logowania kontrolnego to obiekt AuditLog w polu protoPayload.

Opcjonalne informacje o kontroli dotyczące konkretnej usługi to obiekt specyficzny dla usługi. W przypadku wcześniejszych integracji ten obiekt znajduje się w polu serviceData obiektu AuditLog, a w przypadku późniejszych integracji – w polu metadata.

Więcej informacji znajdziesz w artykule Omówienie dzienników kontrolnych.

Nazwa logu

Nazwy zasobów Cloud Audit Logs wskazują projekt lub inny podmiot Google Cloud, który jest właścicielem logów, oraz typ logów kontrolnych. Na przykład:

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ługicloudsearch.googleapis.com.

Typy zasobów

Logi kontrolne Cloud Search używają typu zasobu audited_resource we wszystkich logach. Więcej typów zasobów znajdziesz w artykule Typy monitorowanych zasobów.

Włączanie logowania kontrolnego

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

  1. (Opcjonalnie) Jeśli nie masz projektu Google Cloud do przechowywania logów, zapoznaj się z artykułem Konfigurowanie dostępu do interfejsu Cloud Search API.
  2. Uzyskaj identyfikator projektu Google Cloud, w którym chcesz przechowywać logi. Zobacz Identyfikowanie projektów.
  3. Określ kategorię logów, którą chcesz włączyć w przypadku konkretnego interfejsu API. Zobacz kontrolowane operacje.
  4. Użyj metody interfejsu API REST updateCustomer(), aby zaktualizować auditLogSettings o kategorie:

    1. Uzyskaj token dostępu OAuth 2.0. Zobacz Używanie protokołu OAuth 2.0 na potrzeby dostępu do interfejsów API Google. Użyj jednego z tych zakresów:
      • 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: bash 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" } }'Zastąp YOUR_ACCESS_TOKEN, PROJECT_ID i kategorie (logAdminReadActions, logDataWriteActions lub logDataReadActions). Domyślnie włączone są działania zapisu administratora. Aby rejestrować metody zapytań, włącz kategorię Odczyt danych.

      Kolejne żądania do interfejsu Cloud Search API generują logi w określonym projekcie.

  5. Rejestrowanie w dzienniku kontrolnym metod zapytań wymaga kategorii Odczyt danych. Aby włączyć logowanie w przypadku dostawców query.sources.list, query.suggestquery.search:

    1. Pobierz nazwę każdej wyszukiwarki w formacie searchapplications/<search_application_id>.
    2. Zadzwoń pod numer settings.searchapplications.update, ustawiając enableAuditLog na true.
  6. Aby włączyć logowanie kontrolne wywołań z usługi cloudsearch.google.com, upewnij się, że kategoria Odczyt danych jest włączona, i zaktualizuj searchapplications/default.

Wyświetl logi w Eksploratorze logów w konsoli Google Cloud. Użyj tego filtra w przypadku dzienników kontrolnych Cloud Search:

protoPayload.serviceName="cloudsearch.googleapis.com"

Więcej informacji znajdziesz w artykule z omówieniem eksploratora logów.

Uprawnienia do logów kontrolnych

Uprawnienia zarządzania tożsamościami i dostępem (IAM) określają, które dzienniki możesz wyświetlać lub eksportować. Więcej informacji znajdziesz w artykule Role.

Aby wyświetlać logi kontrolne aktywności administratora, musisz mieć jedną z tych ról uprawnień:

Aby wyświetlać logi kontrolne dostępu do danych, musisz mieć 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 wyświetlić logi, musisz mieć identyfikator projektu, folderu lub organizacji w Google Cloud. Możesz określić inne pola, np. LogEntry resource.type. Zobacz Tworzenie zapytań w eksploratorze logów.

Nazwy dzienników kontrolnych mają ten format:

   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

  1. W konsoli Google Cloud otwórz stronę Logowanie > Eksplorator logów. Otwórz Eksplorator logów
  2. Wybierz projekt.
  3. W panelu Konstruktor zapytań wybierz zasób i typ logu. Więcej informacji o wykonywaniu zapytań za pomocą nowego eksploratora logów znajdziesz w artykule Tworzenie zapytań w eksploratorze logów.

gcloud

Aby wyświetlić logi na poziomie projektu, uruchom to polecenie:

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

Interfejs API

  1. Otwórz sekcję Wypróbuj ten interfejs API dla metody entries.list.
  2. Użyj tego treści żądania, zastępując PROJECT_ID wybranym identyfikatorem projektu:
    {
    "resourceNames": ["projects/PROJECT_ID"],
    "pageSize": 5,
    "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
  3. Kliknij Wykonaj.

Więcej informacji o generowaniu 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 dzienników kontrolnych

Dzienniki kontrolne możesz eksportować tak samo jak inne dzienniki. Zobacz Eksportowanie logów.

  • Eksportowanie do Cloud Storage, BigQuery lub Pub/Sub w celu dłuższego przechowywania lub zaawansowanego wyszukiwania.
  • Używaj zagregowanych miejsc docelowych do zarządzania logami w całej organizacji.
  • Wyklucz logi dostępu do danych, aby zarządzać przydziałami logów. Zobacz sekcję Wykluczanie logów.

Ceny i utrzymanie

Cloud Logging nie nalicza opłat za logi kontrolne aktywności administratora. Cloud Logging nalicza opłaty za logi kontrolne dostępu do danych. Zobacz cennik pakietu operacyjnego Google Cloud.

Okresy przechowywania logów kontrolnych Cloud Search:

  • Historia aktywności administratorów: 400 dni.
  • Logi dostępu do danych: 30 dni.

Obecne ograniczenia

Ograniczenia logów kontrolnych Cloud Search:

  • Rozmiar wpisu w logu musi być mniejszy niż 512 KB. Jeśli wpis przekracza 512 KB, pole response jest usuwane. Jeśli nadal przekracza 512 KB, pole request zostanie usunięte. Jeśli nadal przekracza 512 KB, cały wpis zostanie odrzucony.
  • Treści odpowiedzi nie są rejestrowane w przypadku metod list(), get()suggest().
  • Rejestrowane są tylko wywołania zapytań z cloudsearch.google.com i aplikacji do wyszukiwania klientów.
  • W przypadku połączeń search() w żądaniu rejestrowane są tylko wartości Query, RequestOptions i DataSourceRestriction. Odpowiedź zawiera tylko sprawdzenie adresu URL i metadanych.
  • Wywołania backendu na potrzeby eksportu danych nie są kontrolowane.