Spanner Omni schreibt Audit-Logs, in denen administrative Aktivitäten und Datenzugriffe in Ihren Spanner Omni-Bereitstellungen aufgezeichnet werden.
Audit-Logs helfen Ihnen, die Frage „Wer hat was, wo und wann getan?“ zu beantworten. 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 zur Administratoraktivität
In Audit-Logs zur Administratoraktivität werden API-Aufrufe aufgezeichnet, die die Konfiguration oder Metadaten Ihrer Bereitstellung ändern. Spanner Omni schreibt beispielsweise Audit-Logs zur Administratoraktivität, wenn ein Nutzer eine Datenbank erstellt.
Audit-Logs zur Administratoraktivität werden standardmäßig für Bereitstellungen erstellt, die mit TLS- und mTLS-Verschlüsselung konfiguriert sind. Sie können nicht konfiguriert, ausgeschlossen oder deaktiviert werden.
Eine Liste der Methoden, die Audit-Logs zur Administratoraktivität schreiben, finden Sie unter Methoden nach Berechtigungstyp.
Audit-Logs zum Datenzugriff
In Audit-Logs zum Datenzugriff werden API-Aufrufe aufgezeichnet, 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. Wenn Sie Datenzugriffsereignisse aufzeichnen möchten, müssen Sie sie explizit aktivieren und konfigurieren. Audit-Logs zum Datenzugriff helfen dem Google-Support beim Beheben von Problemen. Wir empfehlen daher, sie zu aktivieren.
Eine Anleitung zum Konfigurieren dieser Logs finden Sie unter Audit-Logs zum Datenzugriff konfigurieren. Eine Liste der Methoden, die Audit-Logs zum Datenzugriff schreiben, finden Sie unter Methoden nach Berechtigungstyp.
Audit-Logs zu Systemereignissen
In Audit-Logs zu Systemereignissen wird aufgezeichnet, wenn das System die Konfiguration Ihrer Spanner Omni-Ressourcen ohne direkte Nutzeraktion ändert. Spanner Omni schreibt beispielsweise ein Audit-Log zu Systemereignissen, wenn das System automatisch eine neu wiederhergestellte Datenbank 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 nicht konfiguriert, ausgeschlossen oder deaktiviert werden.
Weitere Informationen zu den Systemereignissen, die diese Logs generieren, finden Sie unter Systemereignisse.
Audit-Logs zum 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 das Logging für bestimmte Berechtigungstypen aktivieren und bestimmte Nutzer vom Logging ausschließen.
Erforderliche Berechtigungen
Zum Konfigurieren von Audit-Logs zum Datenzugriff benötigen Sie die
spanner.instances.setIamPolicy Berechtigung.
Zum Aufrufen von Konfigurationen für Audit-Logs zum Datenzugriff benötigen Sie die
spanner.instances.getIamPolicy Berechtigung.
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 sind wie folgt kategorisiert:
Berechtigungstypen für den Datenzugriff :
ADMIN_READ: zeichnet API-Methoden auf, die Metadaten oder Konfigurationsinformationen lesen. Beispiel: Beschreiben einer Datenbank.DATA_READ: zeichnet API-Methoden auf, die Nutzerdaten lesen. Beispiel: Ausführen einer SQL-Abfrage.DATA_WRITE: zeichnet API-Methoden auf, die Nutzerdaten schreiben. Beispiel: Ausführen einer DML-Anweisung.
Berechtigungstyp für Administratoraktivität :
ADMIN_WRITE: wird für API-Methoden geprüft, die Metadaten oder Konfigurationsinformationen schreiben (z. B. Erstellen einer Datenbank). Diese generieren Audit-Logs zur Administratoraktivität und können nicht konfiguriert werden.
Eine detaillierte Erläuterung der Berechtigungstypen finden Sie in der Cloud-Audit-Logs-Dokumentation unter Berechtigungstypen.
Konfiguration mit der Spanner Omni CLI
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 ausgeschlossenen Mitglieder aufgeführt sind, und wenden Sie die Richtlinie 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 für Audit-Logs zum Datenzugriff aufzurufen:
spanner instances get-iam-policy default
Weitere Beispiele für häufige 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 jedoch das Systemereignis AutoscaleInstance 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.
Die Audit-Logdateien finden Sie unter dem folgenden Pfad und mit der folgenden Namenskonvention:
BASE_DIR/logs/PROCESS/audit.log.BUCKET.TIMESTAMP.PROCESS_ID
BASE_DIR: Das Basisverzeichnis, das beim Starten Ihrer Spanner Omni-Bereitstellung angegeben wurde. Bei Kubernetes-Bereitstellungen ist dies standardmäßig/spanner.PROCESS: Spanner Omni führt mehrere Prozesse pro Server aus, z. B.server,zone_services,zonal_zone_services,zonal_server, undbase_services. Audit-Logs werden in das Verzeichnis geschrieben, das dem Prozess entspricht, der sie generiert hat.BUCKET: Audit-Logs zur Administratoraktivität und zu Systemereignissen werden in den Bucketrequiredgeschrieben, während Audit-Logs zum Datenzugriff in den Bucketdefaultgeschrieben werden.TIMESTAMP: Der Zeitstempel, an dem 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-Logdateien wird durch die ACLs (Access Control Lists) Ihres Dateisystems gesteuert. Jeder, der sich auf dem Server anmelden und auf diese Dateien zugreifen darf, kann die Audit-Logs aufrufen.
Wir empfehlen, den Zugriff auf die Spanner Omni-VMs einzuschränken (z. B. durch Beschränken des SSH-Zugriffs und Konfigurieren von Dateisystem-ACLs), damit nur autorisiertes Personal die Logs aufrufen kann. Für die langfristige Speicherung, Prüfung und Compliance verwenden Sie 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
Spanner Omni erzwingt sowohl größen- als auch altersbasierte Aufbewahrungsrichtlinien für lokale Audit-Logdateien:
Größenlimit: Audit-Logdateien werden so lange aufbewahrt, bis die Gesamtspeichernutzung 1 GB übersteigt. Wenn für das Logverzeichnis eine separate Festplatte verwendet wird, wird den Audit-Logdateien ein Kontingent von 25% des Gesamtspeicherplatzes auf dieser Festplatte zugewiesen.
Alterslimit: 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 werden als JSON formatiert und verwenden dieselbe Strukturdefinition wie Spanner. Weitere Informationen finden Sie in der Cloud-Audit-Logs-Dokumentation unter Struktur von Audit-Logeinträgen.
Log name
Im Gegensatz zur mandantenfähigen verwalteten Version von Spanner wird Spanner Omni als Bereitstellung für einen einzelnen Mandanten auf dedizierten Servern ausgeführt. Da sich auf diesen Servern keine anderen Mandanten oder Projekte befinden, verwenden alle Audit-Logeinträge die Projekt-ID default.
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 AuthenticationInfo Feld des
AuditLog
Objekts 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 Aufrufers 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 der Audit Logs für Methoden, die von Spanner und Spanner Omni gemeinsam verwendet werden, 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-Logeinträ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
Spanner Omni schließt dieselben Methoden vom Audit-Logging aus wie Spanner. Diese Methoden werden 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 Ausgenommene Methoden.
Außerdem generiert die Methode google.spanner.omni.v1.LoginService.Login keine Audit-Logs, da sie vor den Authentifizierungs- und Autorisierungsprüfungen ausgeführt wird.
Verarbeitungsdauer
Im Feld für die Verarbeitungsdauer in einem Audit-Log 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
Das Audit-Logging in Spanner Omni teilt zwar Kernkonzepte und Formatierung mit Spanner, es gibt jedoch einige wichtige Unterschiede in der Art und Weise, wie Logs 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 Console, der Google Cloud CLI oder der Identity and Access Management API. In Spanner Omni konfigurieren Sie Audit-Logs zum Datenzugriff mit der Spanner Omni CLI oder der Spanner Omni API.
TLS- und mTLS-Verschlüsselung: Spanner erzwingt standardmäßig die TLS-Verschlüsselung, die nicht deaktiviert werden kann. Wenn Sie in Spanner Omni eine Bereitstellung ohne TLS- oder mTLS-Verschlüsselung auswählen, werden keine Audit-Logs erstellt.
Aufbewahrung: Spanner-Audit-Logs werden in Logging gemäß Ihren Aufbewahrungseinstellungen für Logging aufbewahrt. Spanner Omni bewahrt lokale Audit-Logdateien bis zu 14 Tage lang oder bis zum Erreichen der Speicherplatzlimits auf und erwartet, dass Sie die Logs zur langfristigen Speicherung in ein externes System exportieren.
Ähnlichkeiten
Logformat: Beide Produkte schreiben Audit-Logs im JSON-Format gemäß der Standardstruktur Google Cloud von AuditLog.
Konfiguration des Datenzugriffs: Mit 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 zu Authentifizierung und Autorisierung in Spanner Omni.
Informationen zum Monitoring Ihrer Spanner Omni-Bereitstellung.