Einführung in Audit-Logs in BigQuery
Logs sind Textdatensätze, die als Reaktion auf bestimmte Ereignisse oder Aktionen generiert werden. BigQuery erstellt beispielsweise Logeinträge für Aktionen wie das Erstellen oder Löschen einer Tabelle, das Erwerben von Slots oder das Ausführen eines Ladejobs.
Google Cloud schreibt auch Logs, einschließlich Audit-Logs, die Einblicke in die betrieblichen Aspekte im Zusammenhang mit der Verwendung von Google Cloud-Diensten bieten. Weitere Informationen zum Logging von Google Cloud finden Sie in der Cloud Logging-Dokumentation und in der Übersicht über Cloud-Audit-Logs.
Audit-Logs im Vergleich zu INFORMATION_SCHEMA
-Ansichten
Ihre Google Cloud-Projekte enthalten Audit-Logs nur für Ressourcen, die sich direkt im Google Cloud-Projekt befinden. Andere Google Cloud-Ressourcen wie Ordner, Organisationen und Rechnungskonten enthalten jeweils eigene Audit-Logs.
Anhand von Audit-Logs können Sie herausfinden, wer was wo und wann in Ihren Google Cloud-Ressourcen getan hat. Audit-Logs sind die entscheidende Quelle für Informationen zur Systemaktivität nach Nutzer- und Zugriffsmustern und sollten Ihre primäre Quelle für Audit- oder Sicherheitsfragen sein.
INFORMATION_SCHEMA
-Ansichten in BigQuery sind eine weitere Informationsquelle, die Sie zusammen mit Messwerten und Logs verwenden können. Diese Ansichten enthalten Metadaten zu Jobs, Datasets, Tabellen und anderen BigQuery-Entitäten. So können Sie beispielsweise Echtzeitmetadaten darüber abrufen, welche BigQuery-Jobs zu einer bestimmten Zeit ausgeführt wurden. Anschließend können Sie die Ergebnisse nach Projekt, Nutzer, referenzierten Tabellen und anderen Dimensionen gruppieren oder filtern.
INFORMATION_SCHEMA
-Ansichten bieten Informationen zur Ausführung einer detaillierteren Analyse Ihrer BigQuery-Arbeitslasten. Beispiele:
- Wie hoch war die durchschnittliche Slot-Auslastung für alle Abfragen in den letzten sieben Tagen für ein bestimmtes Projekt?
- Welche Streamingfehler sind in den letzten 30 Minuten aufgetreten, gruppiert nach Fehlercode?
BigQuery-Audit-Logs enthalten Logeinträge für API-Aufrufe, beschreiben jedoch nicht die Auswirkungen der API-Aufrufe. Eine Teilmenge von API-Aufrufen erstellt Jobs (z. B. Abfrage und Last), deren Informationen von INFORMATION_SCHEMA
-Ansichten erfasst werden. Beispielsweise finden Sie Informationen zu Zeit und Slots, die von einer bestimmten Abfrage in INFORMATION_SCHEMA
-Ansichten genutzt werden, aber nicht in den Audit-Logs.
Insbesondere erhalten Sie Informationen zur Leistung Ihrer BigQuery-Arbeitslasten unter Jobmetadaten, Streamingmetadaten und Reservierungsmetadaten.
Weitere Informationen zu den Arten von Audit-Logs, die von Google Cloud-Diensten geschrieben werden, finden Sie unter Arten von Audit-Logs.
Audit-Logformat
Google Cloud-Dienste schreiben Audit-Logs im strukturierten JSON-Format. Der Basisdatentyp für Google Cloud-Logeinträge ist die LogEntry
-Struktur. Diese Struktur enthält den Namen des Logs, die Ressource, die den Logeintrag generiert hat, den Zeitstempel (UTC) und weitere grundlegende Informationen.
Logs enthalten Details zum protokollierten Ereignis in einem Unterfeld, das als Nutzlastfeld bezeichnet wird. Bei Audit-Logs hat das Nutzlastfeld den Namen protoPayload
. Der Typ dieses Felds (protoPayload.@type
) ist auf type.googleapis.com/google.cloud.audit.AuditLog
gesetzt. Dies bedeutet, dass das Feld die AuditLog
-Logstruktur verwendet.
Bei Vorgängen für Datasets, Tabellen und Jobs schreibt BigQuery Audit-Logs in zwei verschiedenen Formaten, obwohl beide Formate den Basistyp AuditLog
haben.
Das ältere Format enthält die folgenden Felder und Werte:
- Der Wert für das Feld
resource.type
istbigquery_resource
. - BigQuery schreibt die Details zu einem Vorgang in das Feld
protoPayload.serviceData
. Der Wert dieses Felds verwendet die LogstrukturAuditData
.
Das neuere Format enthält die folgenden Felder und Werte:
- Der Wert für das Feld
resource.type
ist entwederbigquery_project
oderbigquery_dataset
. Die Ressourcebigquery_project
enthält Logeinträge zu Jobs, während die Ressourcebigquery_dataset
Logeinträge zum Speicher enthält. - BigQuery schreibt die Details zu einem Vorgang in das Feld
protoPayload.metadata
. Der Wert dieses Felds verwendet die StrukturBigQueryAuditMetadata
.
Wir empfehlen die Nutzung von Logs im neueren Format. Weitere Informationen finden Sie in der Migrationsanleitung für Audit-Logs.
Das folgende Beispiel zeigt ein abgekürztes Beispiel für einen Logeintrag, der einen fehlgeschlagenen Vorgang anzeigt:
{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"status": {
"code": 5,
"message": "Not found: Dataset myproject:mydataset was not found in location US"
},
"authenticationInfo": { ... },
"requestMetadata": { ... },
"serviceName": "bigquery.googleapis.com",
"methodName": "google.cloud.bigquery.v2.JobService.InsertJob",
"metadata": {
},
"resource": {
"type": "bigquery_project",
"labels": { .. },
},
"severity": "ERROR",
"logName": "projects/myproject/logs/cloudaudit.googleapis.com%2Fdata_access",
...
}
Bei Vorgängen für BigQuery-Reservierungen verwendet das Feld protoPayload
die Struktur AuditLog
und die Felder protoPayload.request
und protoPayload.response
enthalten weitere Informationen. Die Felddefinitionen finden Sie unter BigQuery Reservation API. Weitere Informationen finden Sie unter BigQuery Reservations überwachen.
Detaillierte Informationen zum Format von Audit-Logs finden Sie unter Audit-Logs verstehen.
Beschränkungen
Lognachrichten haben eine Größenbeschränkung von 100.000 Byte. Weitere Informationen finden Sie unter Abgeschnittener Logeintrag.
Transparenz und Zugriffssteuerung
BigQuery-Audit-Logs können Informationen enthalten, die für Nutzer vertraulich sein könnten, z. B. SQL-Text, Schemadefinitionen und Kennungen für Ressourcen wie Tabellen und Datasets. Informationen zum Verwalten des Zugriffs auf diese Informationen finden Sie in der Dokumentation zur Zugriffssteuerung für Cloud Logging.
Nächste Schritte
- Informationen zum Prüfen von Aktivitäten, die sich auf Richtlinien-Tags beziehen, mithilfe von Cloud Logging finden Sie unter Audit-Richtlinien-Tags.
- Informationen zur Analyse von protokollierten Aktivitäten mit BigQuery finden Sie in der Übersicht zu BigQuery-Audit-Logs.