Audit-Logging

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 Vorgangs
  • protoPayload: 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:

  1. 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.
  2. 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.
  3. Ermitteln Sie die Protokollkategorie, die für eine bestimmte API aktiviert werden muss. Weitere Informationen finden Sie unter Geprüfte Vorgänge.
  4. Verwenden Sie die REST API-Methode updateCustomer(), um auditLogSettings mit den Kategorien zu aktualisieren:

    1. 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.indexing
      • https://www.googleapis.com/auth/cloud_search.settings
      • https://www.googleapis.com/auth/cloud_search
    2. 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 Sie YOUR_ACCESS_TOKEN, PROJECT_ID und die Kategorien (logAdminReadActions, logDataWriteActions oder logDataReadActions). 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.

  5. Für Audit-Logs für Abfragemethoden ist die Kategorie „Daten lesen“ erforderlich. So aktivieren Sie die Protokollierung für query.sources.list, query.suggest und query.search:

    1. Rufen Sie den Namen jeder Suchanwendung im Format searchapplications/<search_application_id> ab.
    2. Rufen Sie settings.searchapplications.update auf und setzen Sie enableAuditLog auf true.
  6. Wenn Sie das Audit-Logging für Aufrufe von cloudsearch.google.com aktivieren möchten, muss die Kategorie „Daten lesen“ aktiviert sein und searchapplications/default muss 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:

Wenn Sie Audit-Logs zum Datenzugriff aufrufen möchten, benötigen Sie eine der folgenden Rollen:

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%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

Sie haben mehrere Möglichkeiten, Ihre Audit-Logeinträge aufzurufen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Logging > Log-Explorer auf. Zum Log-Explorer
  2. Wählen Sie Ihr Projekt aus.
  3. 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

  1. Rufen Sie den Abschnitt Diese API testen für die Methode entries.list auf.
  2. Verwenden Sie diesen Anfragetext und ersetzen Sie PROJECT_ID durch die von Ihnen ausgewählte Projekt-ID:
    {
    "resourceNames": ["projects/PROJECT_ID"],
    "pageSize": 5,
    "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
  3. 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 response entfernt. Wenn die Größe weiterhin 512 KB überschreitet, wird das Feld request entfernt. Wenn die Größe weiterhin 512 KB überschreitet, wird der gesamte Eintrag verworfen.
  • Antworttexte werden für die Methoden list(), get() und suggest() nicht protokolliert.
  • Es werden nur Anfragen von cloudsearch.google.com und Anwendungen für die Kundensuche protokolliert.
  • Bei search()-Aufrufen werden nur Query, RequestOptions und DataSourceRestriction in 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.