Auf dieser Seite werden die Audit-Logs beschrieben, die von Cloud Search als Teil von Cloud-Audit-Logs erstellt werden.
Übersicht
Google Cloud-Dienste schreiben Audit-Logs, damit Sie für Ihre Ressourcen herausfinden können, wer was wo und wann getan hat. Ihre Cloud-Projekte enthalten Audit-Logs nur für Ressourcen, die sich direkt im Projekt befinden. Andere Entitäten wie Ordner, Organisationen und Cloud-Rechnungskonten enthalten jeweils eigene Audit-Logs.
Eine allgemeine Übersicht finden Sie unter Cloud-Audit-Logs. Weitere Informationen finden Sie unter Audit-Logs verstehen.
Cloud-Audit-Logs stellt für jedes Cloud-Projekt, jeden Ordner und jede Organisation die folgenden Logs bereit:
- Audit-Logs zur Administratoraktivität: Einträge für Methoden, die Administrator-Schreibvorgänge ausführen.
- Audit-Logs zum Datenzugriff: Einträge für Methoden, die Administratorlese-, Datenschreib- und Datenlesevorgänge ausführen.
- Audit-Logs zu Systemereignissen
- Audit-Logs zu Richtlinienverstößen
Cloud Search schreibt Audit-Logs zur Administratoraktivität, um Vorgänge aufzuzeichnen, die die Konfiguration oder Metadaten von Ressourcen ändern. Sie können Audit-Logs zu Administratoraktivitäten nicht deaktivieren.
Cloud Search schreibt Audit-Logs zum Datenzugriff nur, wenn Sie sie explizit aktivieren. Diese Logs enthalten API-Aufrufe, die die Konfiguration oder Metadaten von Ressourcen lesen, sowie nutzergesteuerte API-Aufrufe, die von Nutzern bereitgestellte Ressourcendaten erstellen, ändern oder lesen.
Cloud Search schreibt keine Audit-Logs zu Systemereignissen oder Richtlinienverweigerungen.
Geprüfte Vorgänge
In der folgenden Tabelle ist eine Zusammenfassung der API-Vorgänge zu finden, die dem jeweiligen Audit-Logtyp in Cloud Search entsprechen:
| Audit-Logkategorie | Cloud Search-Vorgänge |
|---|---|
| Administratoraktivität: Schreiben durch Administrator | 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 |
| Datenzugriff: Lesen durch Administrator | indexing.datasources.getSchema settings.datasources.get settings.datasources.list settings.searchapplications.get settings.searchapplications.list settings.getCustomer cloudsearch.IdentitySourceService.get cloudsearch.IdentitySourceService.list |
| Datenzugriff: Datenschreibvorgang | 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 |
| Datenzugriff: Daten lesen | 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 |
Audit-Logformat
Audit-Logeinträge umfassen die folgenden Objekte. Sie können sie in Cloud Logging mit dem Log-Explorer, der Cloud Logging API oder dem gcloud-Befehlszeilentool aufrufen.
Der Logeintrag selbst ist ein LogEntry-Objekt. Nützliche Felder sind unter anderem:
logName: die Ressourcen-ID und der Audit-Log-Typ.resource: Das Ziel des geprüften Vorgangs.timeStamp: die Uhrzeit des geprüften VorgangsprotoPayload: die geprüften Informationen.
Die Audit-Logging-Daten sind ein AuditLog-Objekt im Feld protoPayload.
Optionale dienstspezifische Auditinformationen sind ein dienstspezifisches Objekt. Bei früheren Integrationen befindet sich dieses Objekt im Feld serviceData des AuditLog-Objekts. Spätere Integrationen verwenden das Feld metadata.
Weitere Informationen finden Sie unter Audit-Logs verstehen.
Logname
Ressourcennamen von Cloud-Audit-Logs geben Aufschluss über das Projekt oder eine andere Google Cloud-Entität, die Inhaber der Logs ist, und über den Audit-Log-Typ. Beispiel:
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
Dienstname
Für Audit-Logs von Cloud Search wird der Dienstname cloudsearch.googleapis.com verwendet.
Ressourcentypen
Für alle Audit-Logs von Cloud Search wird der Ressourcentyp audited_resource verwendet. Weitere Ressourcentypen finden Sie unter Überwachte Ressourcentypen.
Audit-Logging aktivieren
Standardmäßig ist das Audit-Logging für die Cloud Search API deaktiviert. So aktivieren Sie das Audit-Logging für Cloud Search:
- Optional: Wenn Sie noch kein Google Cloud-Projekt zum Speichern von Logs erstellt haben, lesen Sie den Abschnitt Zugriff auf die Cloud Search API konfigurieren.
- Rufen Sie die Projekt-ID für das Google Cloud-Projekt ab, in dem Sie Logs speichern möchten. Weitere Informationen finden Sie unter Projekte identifizieren.
- Ermitteln Sie die Protokollkategorie, die für eine bestimmte API aktiviert werden muss. Weitere Informationen finden Sie unter Geprüfte Vorgänge.
Verwenden Sie die REST API-Methode
updateCustomer(), umauditLogSettingsmit den Kategorien zu aktualisieren:- Rufen Sie ein OAuth 2.0-Zugriffstoken ab. Weitere Informationen finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen.
Verwenden Sie einen der folgenden Bereiche:
https://www.googleapis.com/auth/cloud_search.settings.indexinghttps://www.googleapis.com/auth/cloud_search.settingshttps://www.googleapis.com/auth/cloud_search
Führen Sie diesen curl-Befehl aus:
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" } }'Ersetzen SieYOUR_ACCESS_TOKEN,PROJECT_IDund die Kategorien (logAdminReadActions,logDataWriteActionsoderlogDataReadActions). Admin-Schreibvorgänge sind standardmäßig aktiviert. Wenn Sie Abfragemethoden protokollieren möchten, aktivieren Sie die Kategorie „Daten lesen“.Bei nachfolgenden Anfragen an die Cloud Search API werden Logs im angegebenen Projekt generiert.
- Rufen Sie ein OAuth 2.0-Zugriffstoken ab. Weitere Informationen finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen.
Verwenden Sie einen der folgenden Bereiche:
Für Audit-Logs für Abfragemethoden ist die Kategorie „Daten lesen“ erforderlich. So aktivieren Sie die Protokollierung für
query.sources.list,query.suggestundquery.search:- Rufen Sie den Namen jeder Suchanwendung im Format
searchapplications/<search_application_id>ab. - Rufen Sie
settings.searchapplications.updateauf und setzen SieenableAuditLogauftrue.
- Rufen Sie den Namen jeder Suchanwendung im Format
Wenn Sie das Audit-Logging für Aufrufe von
cloudsearch.google.comaktivieren möchten, muss die Kategorie „Daten lesen“ aktiviert sein undsearchapplications/defaultmuss aktualisiert werden.
Sehen Sie sich die Logs im Log-Explorer der Google Cloud Console an. Verwenden Sie diesen Filter für Cloud Search-Audit-Logs:
protoPayload.serviceName="cloudsearch.googleapis.com"
Weitere Informationen finden Sie unter Log-Explorer – Übersicht.
Berechtigungen für Audit-Logs
Welche Logs Sie ansehen oder exportieren können, wird durch Berechtigungen von Identity and Access Management (IAM) bestimmt. Weitere Informationen finden Sie unter Informationen zu Rollen.
Zum Ansehen von Audit-Logs zu Administratoraktivitäten benötigen Sie eine der folgenden IAM-Rollen:
- Projektinhaber, -bearbeiter oder -betrachter
- Die Rolle Logbetrachter für Logging.
- Eine benutzerdefinierte IAM-Rolle mit der Berechtigung
logging.logEntries.list.
Wenn Sie Audit-Logs zum Datenzugriff aufrufen möchten, benötigen Sie eine der folgenden Rollen:
- Projektinhaber
- Rolle Betrachter privater Logs für Logging
- Eine benutzerdefinierte IAM-Rolle mit der IAM-Berechtigung
logging.privateLogEntries.list
Wenn die verwendeten Audit-Logs nicht aus einem Cloud-Projekt, sondern einer Entität wie einer Organisation stammen, ändern Sie die Projektrollen in geeignete Organisationsrollen.
Logs ansehen
Wenn Sie Logs aufrufen möchten, benötigen Sie die ID des Cloud-Projekts, des Ordners oder der Organisation. Sie können weitere LogEntry-Felder wie resource.type angeben. Weitere Informationen finden Sie unter Abfragen im Log-Explorer erstellen.
Audit-Log-Namen haben folgendes 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%2Fpolicyfolders/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
Sie haben mehrere Möglichkeiten, Ihre Audit-Logeinträge aufzurufen.
Console
- Rufen Sie in der Google Cloud Console die Seite Logging > Log-Explorer auf. Zum Log-Explorer
- Wählen Sie Ihr Projekt aus.
- Wählen Sie im Bereich Query Builder die Ressource und den Logtyp aus. Weitere Informationen zu Abfragen mit dem neuen Log-Explorer finden Sie unter Abfragen im Log-Explorer erstellen.
gcloud
Führen Sie diesen Befehl für Protokolle auf Projektebene aus:
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
--project=PROJECT_ID
API
- Rufen Sie den Abschnitt Diese API testen für die Methode
entries.listauf. - Verwenden Sie diesen Anfragetext und ersetzen Sie
PROJECT_IDdurch die von Ihnen ausgewählte Projekt-ID:{ "resourceNames": ["projects/PROJECT_ID"], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" } - Klicken Sie auf Ausführen.
Weitere Informationen zu Abfragen finden Sie unter Logging-Abfragesprache.
Ein Beispiel für einen Audit-Logeintrag und wie Sie die wichtigsten Informationen darin finden, ist in Audit-Logs verstehen enthalten.
Audit-Logs exportieren
Sie können Audit-Logs wie andere Logs exportieren. Weitere Informationen finden Sie unter Logs exportieren.
- Exportieren Sie Daten nach Cloud Storage, BigQuery oder Pub/Sub, um sie länger aufzubewahren oder erweiterte Suchfunktionen zu nutzen.
- Verwenden Sie aggregierte Senken, um Logs organisationsübergreifend zu verwalten.
- Sie können Datenzugriffslogs ausschließen, um das Logkontingent zu verwalten. Weitere Informationen finden Sie unter Logs ausschließen.
Preise und Nutzerbindung
Audit-Logs für Administratoraktivitäten werden in Cloud Logging nicht berechnet. Audit-Logs zum Datenzugriff werden von Cloud Logging in Rechnung gestellt. Weitere Informationen finden Sie unter Preise für die Operations Suite von Google Cloud.
Aufbewahrungsfristen für Cloud Search-Audit-Logs:
- Administratoraktivitätslogs: 400 Tage.
- Datenzugriffslogs: 30 Tage
Aktuelle Beschränkungen
Einschränkungen beim Audit-Logging für Cloud Search:
- Die Größe eines Logeintrags darf maximal 512 KB betragen. Wenn ein Eintrag 512 KB überschreitet, wird das Feld
responseentfernt. Wenn die Größe weiterhin 512 KB überschreitet, wird das Feldrequestentfernt. Wenn die Größe weiterhin 512 KB überschreitet, wird der gesamte Eintrag verworfen. - Antworttexte werden für die Methoden
list(),get()undsuggest()nicht protokolliert. - Es werden nur Anfragen von
cloudsearch.google.comund Anwendungen für die Kundensuche protokolliert. - Bei
search()-Aufrufen werden nurQuery,RequestOptionsundDataSourceRestrictionin der Anfrage protokolliert. Bei der Antwort werden nur die URL und die Metadaten geprüft. - Backend-Aufrufe für den Datenexport werden nicht geprüft.