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

Ogólne informacje znajdziesz w artykule Logi kontrolne Cloud. Więcej szczegółów znajdziesz w artykule Omówienie logów kontrolnych.

Logi kontrolne Cloud udostępniają te logi dla każdego projektu w chmurze, folderu i organizacji 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 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. Nie możesz wyłączyć logów kontrolnych aktywności administratora.

Cloud Search zapisuje logi kontrolne dostępu do danych tylko wtedy, gdy je jawnie włączysz. Te logi 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 ani odrzuconych zasad.

Skontrolowane operacje

W tabeli poniżej znajdziesz podsumowanie, które operacje interfejsu API odpowiadają poszczególnym typom logów kontrolnych w Cloud Search:

Kategoria logów kontrolnych Operacje Cloud Search
Aktywność administratora: zapis 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 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 logu kontrolnego

Wpisy logów kontrolnych zawierają te obiekty. Możesz je wyświetlić w Cloud Logging za pomocą eksploratora logów, interfejsu Cloud Logging API lub narzędzia wiersza poleceń gcloud.

Sam wpis logu jest LogEntry obiektem. Przydatne pola to:

  • logName: identyfikator zasobu i typ logu kontrolnego.
  • resource: cel skontrolowanej operacji.
  • timeStamp: czas skontrolowanej operacji.
  • protoPayload: skontrolowane informacje.

Dane logów kontrolnych to AuditLog obiekt w polu protoPayload.

Opcjonalne informacje kontrolne dotyczące 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 logów kontrolnych.

Nazwa logu

Nazwy zasobów logów kontrolnych Cloud wskazują projekt lub inną jednostkę Google Cloud, która jest właścicielem logów, oraz typ logu kontrolnego. 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ługi cloudsearch.googleapis.com.

Typy zasobów

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

Włączanie logów kontrolnych

Domyślnie logi kontrolne są wyłączone w przypadku interfejsu Cloud Search API. Aby włączyć logi kontrolne w Cloud Search:

  1. (Opcjonalnie) Jeśli nie masz projektu w chmurze Google Cloud do przechowywania logów, przeczytaj artykuł 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 Skontrolowane operacje.
  4. Użyj metody updateCustomer() interfejsu REST API, aby zaktualizować auditLogSettings o te 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). Działania zapisu administratora są domyślnie włączone. Aby rejestrować metody zapytań, włącz kategorię Odczyt danych.

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

  5. Logi kontrolne metod zapytań wymagają kategorii Odczyt danych. Aby włączyć logowanie w przypadku metod query.sources.list, query.suggest i query.search:

    1. Pobierz nazwę każdej aplikacji do wyszukiwania w formacie searchapplications/<search_application_id>.
    2. Wywołaj metodę settings.searchapplications.update, ustawiając wartość enableAuditLog na true.
  6. Aby włączyć dziennik kontrolny wywołań z 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 logów kontrolnych Cloud Search:

protoPayload.serviceName="cloudsearch.googleapis.com"

Więcej informacji znajdziesz w artykule Omówienie eksploratora logów.

Uprawnienia do logów kontrolnych

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

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

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

Jeśli używasz dzienników kontrolnych z jednostki innej niż projekt, np. organizacji, zmień role projektu w chmurze na odpowiednie role organizacji.

Wyświetlanie logów

Aby wyświetlić dzienniki, musisz mieć identyfikator projektu w chmurze, folderu lub organizacji. Możesz określić inne LogEntry pola, np. resource.type. Zobacz Tworzenie zapytań w eksploratorze logów.

Nazwy logó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

Masz kilka opcji wyświetlania wpisów logów kontrolnych.

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 wysyłaniu 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. W przypadku metody entries.list otwórz sekcję Wypróbuj ten interfejs API.
  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 wysyłaniu zapytań znajdziesz w artykule Język zapytań usługi Logging.

Przykładowy wpis logu kontrolnego i informacje o tym, jak znaleźć w nim najważniejsze informacje, znajdziesz w artykule Omówienie logów kontrolnych.

Eksportowanie logów kontrolnych

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

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

Ceny i okres przechowywania

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

Okresy przechowywania logów kontrolnych Cloud Search:

  • Logi aktywności administratora: 400 dni.
  • Logi dostępu do danych: 30 dni.

Aktualne ograniczenia

Ograniczenia logów kontrolnych Cloud Search:

  • Rozmiar wpisu logu nie może przekraczać 512 KB. Jeśli wpis przekracza 512 KB, pole response jest usuwane. Jeśli nadal przekracza 512 KB, pole request jest usuwane. Jeśli nadal przekracza 512 KB, cały wpis jest odrzucany.
  • Treści odpowiedzi nie są rejestrowane w przypadku metod list(), get() i suggest().
  • Rejestrowane są tylko wywołania zapytań z cloudsearch.google.com i aplikacji do wyszukiwania klientów.
  • W przypadku wywołań search() w żądaniu rejestrowane są tylko Query, RequestOptions i DataSourceRestriction. Odpowiedź kontroluje tylko adres URL i metadane.
  • Wywołania backendu dotyczące eksportu danych nie są kontrolowane.