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, aus denen in Bezug auf Ihre Ressourcen hervorgeht, wer was wo und wann getan hat. Ihre Cloud-Projekte enthalten nur Audit-Logs 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 Informationen zu Audit-Logs.

Cloud-Audit-Logs erstellt für jedes Google Cloud-Projekt, jeden Ordner und jede Organisation die folgenden Logs:

  • Audit-Logs zur Administratoraktivität: Einträge für Methoden, die Schreibvorgänge für Administratoren ausführen.
  • Audit-Logs zum Datenzugriff: Einträge für Methoden, die Lesevorgänge für Administratoren sowie Schreib- und Lesevorgänge für Daten 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 nur dann Audit-Logs zum Datenzugriff, wenn Sie diese 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 Richtlinienverstößen.

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: Schreibvorgang für Administratoren 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: Lesevorgang für Administratoren indexing.datasources.getSchema
settings.datasources.get
settings.datasources.list
settings.searchapplications.get
settings.searchapplications.list
settings.getCustomer
cloudsearch.IdentitySourceService.get
cloudsearch.IdentitySourceService.list
Datenzugriff: Schreibvorgang für Daten 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: Lesevorgang für Daten 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 enthalten 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:

  • logName: die Ressourcen-ID und der Audit-Logtyp
  • 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 protoPayload Feld.

Optionale dienstspezifische Audit-Informationen sind ein dienstspezifisches Objekt. Bei früheren Integrationen befindet sich dieses Objekt im Feld serviceData des Objekts AuditLog. Bei späteren Integrationen wird das Feld metadata verwendet.

Weitere Informationen finden Sie unter Informationen zu Audit-Logs.

Log name

Ressourcennamen von Cloud-Audit-Logs geben Aufschluss über das Projekt oder eine andere Google Cloud-Entität, die Inhaber der Logs ist, sowie über den Audit-Logtyp. 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 Typen überwachter Ressourcen.

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 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. Bestimmen Sie die Logkategorie, die für eine bestimmte API aktiviert werden soll. Weitere Informationen finden Sie unter Geprüfte Vorgänge.
  4. Verwenden Sie die updateCustomer() REST API-Methode, um die 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). Schreibvorgänge für Administratoren sind standardmäßig aktiviert. Wenn Sie Abfragemethoden protokollieren möchten, aktivieren Sie die Kategorie „Daten lesen“.

      Nachfolgende Anfragen an die Cloud Search API generieren Logs im angegebenen Projekt.

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

    1. Rufen Sie den Namen für jede Suchanwendung im Format searchapplications/<search_application_id> ab.
    2. Rufen Sie settings.searchapplications.update auf und legen Sie enableAuditLog auf true fest.
  6. Wenn Sie das Audit-Logging für Aufrufe von cloudsearch.google.com aktivieren möchten, muss die Kategorie „Daten lesen“ aktiviert sein. Aktualisieren Sie außerdem searchapplications/default.

Sie können Logs im Log-Explorer der Google Cloud Console aufrufen. 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

Zum Ansehen von Logs benötigen Sie die ID des Cloud-Projekts, des Ordners oder der Organisation. Sie können auch andere LogEntry Felder angeben, z. B. resource.type. Weitere Informationen finden Sie unter Abfragen im Log-Explorer erstellen.

Audit-Lognamen 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 Abfrage-Tool 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 Logs 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 entries.list Methode auf.
  2. Verwenden Sie diesen Anfragetext und ersetzen Sie PROJECT_ID durch Ihre 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 Logs nach Cloud Storage, BigQuery oder Pub/Sub, um sie länger aufzubewahren oder erweiterte Suchfunktionen zu nutzen.
  • Verwenden Sie aggregierte Senken zum Verwalten von Logs in einer Organisation.
  • Schließen Sie Audit-Logs zum Datenzugriff aus, um Logzuweisungen zu verwalten. Weitere Informationen finden Sie unter Logs ausschließen.

Preise und Aufbewahrung

Audit-Logs für Administratoraktivitäten sind in Cloud Logging kostenlos. Für Audit-Logs zum Datenzugriff werden Ihnen jedoch Kosten in Rechnung gestellt. Weitere Informationen finden Sie unter Preise für die Operations Suite von Google Cloud.

Aufbewahrungsfristen für Cloud Search-Audit-Logs:

  • Logs zur Administratoraktivität: 400 Tage
  • Audit-Logs zum Datenzugriff: 30 Tage

Aktuelle Beschränkungen

Beschränkungen für das Audit-Logging von Cloud Search:

  • Die Größe von Logeinträgen muss weniger als 512 KB betragen. Wenn ein Eintrag 512 KB überschreitet, wird das Feld response entfernt. Wenn er immer noch 512 KB überschreitet, wird das Feld request entfernt. Wenn er immer noch 512 KB überschreitet, wird der gesamte Eintrag gelöscht.
  • Antworttexte werden für die Methoden list(), get() und suggest() nicht protokolliert.
  • Es werden nur Abfrageaufrufe von cloudsearch.google.com und von Suchanwendungen von Kunden protokolliert.
  • Bei search()-Aufrufen werden in der Anfrage nur Query, RequestOptions und DataSourceRestriction protokolliert. In der Antwort werden nur die URL und die Metadaten geprüft.
  • Backend-Aufrufe für den Datenexport werden nicht geprüft.