Ereignisfilter für Cloud-Audit-Logs bestimmen

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Ein Eventarc-Trigger deklariert Ihr Interesse an einem bestimmten Ereignis oder einer Reihe von Ereignissen. Für Cloud-Audit-Logs werden Trigger angewendet, wenn ein Audit-Log erstellt wird, das den Filterkriterien des Triggers entspricht, damit Sie bestimmte Ereignisse erfassen und darauf reagieren können.

Eine Liste der Google Cloud-Dienste, die Audit-Logs bereitstellen, finden Sie unter Google-Dienste mit Audit-Logs.

Eine Liste der von Eventarc unterstützten Audit-Logereignisse, einschließlich der Werte serviceName und methodName, finden Sie unter Von Eventarc unterstützte Ereignisse.

Um die genauen Ereignisfilter zu identifizieren, die zum Erstellen eines Triggers erforderlich sind, generieren Sie das Ereignis, das Sie erfassen möchten, und rufen Sie dann den entsprechenden Cloud-Audit-Log-Eintrag auf. Beachten Sie, dass Daten aus einem Logeintrag auf mehrere Einträge verteilt werden können.

  1. Achten Sie darauf, dass die Audit-Log-Typen zum Datenzugriff für Ihren Dienst aktiviert sind.

    Zu den Audit-Logs

    Beachten Sie, dass alle Dienste, bei denen die Prüfung standardmäßig aktiviert ist, nicht aufgeführt sind.

    1. Wählen Sie auf der Seite Audit-Logs in der Haupttabelle aus der Spalte „Titel“ einen Google Cloud-Dienst aus.

    2. Aktivieren Sie auf dem Tab Logtyp die Kästchen Lesen durch Administrator, Daten lesen und Daten schreiben. Klicken Sie anschließend auf Speichern.

  2. Führen Sie den Vorgang aus, für den Sie einen Ereignisfilter erstellen und einen Audit-Logeintrag generieren möchten. Speichern Sie beispielsweise eine Datei in einem Cloud Storage-Bucket.

  3. Wechseln Sie in der Konsole zum Log-Explorer.

    Zum Log-Explorer

  4. Erstellen Sie im Bereich Query Builder eine Abfrage und führen Sie eine Abfrage aus, um die Logeinträge zu filtern und die Ergebnisse abzurufen. Beispiel:

    resource.type="gcs_bucket" resource.labels.bucket_name="eventarc-bucket"
    

    Weitere Informationen zum Erstellen von Abfragen zum Abrufen und Optimieren von Logs finden Sie unter Log-Abfragen erstellen.

  5. Um alle Details zu einem Logeintrag aufzurufen, klicken Sie auf den Erweiterungspfeil (▸) am Anfang des Eintrags.

    Im Feld protoPayload wird ein Audit-Log-Eintrag von anderen Logeinträgen unterschieden. Im folgenden Beispiel werden einige Teile des Logeintrags weggelassen und bestimmte Felder hervorgehoben:

    {
       protoPayload:{
          @type:"type.googleapis.com/google.cloud.audit.AuditLog",
          status:{},
          authenticationInfo:{},
          requestMetadata:{},
          serviceName:"storage.googleapis.com",
          methodName:"storage.objects.create",
          authorizationInfo:[],
          resourceName:"projects/_/buckets/eventarc-bucket/objects/random.txt",
          resourceLocation:{}
       },
       insertId:"il9evleafpdk",
       resource:{
          type:"gcs_bucket",
          labels:{
             project_id:"cloud-run-test",
             location:"us-central1",
             bucket_name:"eventarc-bucket"
          }
       },
       timestamp:"2021-03-05T15:55:20.754688805Z",
       severity:"INFO",
       logName:"projects/cloud-run-test/logs/cloudaudit.googleapis.com%2Fdata_access",
       receiveTimestamp:"2021-03-05T15:55:20.884984611Z"
    }
    

    • Mit den folgenden Informationen können Sie den Inhalt dieses Audit-Log-Eintrags prüfen:

      • Das Feld protoPayload.@type ist type.googleapis.com/google.cloud.audit.AuditLog.

      • Das Feld logName enthält die Domain cloudaudit.googleapis.com.

    • Das Feld protoPayload.serviceName ist der Dienst, der das Audit-Log geschrieben hat.

    • Das Feld protoPayload.methodName ist der zu prüfende Vorgang.

    • Das Feld protoPayload.resourceName ist die zu prüfende Ressource.

    Weitere Informationen zum Suchen von Informationen in einem Audit-Log-Eintrag finden Sie unter Audit-Logs verstehen.

Cloud-Audit-Logs aufteilen

Cloud Logging teilt einzelne Audit-Logeinträge mit einer Größe über dem 512-KB-Limit auf und verteilt die im ursprünglichen Audit-Logeintrag enthaltenen Daten auf mehrere split-Logeinträge. Das Feld split ist ein LogSplit-Objekt, das die Informationen enthält, die zum Identifizieren zugehöriger aufgeteilter Logeinträge erforderlich sind.

Jede protoPayload der aufgeteilten Einträge enthält dieselben Werte für serviceName, methodName und resourceName, damit die Ereignisse der Cloud-Audit-Logs gefiltert werden können. Eventarc-Trigger liefern für jeden aufgeteilten Logeintrag ein Ereignis.

Wenn ein Audit-Logeintrag vorhanden ist, der in mehrere Logeinträge aufgeteilt ist, können Sie nach jedem der Felder im LogEntry filtern. Wenn Sie beispielsweise den ersten Eintrag aus einem aufgeteilten Logeintrag benötigen, können Sie den folgenden gcloud CLI-Befehl mit split.index ausführen, um die Position des Eintrags in der Reihe der Aufteilungseinträge anzugeben. Der erste Eintrag aus der Aufteilung hat den Index 0:

    gcloud logging read "split.index=0"

Weitere Informationen zu geteilten Logeinträgen, einschließlich der Erkennung von Einträgen und Beispielabfragen, finden Sie unter Geteilte Logeinträge.

Nächste Schritte