Einführung in Audit-Logs in BigQuery
Mit BigQuery-Audit-Logs können Sie Verwaltungs- und Datenzugriffsaktivitäten in Ihren Projekten überwachen. Logs sind Textdateien, die automatisch erstellt werden und aufzeichnen, wer bestimmte Aktionen ausgeführt hat, z. B. das Erstellen von Tabellen oder das Ausführen von Jobs. So können Sie die Sicherheit aufrechterhalten und die Compliance gewährleisten. In diesem Dokument wird erläutert, wann Audit-Logs verwendet werden sollten, und es wird ein Überblick über ihr Format gegeben.
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 Projekte in Google Cloud enthalten Audit-Logs nur für Ressourcen, die sich direkt im jeweiligen Projekt in Google Cloud befinden. Andere Ressourcen in Google Cloud 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.typeistbigquery_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.typeist entwederbigquery_projectoderbigquery_dataset. Die Ressourcebigquery_projectenthält Logeinträge zu Jobs, während die Ressourcebigquery_datasetLogeinträ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
Logeinträge 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.
Telemetriekarte
In der folgenden Tabelle werden BigQuery-Features und -Ressourcen den zugehörigen Telemetriedaten für das operative Monitoring, den geprüften API-Diensten und -Ressourcen sowie der Referenzdokumentation für Audit-Logs zugeordnet. Sie können damit die Telemetriedaten finden, die Sie benötigen, um Probleme zu beheben, die Leistung zu optimieren, Kosten zu kontrollieren, die Nutzung zu prüfen und die Compliance aufrechtzuerhalten.
Im Gegensatz zu vielen Google Cloud -Diensten, die operative Joblogs in Cloud Logging schreiben, schreibt BigQuery operative Jobtelemetriedaten in Informationsschema-Ansichten wie INFORMATION_SCHEMA.JOBS. Diese Ansichten erfassen die Phasen der Abfrageausführung, die Slotnutzung, die abgerechneten Byte und alle gesendeten Jobs, einschließlich aktiver und fehlgeschlagener Jobs.
BigQuery verwendet Logging hauptsächlich, um Cloud-Audit-Logs auszugeben, in denen Aktivitäten im Zusammenhang mit der Verwaltung und dem Datenzugriff aufgezeichnet werden. Wenn Sie diese Aktivität prüfen, können Sie feststellen, wer wann und wo auf Ressourcen oder Daten zugegriffen hat.
Audit-Logs werden nicht für jede Jobunterbrechung oder jeden Jobfehler ausgegeben. Fehlgeschlagene Jobs generieren beispielsweise keine TableDataRead- oder TableDataChange-Ereignisse und jobCompletedEvent zeichnet nur erfolgreiche Jobabschlüsse auf. Weitere Informationen zu Szenarien, in denen keine Audit-Logs ausgegeben werden, finden Sie unter Datenzugriff in der Übersicht zu BigQuery-Audit-Logs.
In der folgenden Tabelle kennzeichnet ein Sternchen (*) in einem INFORMATION_SCHEMA-Ansichtsnamen bereichsspezifische Ansichtsvarianten wie _BY_PROJECT, _BY_USER, _BY_FOLDER und _BY_ORGANIZATION.
| Funktion oder Ressource | Betriebsmonitoring | Cloud-Audit-Logs |
|---|---|---|
| Abfragen und Jobs |
Informationsschema-Ansichten:
Console:
Messwerte: Cloud Monitoring-Messwerte wie |
API-Dienst:
Geprüfte Ressourcen: Jobs in Audit-Logs: Datenzugriffslogs mit |
| Tabellen und Ansichten |
Informationsschema-Ansichten:
Messwerte: Monitoring-Messwerte wie |
API-Dienste: Geprüfte Ressourcen: Tabellen, Ansichten und materialisierte Ansichten in Audit-Logs: Datenzugriffslogs mit |
| Datasets |
Informationsschema-Ansichten:
|
API-Dienst:
Geprüfte Ressourcen: Datasets, IAM-Richtlinien für Datasets und Dataset-ACLs in Audit-Logs: Logs zu Administratoraktivitäten und Datenzugriffen mit |
| Slots und Reservierungen |
Informationsschema-Ansichten:
Console:
Messwerte: Monitoring-Messwerte wie |
API-Dienst: Geprüfte Ressourcen: Reservierungen, Kapazitätszusicherungen und Reservierungszuweisungen in Audit-Logs: Logs zu Administratoraktivitäten und Datenzugriffen für das Erstellen, Ändern, Löschen und Auflisten von Reservierungen, Kapazitätszusicherungen und Projekt- oder Ordnerzuweisungen. Weitere Informationen finden Sie unter Audit-Logging für die BigQuery Reservation API. |
| Sicherheit auf Spaltenebene und Datenmaskierung |
Informationsschema-Ansichten:
|
API-Dienste:
Geprüfte Ressourcen: Taxonomien und Richtlinien-Tags in Audit-Logs: Logs zu Administratoraktivitäten und Datenzugriffen für die Verwaltung von Taxonomien und Richtlinien-Tags sowie für Änderungen an IAM-Richtlinien (Audit-Richtlinien-Tags); Verwaltung von Datenrichtlinien und Aktualisierungen von Empfängern (Audit-Logging für BigQuery-Datenrichtlinien); und |
| Routinen, einschließlich UDFs und gespeicherter Prozeduren |
Informationsschema-Ansichten:
|
API-Dienst:
Geprüfte Ressourcen: Benutzerdefinierte Funktionen (UDFs), Tabellenfunktionen und gespeicherte Prozeduren in Audit-Logs: Administratoraktivitäts- und Datenzugriffslogs mit |
| Externe Verbindungen |
Informationsschema-Ansichten:
|
API-Dienst: Geprüfte Ressourcen: Verbindungen und IAM-Richtlinien für Verbindungen in Audit-Logs: Administratoraktivitäts- und Datenzugriffslogs für die Erstellung von Verbindungen, Aktualisierung von Anmeldedaten, Löschung, Auflistung und Änderungen an IAM-Richtlinien. Weitere Informationen finden Sie unter Audit-Logging für die BigQuery Connection API. |
| BigQuery Sharing |
Informationsschema-Ansichten:
Dashboard: Dashboard mit Messwerten zur Freigabenutzung. |
API-Dienst:
Geprüfte Ressourcen: Datenpools, Einträge, Abos und IAM-Richtlinien für Pools oder Einträge in Audit-Logs: Administratoraktivitäts- und Datenzugriffslogs für die Erstellung, Aktualisierung und Löschung von Datenaustauschen und Einträgen, IAM-Richtlinienänderungen und Abonnentenvorgänge. Weitere Informationen finden Sie unter Audit-Logging freigeben. |
| BigQuery Data Transfer Service |
Messwerte und Logs:
|
API-Dienst: Geprüfte Ressourcen: Transferkonfigurationen, Übertragungsausführungen und Datenquellen in Audit-Logs: Logs zu Administratoraktivitäten und Datenzugriffen für das Erstellen, Aktualisieren, Löschen, Auflisten und Starten von Transferkonfigurationen und ‑ausführungen. Weitere Informationen finden Sie unter Audit-Logging für BigQuery Data Transfer Service. |
| BigLake-Kataloge und -Tabellen |
Informationsschema-Ansichten: |
API-Dienste: Geprüfte Ressourcen: Metastore-Kataloge, Datenbanken, Tabellen und Partitionen in Audit-Logs: Logs zu Administratoraktivitäten und Datenzugriff für Vorgänge im Zusammenhang mit Katalogen, Datenbanken, Namespaces, Tabellen, Partitionen und IAM-Richtlinien für Kataloge. Siehe BigLake-Audit-Logging. |
| BigQuery Migration Service |
Status und Berichte:
|
API-Dienst: Geprüfte Ressourcen: Migrationsworkflows, Migrationsunteraufgaben und SQL-Übersetzungsanfragen in Audit-Logs: Datenzugriffslogs zum Erstellen, Starten, Auflisten, Aufrufen und Löschen von Migrationsworkflows und Unteraufgaben sowie zum Übersetzen von SQL-Abfragen. Weitere Informationen finden Sie unter Audit-Logging für BigQuery Migration Service. |
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.