Spanner Omni schreibt Audit-Logs, in denen administrative Aktivitäten und Datenzugriffe in Ihren Spanner Omni-Bereitstellungen aufgezeichnet werden.
Anhand von Audit-Logs können Sie herausfinden, wer was wo und wann getan hat. Mit Audit-Logs können Ihre Sicherheits-, Prüf- und Compliance-Teams Ihre Spanner Omni-Daten und -Systeme auf mögliche Sicherheitslücken oder externen Datenmissbrauch hin überwachen.
Hinweis
Konfigurieren Sie Ihre Spanner Omni-Bereitstellung mit TLS- oder gegenseitiger TLS-Verschlüsselung (mTLS). Wenn Sie eine Bereitstellung ohne TLS- oder mTLS-Verschlüsselung erstellen, werden keine Audit-Logs erstellt. Eine Anleitung zum Erstellen einer Bereitstellung mit TLS- oder mTLS-Verschlüsselung finden Sie hier:
Arten von Audit-Logs
Spanner Omni unterstützt die folgenden Arten von Audit-Logs.
Audit-Logs zu Administratoraktivitäten
Audit-Logs zur Administratoraktivität zeichnen API-Aufrufe auf, mit denen die Konfiguration oder Metadaten Ihrer Bereitstellung geändert werden. Spanner Omni schreibt beispielsweise Audit-Logs zur Administratoraktivität, wenn ein Nutzer eine Datenbank erstellt.
Audit-Logs für Administratoraktivitäten werden standardmäßig für Bereitstellungen erstellt, die mit TLS- und mTLS-Verschlüsselung konfiguriert sind. Sie können sie nicht konfigurieren, ausschließen oder deaktivieren.
Eine Liste der Methoden, die Audit-Logs zur Administratoraktivität schreiben, finden Sie unter Methoden nach Berechtigungstyp.
Audit-Logs zum Datenzugriff
Audit-Logs zum Datenzugriff erfassen API-Aufrufe, die die Konfiguration oder Metadaten Ihrer Bereitstellung lesen, sowie API-Aufrufe, die Nutzerdaten erstellen, ändern oder lesen. Spanner Omni schreibt beispielsweise Audit-Logs zum Datenzugriff, wenn ein Nutzer eine Datenbank beschreibt, eine SQL-Abfrage ausführt oder eine DML-Anweisung (Data Manipulation Language) ausführt.
Da Audit-Logs zum Datenzugriff relativ groß sein können, sind sie standardmäßig deaktiviert. Damit Datenzugriffsereignisse aufgezeichnet werden, müssen Sie sie explizit aktivieren und konfigurieren. Datenzugriff: Audit-Logs helfen dem Google-Support bei der Fehlerbehebung. Wir empfehlen daher, sie zu aktivieren.
Eine Anleitung zum Konfigurieren dieser Logs finden Sie unter Audit-Logs zum Datenzugriff konfigurieren. Eine Liste der Methoden, mit denen Audit-Logs zum Datenzugriff geschrieben werden, finden Sie unter Methoden nach Berechtigungstyp.
Audit-Logs zu Systemereignissen
Audit-Logs zu Systemereignissen zeichnen auf, wann das System die Konfiguration Ihrer Spanner Omni-Ressourcen ohne direkte Nutzeraktion ändert. Spanner Omni schreibt beispielsweise ein Audit-Log für Systemereignisse, wenn das System eine neu wiederhergestellte Datenbank automatisch optimiert oder eine geplante Sicherung erstellt.
Audit-Logs zu Systemereignissen werden standardmäßig für Bereitstellungen erstellt, die mit TLS- und mTLS-Verschlüsselung konfiguriert sind. Sie können sie nicht konfigurieren, ausschließen oder deaktivieren.
Weitere Informationen zu den Systemereignissen, die diese Logs generieren, finden Sie unter Systemereignisse.
Audit-Logs für den Datenzugriff konfigurieren
Wenn Sie Audit-Logs zum Datenzugriff aktivieren möchten, konfigurieren Sie die IAM-Richtlinie (Identity and Access Management) für Ihre Bereitstellung mit der Spanner Omni CLI oder der API. Sie können die Protokollierung für bestimmte Berechtigungstypen aktivieren und bestimmte Nutzer von der Protokollierung ausnehmen.
Erforderliche Berechtigungen
Zum Konfigurieren von Audit-Logs zum Datenzugriff benötigen Sie die Berechtigung spanner.instances.setIamPolicy.
Zum Aufrufen von Konfigurationen für Audit-Logs zum Datenzugriff benötigen Sie die Berechtigung spanner.instances.getIamPolicy.
Berechtigungstypen
API-Methoden prüfen IAM-Berechtigungen und jeder Berechtigung ist ein Berechtigungstyp zugeordnet. Wenn Sie Audit-Logs zum Datenzugriff konfigurieren, geben Sie an, welche Berechtigungstypen protokolliert werden sollen. Die Berechtigungstypen werden so kategorisiert:
Berechtigungstypen für den Datenzugriff:
ADMIN_READ: Zeichnet API-Methoden auf, die Metadaten oder Konfigurationsinformationen lesen. Beispiel: Beschreibung einer Datenbank.DATA_READ: Zeichnet API-Methoden auf, die Nutzerdaten lesen. Zum Beispiel eine SQL-Abfrage ausführen.DATA_WRITE: Zeichnet API-Methoden auf, die Nutzerdaten schreiben. Beispiel: Ausführen einer DML-Anweisung.
Berechtigungstyp für Administratoraktivitäten:
ADMIN_WRITE: Wird für API-Methoden geprüft, die Metadaten oder Konfigurationsinformationen schreiben (z. B. beim Erstellen einer Datenbank). Diese generieren Audit-Logs zu Administratoraktivitäten und können nicht konfiguriert werden.
Eine detaillierte Beschreibung der Berechtigungstypen finden Sie in der Cloud-Audit-Logs-Dokumentation unter Berechtigungstypen.
Mit der Spanner Omni-Befehlszeile konfigurieren
Wenn Sie Audit-Logs zum Datenzugriff mit der Spanner Omni CLI konfigurieren möchten, erstellen Sie eine JSON-Richtliniendatei, in der die zu aktivierenden Logtypen und alle ausgenommenen Mitglieder aufgeführt sind, und wenden Sie die Richtlinie dann an.
Erstellen Sie eine Richtliniendatei mit dem Namen
policy.json:{ "auditConfigs": [ { "auditLogConfigs": [ { "logType": "ADMIN_READ", "exemptedMembers": [ "USER_NAME" ] }, { "logType": "DATA_WRITE" }, { "logType": "DATA_READ" } ], "service": "spanner.googleapis.com" } ] }Wenden Sie die Richtlinie mit dem Befehl
spanner instances set-iam-policyan:spanner instances set-iam-policy default policy.json
Führen Sie den folgenden Befehl aus, um die aktuelle Konfiguration der Audit-Logs zum Datenzugriff aufzurufen:
spanner instances get-iam-policy default
Weitere Beispiele für gängige Konfigurationsanwendungsfälle finden Sie in der Cloud-Audit-Logs-Dokumentation unter Audit-Logs zum Datenzugriff konfigurieren.
Systemereignisse
Spanner Omni generiert Audit-Logs zu Systemereignissen für die meisten Systemereignisse, die von der verwalteten Version von Spanner unterstützt werden. Weitere Informationen finden Sie in der Spanner-Dokumentation unter Systemereignisse.
Spanner Omni unterstützt die Systemereignisse CreateScheduledBackup und OptimizeRestoredDatabase. Spanner Omni unterstützt das Systemereignis AutoscaleInstance jedoch nicht, da Autoscaling in Spanner Omni nicht verfügbar ist.
Audit-Logdateien und Aufbewahrung
Spanner Omni schreibt Audit-Logs in das lokale Dateisystem Ihrer Spanner Omni-Server.
Suchen Sie mit dem folgenden Pfad und der folgenden Namenskonvention nach den Audit-Logdateien:
BASE_DIR/logs/PROCESS/audit.log.BUCKET.TIMESTAMP.PROCESS_ID
BASE_DIR: Das Basisverzeichnis, das beim Starten der Spanner Omni-Bereitstellung angegeben wurde. Bei Kubernetes-Deployments ist der Standardwert/spanner.PROCESS: In Spanner Omni werden mehrere Prozesse pro Server ausgeführt, z. B.server,zone_services,zonal_zone_services,zonal_serverundbase_services. Audit-Logs werden in das Verzeichnis geschrieben, das dem Prozess entspricht, der sie generiert hat.BUCKET: Audit-Logs zu Administratoraktivitäten und Systemereignissen werden in den Bucketrequiredgeschrieben, während Audit-Logs zum Datenzugriff in den Bucketdefaultgeschrieben werden.TIMESTAMP: Der Zeitstempel, der angibt, wann die Datei erstellt wurde.PROCESS_ID: Die Prozess-ID des Prozesses, der das Audit-Log schreibt.
Spanner Omni erstellt eine neue Audit-Logdatei, wenn die aktuelle Datei 50 MiB überschreitet oder wenn ein Serverprozess neu gestartet wird. Außerdem wird automatisch ein Symlink von BASE_DIR/logs/PROCESS/audit.log.BUCKET zur Audit-Logdatei erstellt, in die geschrieben wird.
Der Zugriff auf lokale Audit-Log-Dateien wird über die Access Control Lists (ACLs) Ihres Dateisystems gesteuert. Jeder, der die Berechtigung hat, sich auf dem Server anzumelden und auf diese Dateien zuzugreifen, kann die Audit-Logs ansehen.
Wir empfehlen, den Zugriff auf die Spanner Omni-VMs einzuschränken, z. B. durch Einschränken des SSH-Zugriffs und Konfigurieren von ACLs für das Dateisystem, damit nur autorisiertes Personal die Logs ansehen kann. Verwenden Sie für die langfristige Speicherung, das Audit-Logging und die Compliance einen Logging-Agenten (z. B. Fluentd), um die Audit-Logs zu erfassen und in ein externes Logging-System wie AWS CloudWatch, Grafana Loki, Elasticsearch, Datadog, Splunk> oder Cloud Monitoring zu exportieren.
Dateiaufbewahrung
In Spanner Omni werden sowohl größen- als auch altersbasierte Aufbewahrungsrichtlinien für lokale Audit-Logdateien erzwungen:
Größenbeschränkung: Audit-Logdateien werden beibehalten, bis ihre gesamte Festplattennutzung 1 GB überschreitet. Wenn für das Logverzeichnis ein separates Laufwerk verwendet wird, werden den Audit-Logdateien 25% des Gesamtspeicherplatzes auf diesem Laufwerk zugewiesen.
Altersbeschränkung: Audit-Logdateien werden bis zu 14 Tage lang aufbewahrt, sofern das Größenlimit nicht überschritten wird.
Wenn eines der beiden Limits erreicht ist, löscht Spanner Omni zuerst die ältesten Logdateien. Wenn Sie Audit-Logs länger als 14 Tage aufbewahren müssen, exportieren Sie sie in ein externes Logging-System.
Struktur von Audit-Logeinträgen
Spanner Omni-Audit-Logeinträge sind als JSON formatiert und verwenden dieselbe strukturelle Definition wie Spanner. Weitere Informationen finden Sie in der Cloud-Audit-Logs-Dokumentation unter Struktur von Audit-Log-Einträgen.
Logname
Im Gegensatz zur verwalteten Mehrmandantenversion von Spanner wird Spanner Omni als Einzelmandantenbereitstellung auf dedizierten Servern ausgeführt. Da es auf diesen Servern keine anderen Mandanten oder Projekte gibt, wird in allen Audit-Logeinträgen die Projekt-ID default verwendet.
projects/default/logs/cloudaudit.googleapis.com/activity
projects/default/logs/cloudaudit.googleapis.com/data_access
projects/default/logs/cloudaudit.googleapis.com/system_event
Aufruferidentitäten
In Audit-Logs wird die Identität des Nutzers aufgezeichnet, der den protokollierten Vorgang ausgeführt hat.
Die Identität des Aufrufers wird im Feld AuthenticationInfo des Objekts AuditLog gespeichert.
In Spanner Omni ist die Identität des Aufrufers der Nutzername des authentifizierten Nutzers, der den API-Aufruf ausgeführt hat. Informationen zum Erstellen und Verwalten von Nutzern finden Sie unter Authentifizierung und Autorisierung.
IP-Adresse des Anrufers
Spanner Omni unterstützt das Aufzeichnen der IP-Adresse des Anrufers in Audit-Logs nicht.
Methoden nach Berechtigungstyp
Wenn Sie eine API-Methode aufrufen, generiert Spanner Omni ein Audit-Log basierend auf dem Berechtigungstyp, der für die Ausführung der Methode erforderlich ist. Methoden, die die Berechtigungen ADMIN_READ, DATA_READ oder DATA_WRITE erfordern, generieren Audit-Logs zum Datenzugriff. Methoden, die die Berechtigung ADMIN_WRITE erfordern, generieren Audit-Logs zur Administratoraktivität.
Spanner Omni unterstützt die meisten Cloud Spanner API-Methoden. Die Klassifizierung von Methoden, die von Spanner und Spanner Omni gemeinsam genutzt werden, für die Audit-Protokollierung finden Sie in der Spanner-Dokumentation unter Methoden nach Berechtigungstyp.
Spanner Omni führt auch eindeutige API-Methoden ein, die Audit-Logs generieren. Methoden, die als Vorgänge mit langer Ausführungszeit (Long-Running Operations, LROs) gekennzeichnet sind, generieren in der Regel zwei Audit-Log-Einträge: einen beim Starten und einen beim Beenden des Vorgangs. Weitere Informationen finden Sie in der Cloud-Audit-Logs-Dokumentation unter Vorgänge mit langer Ausführungszeit.
| Berechtigungstyp | Methoden |
|---|---|
ADMIN_READ |
google.spanner.omni.v1.OmniAdmin.GetLocationgoogle.spanner.omni.v1.OmniAdmin.ListLocationgoogle.spanner.omni.v1.OmniAdmin.GetLocationDistancegoogle.spanner.omni.v1.OmniAdmin.ListLocationDistancegoogle.spanner.omni.v1.OmniAdmin.GetZonegoogle.spanner.omni.v1.OmniAdmin.ListZonesgoogle.spanner.omni.v1.OmniAdmin.GetServergoogle.spanner.omni.v1.OmniAdmin.ListServersgoogle.spanner.omni.v1.OmniAdmin.GetDeploymentgoogle.spanner.omni.v1.OmniAdmin.ListBackupDescriptorsgoogle.spanner.omni.v1.OmniAdmin.GetExternalStoragegoogle.spanner.omni.v1.OmniAdmin.ListExternalStoragesgoogle.spanner.omni.v1.OmniAdmin.GetIamPolicygoogle.spanner.omni.v1.UsersService.GetUsergoogle.spanner.omni.v1.UsersService.ListUsersgoogle.spanner.omni.v1.UsersService.GetRolegoogle.spanner.omni.v1.UsersService.ListRoles
|
ADMIN_WRITE |
google.spanner.omni.v1.OmniAdmin.CreateLocationgoogle.spanner.omni.v1.OmniAdmin.DeleteLocationgoogle.spanner.omni.v1.OmniAdmin.CreateLocationDistancegoogle.spanner.omni.v1.OmniAdmin.UpdateLocationDistancegoogle.spanner.omni.v1.OmniAdmin.DeleteLocationDistancegoogle.spanner.omni.v1.OmniAdmin.CreateZonegoogle.spanner.omni.v1.OmniAdmin.DeleteZonegoogle.spanner.omni.v1.OmniAdmin.CreateServergoogle.spanner.omni.v1.OmniAdmin.DeleteServergoogle.spanner.omni.v1.OmniAdmin.CreateExternalStoragegoogle.spanner.omni.v1.OmniAdmin.DeleteExternalStoragegoogle.spanner.omni.v1.OmniAdmin.SetIamPolicygoogle.spanner.omni.v1.OmniAdmin.ImportBackup (LRO)google.spanner.omni.v1.UsersService.CreateUsergoogle.spanner.omni.v1.UsersService.DeleteUsergoogle.spanner.omni.v1.UsersService.UpdateUser
|
DATA_READ |
google.spanner.omni.v1.ImportExportService.ExportDatabase
(LRO)
|
DATA_WRITE |
google.spanner.omni.v1.ImportExportService.ImportDatabase
(LRO)
|
Methoden, die keine Audit-Logs generieren
Bei Spanner Omni werden dieselben Methoden aus dem Audit-Logging ausgeschlossen wie bei Spanner. Diese Methoden sind ausgeschlossen, weil sie ein hohes Volumen haben und erhebliche Kosten für die Generierung und Speicherung von Logs verursachen, einen niedrigen Prüfwert haben oder weil ein anderes Audit- oder Plattformlog bereits eine Methodenabdeckung bietet. Eine vollständige Liste dieser ausgeschlossenen Methoden finden Sie in der Spanner-Dokumentation unter Exempt methods (Ausgenommene Methoden).
Außerdem werden bei der google.spanner.omni.v1.LoginService.Login-Methode keine Audit-Logs generiert, da sie vor den Authentifizierungs- und Autorisierungsprüfungen erfolgt.
Verarbeitungsdauer
Im Feld „Verarbeitungsdauer“ eines Audit-Logs wird die Verarbeitungsdauer der API aufgezeichnet, z. B. die Dauer der Ausführung einer SQL-Abfrage, nicht die Verzögerung beim Schreiben des Audit-Logs. Weitere Informationen finden Sie in der Spanner-Dokumentation unter Verarbeitungsdauer.
Vergleich mit der verwalteten Version von Spanner
Die Audit-Protokollierung in Spanner Omni basiert zwar auf denselben Kernkonzepten und derselben Formatierung wie in Spanner, es gibt jedoch einige wichtige Unterschiede in der Art und Weise, wie Protokolle gespeichert, konfiguriert und verwaltet werden.
Unterschiede
Logziel: Spanner Omni schreibt Audit-Logs direkt in das lokale Dateisystem Ihrer Spanner Omni-Server, anstatt sie in Cloud Logging zu exportieren.
Konfiguration: In Spanner konfigurieren Sie Audit-Logs zum Datenzugriff auf Projektebene mit der Google Cloud -Konsole, der Google Cloud CLI oder der Identity and Access Management API. In Spanner Omni konfigurieren Sie Audit-Logs für den Datenzugriff mit der Spanner Omni CLI oder der Spanner Omni API.
TLS- und mTLS-Verschlüsselung: In Spanner wird standardmäßig die TLS-Verschlüsselung erzwungen. Sie kann nicht deaktiviert werden. Wenn Sie Spanner Omni ohne TLS- oder mTLS-Verschlüsselung bereitstellen, werden keine Audit-Logs erstellt.
Aufbewahrung: Spanner-Audit-Logs werden gemäß Ihren Logging-Aufbewahrungseinstellungen in Logging aufbewahrt. In Spanner Omni werden lokale Audit-Logdateien bis zu 14 Tage lang oder bis die Grenzwerte für die Festplattengröße erreicht sind beibehalten. Sie müssen die Logs in ein externes System exportieren, um sie langfristig zu speichern.
Ähnlichkeiten
Logformat: Beide Produkte schreiben Audit-Logs im JSON-Format gemäß der Standardstruktur Google Cloud AuditLog.
Konfiguration des Datenzugriffs: In beiden Produkten können Sie Audit-Logs zum Datenzugriff detailliert nach Berechtigungstyp (
ADMIN_READ,DATA_READ,DATA_WRITE) aktivieren und bestimmte Nutzer vom Logging ausschließen.
Nächste Schritte
Informationen zur Authentifizierung und Autorisierung in Spanner Omni
Informationen zum Monitoring Ihrer Spanner Omni-Bereitstellung