Na tej stronie opisujemy logi kontrolne tworzone przez Cloud Search w ramach logów kontrolnych Cloud.
Opis
Usługi Google Cloud tworzą logi kontrolne, aby pomóc Ci odpowiedzieć na pytania „kto, co, gdzie i kiedy” w odniesieniu do zasobów. Twoje projekty Cloud zawierają tylko logi kontrolne zasobów, które znajdują się bezpośrednio w projekcie. Inne elementy, takie jak foldery, organizacje i konta rozliczeniowe Cloud, zawierają logi kontrolne danej jednostki.
Ogólne informacje o logach kontrolnych Cloud znajdziesz w artykule na temat logów kontrolnych Cloud. Więcej informacji o logach kontrolnych Cloud znajdziesz w omówieniu logów kontrolnych.
Logi kontrolne Cloud zawierają następujące logi kontrolne dla każdego projektu, folderu i organizacji Cloud:
- Logi kontrolne aktywności administratora zawierające wpisy odpowiadające metodom wykonującym operacje zapisu przez administratora. Metody odpowiadające działaniom administratora:operacje zapisu przez administratora zostaną omówione w nadchodzącej sekcji Operacje poddawane kontroli.
- Logi kontrolne dostępu do danych zawierające wpisy odpowiadające metodom wykonywania operacji odczytu przez administratora, zapisu danych i odczytu danych. Metody dostępu do danych:odczyt administratora, dostęp do danych:zapis, dostęp do danych:operacje odczytu danych, zostaną omówione w nadchodzącej sekcji Operacje poddawane kontroli.
- Logi kontrolne zdarzeń systemowych
- Logi kontrolne odrzucone przez zasady
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 jest wyraźnie włączona. Logi kontrolne dostępu do danych zawierają wywołania interfejsu API odczytujące konfigurację lub metadane zasobów oraz wywołania interfejsu API oparte na użytkownikach, 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 odmowy zgodności z zasadami.
Operacje podlegające kontroli
Poniżej podsumowaliśmy, które operacje interfejsu API odpowiadają poszczególnym typom logów kontrolnych w Cloud Search:
Kategoria dzienników kontrolnych | Operacje w Cloud Search |
---|---|
Aktywność administratora: zapis danych przez administratora | segmentation.datasources.updateSchema indexing.datasources.deleteSchema settings.datasources.create settings.datasources.delete settings.datasources.update settings.searchapplications.create settings.searchapplications.delete settings.searchapplications.reset settings.searchIdentityapplications.update settings.updateCustomer cloudsearch.updateSourceService.create sourcesearch.IdentitySourceService.create. |
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 | zindeksowanie.datasources.items.get indexing.datasources.items.list operations.get operations.list debug.datasources.items.searchByViewUrl stats.getIndex stats.getQuery stats.getsessionsource.datasources.getUser stats.getSession |
Format dziennika kontrolnego
Wpisy logu 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 logu, który jest obiektem typu LogEntry
.
Przydatne pola to między innymi:
logName
zawiera identyfikator zasobu i typ logu kontrolnego.- Pole
resource
zawiera obiekt docelowy kontrolowanej operacji. - Pole
timeStamp
zawiera czas kontroli. protoPayload
zawiera informacje objęte audytem.- Dane logowania kontrolnego, które są obiektem AuditLog, przechowywanym w polu protoPayload wpisu logu.
Opcjonalne informacje o kontroli usługi, które są obiektem tej usługi.
W przypadku wcześniejszych integracji ten obiekt jest przechowywany w polu serviceData
obiektu AuditLog
. Późniejsze integracje korzystają z pola metadata
.
Informacje o innych polach w tych obiektach i o tym, jak je interpretować, znajdziesz w artykule Omówienie logów kontrolnych.
Nazwa logu
Nazwy zasobów logów kontrolnych Cloud wskazują, do którego projektu Cloud lub innej encji Google Cloud należy projekt, a także czy dziennik zawiera dane dotyczące aktywności administratora, dostępu do danych, odmowy zgodności z zasadami lub zdarzeń systemowych. Poniżej znajdziesz na przykład nazwy logów kontrolnych aktywności administratora na poziomie projektu i logów kontrolnych dostępu do danych organizacji. Zmienne te identyfikują identyfikatory projektów 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
Wszystkie logi kontrolne Cloud Search używają typu zasobu audited_resource
.
Listę innych typów zasobów znajdziesz w artykule Monitorowane typy zasobów.
Włącz logowanie kontrolne
Domyślnie logowanie kontrolne w Cloud Search API jest wyłączone. Aby włączyć logowanie kontrolne w Google Cloud Search:
(Opcjonalnie) Jeśli nie masz utworzonego 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ć logi. Informacje o tym, jak uzyskać identyfikator projektu, znajdziesz w artykule Identyfikowanie projektów.
Aby włączyć logowanie kontrolne dla określonego interfejsu API, musisz wybrać jego kategorię logów. Informacje o interfejsach API i odpowiadających im kategoriach znajdziesz w sekcji Operacje poddawane kontroli w poprzedniej części tego dokumentu.
Użyj metody
updateCustomer()
interfejsu API REST, aby zaktualizować audytLogSettings przy użyciu kategorii logów, które umożliwiają:Uzyskaj token dostępu OAuth 2.0 z serwera autoryzacji Google. Informacje o uzyskiwaniu tokena znajdziesz w kroku 2 w artykule Korzystanie z protokołu OAuth 2.0 do uzyskiwania dostępu do interfejsów API Google. Aby uzyskać token 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 wybrane przez Ciebie w kroku 3. Prawidłowe wartości tologAdminReadActions
,logDataWriteActions
ilogDataReadActions
. Działania zapisu przez administratora są domyślnie włączone i nie można ich wyłączyć. Jeśli chcesz korzystać z logów kontrolnych metod zapytań, musisz włączyć kategorię Odczyt danych.
Po zaktualizowaniu
AuditLoggingSettings
kolejne żądania wysyłane do Cloud Search API generują log kontrolny w identyfikatorze projektu określonym wAuditLoggingSettings
.Logowanie kontrolne w przypadku metod zapytań wymaga włączenia kategorii odczytu danych (wykonane w kroku 4). Aby włączyć logowanie kontrolne w przypadku metod zapytań (
query.sources.list
,query.suggest
iquery.search
), wykonaj te dodatkowe czynności:Pobierz nazwę każdej wyszukiwarki, dla której chcesz włączyć logowanie kontrolne. Nazwa musi mieć format
searchapplications/<search_application_id>
.Użyj nazwy, aby wywołać funkcję
settings.searchapplications.update
z wartościąenableAuditLog
ustawioną natrue
.
Aby włączyć logowanie kontrolne połączeń z instancji
cloudsearch.google.com
, włącz kategorię Odczyt danych (krok 4). Dodatkowo wykonaj krok 5b zname
o wartościsearchapplications/default
.
Po włączeniu logi można wyświetlać w sekcji eksploratora logów w konsoli Google Cloud. Aby wyświetlić tylko logi kontrolne Cloud Search, użyj tego filtra:
protoPayload.serviceName="cloudsearch.googleapis.com"
Więcej informacji o wyświetlaniu logów znajdziesz w artykule Omówienie eksploratora logów.
Uprawnienia logu kontrolnego
Uprawnienia i role Identity and Access Management określają, które logi kontrolne możesz wyświetlać lub eksportować. Logi znajdują się w projektach Cloud i w niektórych innych jednostkach, takich jak organizacje, foldery i konta rozliczeniowe Cloud. Więcej informacji znajdziesz w artykule Omówienie ról.
Aby wyświetlać logi kontrolne aktywności administratora, musisz mieć w projekcie, który zawiera logi kontrolne, jedną z tych ról uprawnień:
- Właściciel projektu, Edytujący projekt lub Wyświetlający projekt
- rola wyświetlającego logi w usłudze Logging
- niestandardową rolę uprawnień z uprawnieniem
logging.logEntries.list
,
Aby wyświetlać logi kontrolne dostępu do danych, musisz mieć w projekcie, który zawiera logi kontrolne, jedną z tych ról:
- Właściciel projektu
- Rola wyświetlającego logi prywatne w usłudze Logging
- niestandardową rolę uprawnień z uprawnieniem
logging.privateLogEntries.list
,
Jeśli używasz logów kontrolnych z jednostki niebędącej projektem, takiej jak organizacja, zmień role w projekcie Cloud na odpowiednie role w organizacji.
Wyświetlanie logów
Aby znaleźć i wyświetlić logi kontrolne, musisz znać identyfikator projektu, folderu lub organizacji Cloud, w przypadku których chcesz wyświetlić informacje dotyczące logów kontrolnych. Możesz dokładniej określić inne zindeksowane pola LogEntry
, np. resource.type. Szczegółowe informacje znajdziesz w artykule Tworzenie zapytań w eksploratorze logów.
Poniżej znajdziesz nazwy logów kontrolnych, które zawierają zmienne identyfikatorów projektu, folderu lub organizacji 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
Istnieje kilka opcji wyświetlania wpisów dziennika kontrolnego.
Konsola
Wpisy logu kontrolnego dotyczące projektu Cloud możesz pobrać za pomocą eksploratora logów w konsoli Cloud:
W konsoli Cloud otwórz stronę Logowanie > Eksplorator logów.
Na stronie Eksplorator logów wybierz istniejący projekt Cloud.
W panelu Kreator zapytań wykonaj te czynności:
W sekcji Zasób wybierz typ zasobu Google Cloud, którego logi kontrolne chcesz wyświetlić.
W sekcji Nazwa dziennika wybierz typ dziennika kontrolnego, który chcesz wyświetlić:
- W sekcji Logi kontrolne aktywności administratora wybierz Aktywność.
- W przypadku logów kontrolnych dostępu do danych wybierz data_access.
- W dziennikach kontrolnych zdarzeń systemowych wybierz system_event.
- W przypadku dzienników kontrolnych odrzuconych zasad wybierz zasada.
Jeśli nie widzisz tych opcji, oznacza to, że w projekcie Cloud nie ma żadnych logów kontrolnych tego typu.
Więcej informacji o zapytaniach za pomocą nowego eksploratora logów znajdziesz w artykule Tworzenie zapytań w eksploratorze logów.
gcloud
gcloud udostępnia interfejs wiersza poleceń interfejsu Logging API. Podaj prawidłową nazwę PROJECT_ID
, FOLDER_ID
lub ORGANIZATION_ID
w każdej nazwie logu.
Aby odczytać wpisy logu kontrolnego 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 w dzienniku kontrolnym 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: gcloud logging read
.
API
Podczas tworzenia zapytań zastąp zmienne prawidłowymi wartościami oraz zastąp odpowiednią nazwę logu kontrolnego na poziomie projektu, folderu lub organizacji bądź odpowiednie identyfikatory podane w nazwach logów kontrolnych. Jeśli na przykład zapytanie zawiera element PROJECT_ID, podany przez Ciebie identyfikator projektu musi się odnosić do obecnie wybranego projektu Cloud.
Aby przejrzeć wpisy logu kontrolnego za pomocą interfejsu Logging API, wykonaj te czynności:
Przejdź do sekcji Wypróbuj ten interfejs API w dokumentacji metody
entries.list
.W sekcji Treść żądania formularza Wypróbuj ten interfejs API umieść ten kod. Kliknięcie tego wstępnie wypełnionego formularza automatycznie wypełnia treść żądania, ale musisz podać prawidłową wartość
PROJECT_ID
w każdej nazwie logu.{ "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }
Kliknij Execute (Wykonaj).
Więcej informacji o wykonywaniu zapytań znajdziesz w artykule Język zapytań dotyczących logów.
Przykładowy wpis w logu kontrolnym i informacje o tym, jak znaleźć w nim najważniejsze informacje, znajdziesz w artykule Omówienie logów kontrolnych.
Eksportowanie dzienników kontrolnych
Dzienniki kontrolne możesz eksportować w taki sam sposób, w jaki eksportujesz inne rodzaje dzienników. Szczegółowe informacje o eksportowaniu logów znajdziesz w artykule Eksportowanie logów. Oto kilka zastosowań eksportu dzienników kontrolnych:
Aby przechowywać logi kontrolne przez dłuższy czas lub korzystać z bardziej zaawansowanych możliwości wyszukiwania, możesz wyeksportować kopie logów kontrolnych do Cloud Storage, BigQuery lub Pub/Sub. Korzystając z Pub/Sub, możesz eksportować dane do innych aplikacji, repozytoriów lub firm zewnętrznych.
Aby zarządzać logami kontrolnymi w całej organizacji, możesz utworzyć zbiorcze ujścia, które umożliwią eksportowanie logów z dowolnych lub wszystkich projektów Cloud w organizacji.
Jeśli włączone logi kontrolne dostępu do danych kierują Twoje projekty Cloud do przydziałów logów, możesz je eksportować i wykluczać z usługi Logging. Szczegółowe informacje znajdziesz w artykule o wykluczaniu logó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 aktywności administratora. Cloud Logging nalicza opłaty za logi kontrolne dostępu do danych, o które bezpośrednio poprosisz.
Więcej informacji o cenach logów kontrolnych znajdziesz w cenniku pakietu operacyjnego Google Cloud.
Czas przechowywania powiązany z logami kontrolnymi Cloud Search:
- Dzienniki aktywności administratora (lub zapisy wykonywane przez administratora) – te dzienniki są przechowywane przez 400 dni.
- Logi dostępu do danych (odczyt przez administratora, zapis danych i odczyt danych) – są przechowywane przez 30 dni.
Więcej informacji o czasie przechowywania logów znajdziesz w artykule Okresy przechowywania logów.
Bieżące ograniczenia
Logowanie kontrolne w Cloud Search ma następujące ograniczenia:
Rozmiar wpisu logu musi być mniejszy niż 512 KB. Jeśli rozmiar przekroczy 512 KB, odpowiedź zostanie usunięta z wpisu logu. Jeśli nie zmniejszy to rozmiaru do 512 KB lub mniej, żądanie zostanie odrzucone. Jeśli rozmiar nadal przekracza 512 KB, wpis logu jest usuwany.
Treść odpowiedzi nie jest logowana w przypadku metod
list()
,get()
isuggest()
. Dostępne są jednak stany odpowiedzi.Rejestrowane są tylko wywołania interfejsu Query API z
cloudsearch.google.com
(jeśli ta opcja jest włączona) i z aplikacji do wyszukiwania klientów.W przypadku wywołań funkcji
search()
w żądaniu rejestrowane są tylko wywołaniaQuery
,RequestOptions
iDataSourceRestriction
. W odpowiedzi sprawdzane są tylko adres URL i metadane (źródło iobjectType
) każdego elementuSearchResult
.Wywołania wysyłane do backendu Cloud Search i odpowiadające eksportowi danych nie są kontrolowane.