DB Audit Trailing für MS Azure PostgreSQL konfigurieren
Neben anderen Funktionalitäten bietet DataSunrise ein dediziertes Audit-Tool, das DB Audit Trailing, basierend auf der Nutzung nativer Audit-Tools und -Mechanismen der Datenbank. In diesem Artikel erklären wir, wie Sie DataSunrise und Ihre auf MS Azure gehostete PostgreSQL-Datenbank konfigurieren, um DB Audit Trailing durchzuführen.
Beachten Sie, dass dieser Leitfaden alle erforderlichen Schritte beschreibt, damit DB Audit Trailing von Anfang an funktioniert. Nehmen wir an, dass Sie weder eine Datenbank noch die entsprechenden Azure-Ressourcen besitzen. Um die Schritte dieses Leitfadens zu befolgen, benötigen Sie lediglich DataSunrise, das auf Ihrem Rechner installiert ist, sowie Zugriff auf das Azure-Portal.
Anmeldung im Azure-Portal
Melden Sie sich im Azure-Portal an. Falls Sie mit der Azure-Oberfläche nicht vertraut sind, könnte es hilfreich sein, das Suchfeld oben auf dem Bildschirm (“Suche nach Ressourcen, Diensten und Dokumentationen”) zu verwenden.
Registrierung einer Azure-Anwendung
DataSunrise verwendet diese Anwendung, um die Logdateien Ihrer PostgreSQL-Datenbank aus dem Blob-Container Ihres Speicherkontos herunterzuladen. Befolgen Sie dazu die folgenden Schritte:
1. Navigieren Sie zu App-Registrierungen -> Neue Registrierung und registrieren Sie Ihre Anwendung. Beachten Sie, dass Redirect URI (optional) nicht erforderlich ist.
2. Gewähren Sie Ihrer App die Berechtigungen zum Zugriff auf Blob-Container.
Gehen Sie auf der Seite API-Berechtigungen auf Berechtigung hinzufügen
Wechseln Sie zum Tab Microsoft APIs, wählen Sie Azure Storage aus, dann unter Delegierte Berechtigungen die Option user_impersonation:

Klicken Sie auf Berechtigungen hinzufügen, um die Änderungen anzuwenden
3. Erstellen Sie ein Geheimnis (Secret) für Ihre App, damit Azure Ihre App identifizieren kann.
- Navigieren Sie zu Zertifikate & Geheimnisse
- Unter Client-Geheimnisse klicken Sie auf Neues Client-Geheimnis, um ein neues Geheimnis zu erstellen. SPEICHERN SIE DEN GEHEIMWERT AN EINEM SICHEREN ORT: Sie werden ihn später benötigen.
Erstellung einer Ressourcengruppe
Eine Ressourcengruppe wird benötigt, um die mit Ihrer Datenbankumgebung verbundenen Entitäten (Ressourcen) zu enthalten.
Navigieren Sie zu Ressourcengruppen und erstellen Sie eine Ressourcengruppe.
Erstellung eines Speicherkontos
Das Speicherkonto wird die Logdateien Ihrer PostgreSQL-Datenbank enthalten. DataSunrise holt diese Logs aus Ihrem Speicherkonto.
1. Navigieren Sie zu Speicherkonten und erstellen Sie ein Konto
2. Wählen Sie in den Einstellungen des Speicherkontos Ihre Ressourcengruppe aus und benennen Sie das Speicherkonto. Belassen Sie alle weiteren Einstellungen auf den Standardwerten
3. Navigieren Sie zu Zugriffssteuerung (IAM) und klicken Sie auf Hinzufügen -> Rollen-Zuweisung hinzufügen
Wählen Sie Leser: Weiter. Klicken Sie auf +Mitglieder auswählen und wählen Sie Ihre registrierte App aus. Überprüfen und zuweisen. Dies ist notwendig, damit Ihre App auf die Logdateien in den Blob-Containern Ihres Speicherkontos zugreifen kann:

4. Klicken Sie erneut auf Rollen-Zuweisung hinzufügen und wählen Sie Storage Blob Data Reader aus.
5. Klicken Sie auf +Mitglieder auswählen und wählen Sie Ihre registrierte App aus. Überprüfen und zuweisen
Erstellung eines PostgreSQL-Datenbankservers
Erstellen Sie einen PostgreSQL-Datenbankserver, falls Sie noch keinen besitzen. Andernfalls bearbeiten Sie die Einstellungen Ihrer Datenbank gemäß den folgenden Schritten.
1. Navigieren Sie zu Azure Database for PostgreSQL-Server und erstellen Sie einen neuen Server: gehen Sie auf Erstellen -> Flexible Server -> Erstellen
2. Geben Sie alle erforderlichen Serverdetails an
3. Wechseln Sie zum Tab Netzwerk, aktivieren Sie Öffentlicher Zugriff… und fügen Sie die erforderlichen Firewall-Regeln hinzu. Vervollständigen Sie die Bereitstellung.
4. Navigieren Sie zu Ihrer PostgreSQL-Datenbank -> Einstellungen -> Serverparameter und setzen Sie die folgenden Parameter gemäß der untenstehenden Tabelle:
| Einstellung | Erforderlicher Wert |
|---|---|
| log_checkpoints | AUS |
| log_destination | CSVLOG |
| pgaudit.log | ALL |
| shared_preload_libraries | PG_STAT_STATEMENTS, PGAUDIT |
| log_line_prefix | %t-%c-u”%u”u- |

Sichern Sie die Einstellungen
5. Konfigurieren Sie Ihre Datenbank so, dass Logs in einem zugeordneten Speicherkonto gespeichert werden.
Navigieren Sie zu Überwachung -> Diagnostikeinstellungen -> Diagnostikeinstellung hinzufügen
Aktivieren Sie sowohl PostgreSQL Server-Log als auch PostgreSQL Sitzungsdaten. Aktivieren Sie dann In ein Speicherkonto archivieren und wählen Sie Ihr Speicherkonto aus

Erstellung einer PostgreSQL-Instanz in DataSunrise
Öffnen Sie die Webkonsole von DataSunrise und navigieren Sie zu Konfiguration -> Datenbanken, um eine PostgreSQL-Datenbankinstanz zu erstellen (siehe Abschnitt „Erstellen eines Ziel-Datenbankprofils“ im DataSunrise-Benutzerhandbuch für weitere Details):
Sie müssen die folgenden Informationen angeben:
1. Wählen Sie in den Instanz-Einstellungen Trailing the DB Audit Logs aus. Füllen Sie alle erforderlichen Felder aus.

2. Kopieren Sie ClientID und TenantID aus Ihrer Azure-App, damit DataSunrise die App zum Herunterladen der Logdateien Ihrer PostgreSQL-Datenbank verwenden kann

3. Geben Sie das zuvor gespeicherte Client-Geheimnis ein (siehe Schritt 3 der Registrierung einer Azure-Anwendung).
4. Geben Sie den Name des Blob-Containers ein. Den Namen Ihres Blob-Containers finden Sie in Azure unter Speicherkonten -> Ihr Konto -> Container in den Azure-Einstellungen:

Audit-Ergebnisse
Erstellen Sie einige Audit-Regeln für Ihre PostgreSQL-Datenbank (siehe Abschnitt „Erstellen einer Data Audit-Regel“ im Benutzerhandbuch) und führen Sie einige Abfragen auf Ihrer PostgreSQL-Datenbank aus. Navigieren Sie anschließend zu Audit -> Transaktionale Trails, um die Audit-Ergebnisse einzusehen:
