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:
(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.
Uzyskaj identyfikator projektu Google Cloud, w którym chcesz przechowywać dzienniki. Aby dowiedzieć się, jak uzyskać identyfikator projektu, przeczytaj artykuł Identyfikowanie projektów.
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.
Aby zaktualizować ustawienia auditLogSettings o kategorie dzienników, które chcesz włączyć, użyj metody interfejsu API REST
updateCustomer()
: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
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 tologAdminReadActions
,logDataWriteActions
ilogDataReadActions
. 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 wAuditLoggingSettings
.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.suggest
iquery.search
), wykonaj te dodatkowe czynności: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>
.Użyj nazwy, aby zadzwonić do
settings.searchapplications.update
z ustawioną wartościąenableAuditLog
natrue
.
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ń:
- Właściciel projektu, Edytujący projekt lub Wyświetlający projekt
- Rola Logowanie > Wyświetlający logi
- niestandardową rolę uprawnień z
logging.logEntries.list
uprawnieniami IAM;
Aby wyświetlać logi kontrolne dostępu do danych, musisz mieć w projekcie zawierającym logi kontrolne jedną z tych ról:
- Właściciel projektu
- Rola Wyświetlający logi prywatne w usłudze Logowanie
- niestandardowa rola uprawnień z uprawnieniami
logging.privateLogEntries.list
;
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:
W konsoli Cloud otwórz stronę Logging > Eksplorator logów.
Na stronie Eksplorator logów wybierz istniejący projekt w Cloud.
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:
Otwórz sekcję Wypróbuj ten interfejs API w dokumentacji metody
entries.list
.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" }
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()
isuggest()
. 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ściQuery
,RequestOptions
iDataSourceRestriction
. W odpowiedzi sprawdzane są tylko adres URL i metadane (źródło iobjectType
) każdegoSearchResult
.Wywołania wysyłane do backendu Cloud Search i odpowiadające eksportowi danych nie są kontrolowane.