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.
Achten Sie darauf, dass die Audit-Log-Typen zum Datenzugriff für Ihren Dienst aktiviert sind.
Beachten Sie, dass alle Dienste, bei denen die Prüfung standardmäßig aktiviert ist, nicht aufgeführt sind.
Wählen Sie auf der Seite Audit-Logs in der Haupttabelle aus der Spalte „Titel“ einen Google Cloud-Dienst aus.
Aktivieren Sie auf dem Tab Logtyp die Kästchen Lesen durch Administrator, Daten lesen und Daten schreiben. Klicken Sie anschließend auf Speichern.
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.
Wechseln Sie in der Konsole zum Log-Explorer.
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.
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
isttype.googleapis.com/google.cloud.audit.AuditLog
.Das Feld
logName
enthält die Domaincloudaudit.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.