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.type ist bigquery_resource.
  • BigQuery schreibt die Details zu einem Vorgang in das Feld protoPayload.serviceData. Der Wert dieses Felds verwendet die Logstruktur AuditData.

Das neuere Format enthält die folgenden Felder und Werte:

  • Der Wert für das Feld resource.type ist entweder bigquery_project oder bigquery_dataset. Die Ressource bigquery_project enthält Logeinträge zu Jobs, während die Ressource bigquery_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 Struktur BigQueryAuditMetadata.

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:

  • JOBS*: Echtzeit- und Verlaufsdaten zur Jobausführung, Slot-Millisekunden, in Rechnung gestellte Byte, Ausführungsphasen und alle gesendeten Jobs unabhängig vom Abschlussstatus
  • JOBS_TIMELINE*: Jobstatus und Slot-Nutzung pro Zeitintervall

Console:

Messwerte: Cloud Monitoring-Messwerte wie query/count, query/execution_times und job/num_in_flight.

API-Dienst: bigquery.googleapis.com.

Geprüfte Ressourcen: Jobs in JobService (überwachte Ressource: bigquery_project).

Audit-Logs: Datenzugriffslogs mit BigQueryAuditMetadata (JobInsertion- und JobChange-Ereignisse), in denen aufgezeichnet wird, wer einen Job gesendet oder abgebrochen hat, sowie Jobstatus, Anweisungstyp und referenzierte Tabellen oder Ansichten. Weitere Informationen finden Sie in der Übersicht zu BigQuery-Audit-Logs.

Tabellen und Ansichten

Informationsschema-Ansichten:

Messwerte: Monitoring-Messwerte wie storage/stored_bytes und storage/table_count.

API-Dienste: bigquery.googleapis.com und bigquerystorage.googleapis.com. Datenzugriffslogs für die BigQuery Storage API verwenden bigquery.googleapis.com, während Logs zu abgelehnten Richtlinien bigquerystorage.googleapis.com verwenden.

Geprüfte Ressourcen: Tabellen, Ansichten und materialisierte Ansichten in TableService und TableDataService sowie Speicherlesesitzungen und Schreibstreams in BigQueryRead und BigQueryWrite (überwachte Ressourcen: bigquery_dataset und bigquery_table).

Audit-Logs: Datenzugriffslogs mit BigQueryAuditMetadata (TableDataRead- und TableDataChange-Ereignisse für Tabellenlesevorgänge, Änderungen, referenzierte Felder, Quelljob und BigQuery Storage API-Stream-Lese- und -Schreibvorgänge) sowie Administratoraktivitäts-, Datenzugriffs- und Systemereignislogs für TableCreation-, TableChange- und TableDeletion-Ereignisse, einschließlich Änderungen der IAM-Richtlinie (Identity and Access Management) für Tabellen und Tabellenablauf. Weitere Informationen finden Sie in der Übersicht zu BigQuery-Audit-Logs.

Datasets

Informationsschema-Ansichten:

API-Dienst: bigquery.googleapis.com.

Geprüfte Ressourcen: Datasets, IAM-Richtlinien für Datasets und Dataset-ACLs in DatasetService und IAMPolicy (überwachte Ressource: bigquery_dataset).

Audit-Logs: Logs zu Administratoraktivitäten und Datenzugriffen mit BigQueryAuditMetadata (DatasetCreation-, DatasetChange- und DatasetDeletion-Ereignisse), einschließlich Änderungen an IAM-Richtlinien für Datasets in bindingDeltas und ACL-Updates in accessChanges. Weitere Informationen finden Sie in der Übersicht zu BigQuery-Audit-Logs.

Slots und Reservierungen

Informationsschema-Ansichten:

Console:

Messwerte: Monitoring-Messwerte wie slots/allocated und slots/total_available.

API-Dienst: bigqueryreservation.googleapis.com für die BigQuery Reservation API.

Geprüfte Ressourcen: Reservierungen, Kapazitätszusicherungen und Reservierungszuweisungen in ReservationService (überwachte Ressource: bigquery_project).

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:

  • COLUMN_FIELD_PATHS: verschachtelte Spaltenpfade, Richtlinien-Tags und Zuweisungen von Datenrichtlinien
  • COLUMNS: Spaltenschemas und Datentypen

API-Dienste: datacatalog.googleapis.com für Data Catalog-Richtlinien-Tags, bigquerydatapolicy.googleapis.com für die BigQuery Data Policy API und bigquery.googleapis.com.

Geprüfte Ressourcen: Taxonomien und Richtlinien-Tags in PolicyTagManager, Datenrichtlinien in DataPolicyService und mit Richtlinien-Tags versehene Tabellenspalten (überwachte Ressourcen: audited_resource und bigquery_dataset).

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 TableDataRead.fields-Logs für Lesevorgänge in geschützten Spalten (Übersicht über BigQuery-Audit-Logs).

Routinen, einschließlich UDFs und gespeicherter Prozeduren

Informationsschema-Ansichten:

API-Dienst: bigquery.googleapis.com.

Geprüfte Ressourcen: Benutzerdefinierte Funktionen (UDFs), Tabellenfunktionen und gespeicherte Prozeduren in RoutineService (überwachte Ressourcen: bigquery_dataset und bigquery_project).

Audit-Logs: Administratoraktivitäts- und Datenzugriffslogs mit BigQueryAuditMetadata (RoutineCreation-, RoutineChange- und RoutineDeletion-Ereignisse) sowie untergeordnete Jobereignisse für Ausführungen gespeicherter Prozeduren. Weitere Informationen finden Sie in der Übersicht zu BigQuery-Audit-Logs.

Externe Verbindungen

Informationsschema-Ansichten:

  • OBJECT_PRIVILEGES: Verbindungsberechtigungen
  • JOBS*: föderierte Abfragen und Remote-Funktionsjobs, die Verbindungen verwenden

API-Dienst: bigqueryconnection.googleapis.com für die BigQuery Connection API.

Geprüfte Ressourcen: Verbindungen und IAM-Richtlinien für Verbindungen in ConnectionService (überwachte Ressource: audited_resource).

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: analyticshub.googleapis.com.

Geprüfte Ressourcen: Datenpools, Einträge, Abos und IAM-Richtlinien für Pools oder Einträge in AnalyticsHubService (überwachte Ressource: audited_resource).

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: bigquerydatatransfer.googleapis.com für die BigQuery Data Transfer Service API.

Geprüfte Ressourcen: Transferkonfigurationen, Übertragungsausführungen und Datenquellen in DataTransferService (überwachte Ressource: audited_resource).

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:

  • TABLES: Tabellenmetadaten
  • JOBS*: Abfragestatistiken für externen Objektspeicher (metadata_cache_statistics und object_storage_stats)

API-Dienste: biglake.googleapis.com und bigquery.googleapis.com.

Geprüfte Ressourcen: Metastore-Kataloge, Datenbanken, Tabellen und Partitionen in MetastoreService und HiveMetastoreService sowie Apache Iceberg-Kataloge, Namespaces und Tabellen in IcebergCatalogService (überwachte Ressourcen: audited_resource und bigquery_dataset).

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:

  • Status des Batch-SQL-Übersetzungsjobs in der Google Cloud Console
  • Workflow- und Unteraufgabenstatus in der BigQuery Migration API
  • Zusammenfassungsberichte zu Übersetzungen in Cloud Storage

API-Dienst: bigquerymigration.googleapis.com für die BigQuery Migration API.

Geprüfte Ressourcen: Migrationsworkflows, Migrationsunteraufgaben und SQL-Übersetzungsanfragen in MigrationService und SqlTranslationService (überwachte Ressource: audited_resource).

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.