Wie man DataSunrise mit AWS Database Activity Streams integriert, um Audit-Ergebnisse für AWS Aurora PostgreSQL zu erhalten
Übersicht über Methoden der Datenbankaktivitätsprüfung
Heutzutage wird die Datenbanküberwachung immer wichtiger aufgrund zahlreicher gesetzlicher Vorschriften und Regelungen zum Schutz sensibler Daten wie DSGVO, KVKK usw.
Technisch gibt es mehrere Methoden zur Überwachung der Datenbankaktivität. Die beliebtesten sind:
- Proxying des Datenbankverkehrs (Reverse Proxy);
- Passives Mithören des Datenbankverkehrs;
- Auslesen von Protokollen, die von nativen Audit-Tools der Datenbank gesammelt werden;
- Integration mit dedizierten Auditing-Diensten wie AWS DAS.
Jeder Ansatz hat seine eigenen Vor- und Nachteile, Einschränkungen und Möglichkeiten. Amazon-Nutzer wiederum finden möglicherweise die letzten beiden Ansätze am besten für ihre Bedürfnisse geeignet. Diese Methoden ermöglichen es AWS-Nutzern, das Sicherheitspersonal über bestimmte Datenbankereignisse zu informieren, Berichte über Aktivitäten im Aurora PG-Cluster zu erstellen usw.
AWS Database Activity Streams (DAS) bieten einen nahezu in Echtzeit erfolgenden Stream der Aktivitäten in Ihrem DB-Cluster und verschaffen Ihnen folgende Vorteile gegenüber nativen Protokollierungsmechanismen der Datenbank (DataSunrise’s Trailing DB Audit Logs Funktionalität):
- Der Konfigurationsprozess von DAS ist viel einfacher als die Konfiguration von „regulärem“ Trailing basierend auf Logdateien. Es wird auch kein zusätzlicher Speicherplatz zur Aufbewahrung der Logs benötigt;
- Erhöhter Schutz gegen interne Bedrohungen: Datenbankadministratoren haben keinen Zugriff auf das Erfassen, Übertragen, Speichern und Verarbeiten der Database Activity Streams;
- DAS bieten mehr Flexibilität als das „reguläre“ Trailing, da sowohl synchrone als auch asynchrone Modi zur Verfügung stehen.
Der kritischste Nachteil von DAS ist die Inkompatibilität mit einigen RDS-Instanzklassen und Amazon Aurora-Versionen.
Das folgende Diagramm zeigt einen Aurora PG-Cluster, der mit DataSunrise integriert ist:

Hier ist ein Aurora PG-Cluster mit aktiviertem DAS zu sehen. Aurora überträgt die Daten der Datenbankaktivitäten an AWS Kinesis. Die Activity Streams werden dabei mit einem AWS KMS-Verschlüsselungsschlüssel verschlüsselt. Kinesis leitet seinerseits die Database Activity Streams an DataSunrise weiter, das als Datenbanküberwachungstool genutzt wird. DataSunrise verarbeitet die Streams und speichert die Audit-Ergebnisse in seinem Audit-Speicher. Anschließend werden die erfassten Datenbankereignisse im Bereich Transactional Trails der Webkonsole von DataSunrise angezeigt.
Vorraussetzungen für den Aurora PG-Cluster
Bevor Sie DAS konfigurieren, stellen Sie sicher, dass Ihre AWS-Umgebung den nachstehend aufgeführten Anforderungen entspricht.
Unterstützte Aurora PostgreSQL-Datenbankversionen:
- Alle Versionen der Serie 13
- Alle Versionen der Serie 12
- Version 11.6 und höher (Version 11)
- Version 10.11 und höher (Version 10)
Unterstützte AWS RDS-Instanzklassen:
- db.r6g
- db.r5
- db.r4
- db.x2g
Datenbankaktivitätsstreams werden in allen AWS-Regionen unterstützt, mit Ausnahme der folgenden:
- China (Beijing) Region, cn-north-1
- China (Ningxia) Region, cn-northwest-1
- AWS GovCloud (US-East), us-gov-east-1
- AWS GovCloud (US-West), us-gov-west-1
Verschiedenes:
- DAS erfordern die Nutzung des AWS Key Management Service (AWS KMS). AWS KMS ist erforderlich, da die Activity Streams stets verschlüsselt sind.
- Datenbankaktivitätsstreams erfordern die Nutzung von Amazon Kinesis.
Weitere Informationen: AWS Aurora DB Activity Streams – Versionsanforderungen
Erstellen eines AWS KMS-Schlüssels
Da die Activity Streams stets verschlüsselt sind, müssen Sie einen Verschlüsselungsschlüssel verwenden. Aurora nutzt den KMS-Schlüssel, um den Schlüssel zu verschlüsseln, der seinerseits die Datenbankaktivität verschlüsselt. Falls Sie noch keinen KMS-Schlüssel besitzen, erstellen Sie einen.
Navigieren Sie zum Key Management System (KMS) von AWS, klicken Sie auf Create a key. Legen Sie für Ihren Schlüssel die folgenden Optionen fest:
- Key type: Symmetrisch
- Key material origin: KMS
- Regionality: Schlüssel für eine einzelne Region
- Key policy: Standard
Weitere Informationen: AWS KMS – Erstellen von Schlüsseln
Starten von DAS für Ihren Aurora PG-Cluster
Nachdem Sie Ihre RDS Aurora PG-Umgebung vorbereitet haben, können Sie mit den Database Activity Streams beginnen.
Navigieren Sie zu RDS Managed Relational Database Service (RDS), wählen Sie Databases, wählen Sie den DB-Cluster, für den Sie einen Activity Stream aktivieren möchten, und klicken Sie auf Actions -> Start database activity stream:

Konfigurieren Sie DAS auf folgende Weise:
- Master key: Ihr KMS-Schlüssel
- Database activity stream mode: entweder Asynchronous oder Synchronous. Wir empfehlen die Verwendung des synchronen Modus, da dieser die Genauigkeit des Activity Streams gegenüber der Datenbankleistung bevorzugt. Den Unterschied zwischen diesen beiden Modi finden Sie hier.
- Apply immediately: ob die Änderungen sofort oder nach einem Zeitplan angewendet werden sollen.

- Sie können auf den Stream im Konfigurationsabschnitt der Einstellungen Ihres Clusters zugreifen (Database activity stream -> Kinesis stream):
Weitere Informationen: AWS Aurora DB Activity Streams – Aktivierung
Konfiguration der DAS-basierten Überwachung in DataSunrise
Nachdem Sie DAS für Ihren Aurora-Cluster gestartet haben, können Sie DataSunrise so konfigurieren, dass es die Database Activity Streams verarbeitet.
Damit DataSunrise mit DAS arbeiten kann, benötigt Ihr IAM-Benutzer Zugriff auf einige Funktionen von Kinesis, KMS und RDS. Um die erforderlichen Berechtigungen zu gewähren, navigieren Sie zu Identity and Access Management (IAM) -> Users und hängen Sie die folgende Richtlinie an Ihren Benutzer an:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"Kinesis:DescribeStreamSummary",
"Kinesis:ListShards",
"Kinesis:GetShardIterator",
"Kinesis:GetRecords",
"Kinesis:DescribeStreamSummary",
"KMS:Decrypt",
"RDS:DescribeDBClusters"
],
"Resource": ["<ARN Ihres Kinesis-Streams>", "<ARN Ihres KMS-Schlüssels>", "<ARN Ihres RDS DB>"]
}
]
}
Erstellen Sie eine neue Aurora PG Database Instance oder verwenden Sie eine bestehende. Öffnen Sie die Webkonsole von DataSunrise und navigieren Sie zu Configuration -> Databases.
- Geben Sie die Verbindungsdetails für Ihre Aurora PG-Datenbank an. Geben Sie den Endpunkt Ihres Aurora PG-Clusters im Feld Host an;
- Wählen Sie im Abschnitt Capture Mode der Instanzseite im Dropdown-Menü Mode die Option Trailing the DB Audit Logs aus;
- Wählen Sie im Dropdown-Menü Format Type die Option Database activity stream aus;
- Füllen Sie alle erforderlichen Felder aus. Speichern Sie die Instanz.
Erstellen Sie eine Data Audit Rule für Ihre Aurora PG-Instanz: Navigieren Sie zu Audit -> Rules und erstellen Sie eine Regel.
Für Audit-Ergebnisse navigieren Sie zu Audit -> Transactional Trails. Beachten Sie, dass die Ergebnisse mit einer Verzögerung von etwa 5-10 Minuten erscheinen können.
Sie können die DAS-basierte Überwachung in DataSunrise auch anpassen, indem Sie die folgenden Parameter ändern (System Settings -> Additional Parameters):
- TrailDASIntervalTime: Zeitraum, für den eine Liste von Ereignissen abgerufen wird (z. B. für die letzten 5 Minuten ab dem neuesten Datensatz);
- TrailDASOffsetTime: Zeitverzögerung beim Abrufen der Ereignisse (erforderlich zur Synchronisierung, in Sekunden).