Überwachung von Amazon RDS mithilfe von Datenbankaktivitätsstreams - Amazon Relational Database Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Überwachung von Amazon RDS mithilfe von Datenbankaktivitätsstreams

Mithilfe von Datenbankaktivitätsstreams können Sie nahezu in Echtzeit Datenbankaktivitätsstreams überwachen.

Übersicht über Datenbankaktivitätsstreams

Als Amazon RDS-Datenbankadministrator müssen Sie Ihre Datenbank schützen und Compliance- und regulatorische Anforderungen erfüllen. Eine Strategie besteht darin, Datenbankaktivitätsstrreams in Ihre Überwachungstools zu integrieren. Auf diese Weise können Sie die Überwachungsaktivitäten in Ihrer überwachen und Alarme einrichten.

Sicherheitsbedrohungen sind sowohl extern als auch intern. Zum Schutz vor internen Bedrohungen können Sie den Administratorzugriff auf Datenströme durch die Konfiguration der Funktion „Datenbankaktivitätsstreams“ steuern. Amazon RDS hat DBAs keinen Zugriff auf die Erfassung, Übertragung, Speicherung und Verarbeitung der Streams.

Funktionsweise von Datenbankaktivitätsstreams

Amazon RDS sendet Aktivitäten nahezu in Echtzeit per Push in einen Amazon Kinesis Data Stream. Der Kinesis Stream wird automatisch erstellt. Von Kinesis aus können Sie AWS Dienste wie Amazon Data Firehose konfigurieren und AWS Lambda den Stream nutzen und die Daten speichern.

Wichtig

Die Verwendung der Datenbankaktivitätsstreams-Funktion in Amazon RDS ist kostenlos, Amazon Kinesis erhebt jedoch Gebühren für einen Datenstrom. Weitere Informationen finden Sie unter Amazon Kinesis Data Streams – Preise.

Sie können Anwendungen für das Compliance-Management für den Verbrauch von Datenbankaktivitäts-Streams konfigurieren. Solche Anwendungen können den Datenstrom verwenden, um Warnungen zu generieren und -Datenbank zu prüfen.

RDS für Oracle unterstützt Datenbankaktivitätsstreams in Multi-AZ-Bereitstellungen. In diesem Fall überwachen Datenbankaktivitätsstreams sowohl die primäre als auch die Standby-Instances.

Prüfungen in Oracle-Datenbanken und Microsoft-SQL-Server-Datenbanken

Das Auditing ist die Überwachung und Aufzeichnung von konfigurierten Datenbankaktionen. Amazon RDS erfasst standardmäßig keine Datenbankaktivitäten. Sie erstellen und verwalten Audit-Richtlinien in Ihrer Datenbank selbst.

Einheitliche Prüfung in Oracle Database

In einer Oracle-Datenbank ist eine einheitliche Prüfungsrichtlinie eine benannte Gruppe von Prüfungseinstellungen, die Sie verwenden können, um einen Aspekt des Benutzerverhaltens zu prüfen. Eine Richtlinie kann so einfach sein wie die Prüfung der Aktivitäten eines einzelnen Benutzers. Sie können auch komplexe Prüfungsrichtlinien erstellen, die Bedingungen verwenden.

Eine Oracle-Datenbank schreibt Audit-Datensätze, einschließlich SYS-Audit-Datensätzen an den einheitlichen Audit-Trail. Wenn beispielsweise während einer INSERT-Anweisung ein Fehler auftritt, zeigt die Standardprüfung die Fehlernummer und die ausgeführte SQL an. Der Audit-Trail befindet sich in einer schreibgeschützten Tabelle im Schema AUDSYS. Um auf diese Datensätze zuzugreifen, fragen Sie die UNIFIED_AUDIT_TRAIL-Datenwörterbuchansicht ab.

In der Regel konfigurieren Sie Datenbankaktivitätsstreams wie folgt:

  1. Erstellen Sie eine Oracle-Datenbank-Prüfungsrichtlinie mithilfe des CREATE AUDIT POLICY-Befehls.

    Die Oracle-Datenbank generiert Audit-Datensätze.

  2. Aktivieren Sie die Audit-Richtlinie mithilfe des AUDIT POLICY-Befehls.

  3. Datenbankaktivitätsstreams konfigurieren.

    Nur Aktivitäten, die den Prüfungs-Richtlinien der Oracle-Datenbank entsprechen, werden erfasst und an den Amazon Kinesis Data Stream gesendet. Wenn Datenbankaktivitäts-Streams aktiviert sind, kann ein Oracle-Datenbankadministrator die Prüfungsrichtlinie weder ändern noch Prüfungsprotokolle entfernen.

Weitere Informationen zu einheitlichen Audit-Richtlinien finden Sie unter Prüfungsaktivitäten mit einheitlichen Prüfungsrichtlinien und AUDIT im Oracle-Datenbank-Sicherheitshandbuch.

Prüfungen in Microsoft SQL Server

Database Activity Stream verwendet SQLAudit eine Funktion zur Prüfung der SQL Server-Datenbank.

Die RDS-für-SQL-Server-Instance enthält Folgendes:

  • Server-Audit – Das SQL-Server-Audit erfasst eine einzelne Instance von Aktionen auf Server- oder Datenbankebene und eine Gruppe von Aktionen, die überwacht werden sollen. Die Audits auf Serverebene RDS_DAS_AUDIT und RDS_DAS_AUDIT_CHANGES werden von RDS verwaltet.

  • Server-Audit-Spezifikation – Die Server-Audit-Spezifikation zeichnet die Ereignisse auf Serverebene auf. Sie können die RDS_DAS_SERVER_AUDIT_SPEC-Spezifikation ändern. Diese Spezifikation ist mit dem Server-Audit RDS_DAS_AUDIT verknüpft. Die RDS_DAS_CHANGES_AUDIT_SPEC-Spezifikation wird von RDS verwaltet.

  • Datenbank-Audit-Spezifikation — Die Datenbank-Audit-Spezifikation zeichnet die Ereignisse auf Datenbankebene auf. Sie können eine Datenbank-Audit-Spezifikation RDS_DAS_DB_<name> erstellen und sie mit dem RDS_DAS_AUDIT-Server-Audit verknüpfen.

Sie können Datenbankaktivitätsstreams mithilfe der Konsole oder der CLI konfigurieren. In der Regel konfigurieren Sie Datenbankaktivitätsstreams wie folgt:

  1. (Optional) Erstellen Sie mit dem CREATE DATABASE AUDIT SPECIFICATION-Befehl eine Datenbank-Audit-Spezifikation und verknüpfen Sie sie mit dem RDS_DAS_AUDIT-Server-Audit.

  2. (Optional) Ändern Sie die Server-Audit-Spezifikation mit dem ALTER SERVER AUDIT SPECIFICATION-Befehl und definieren Sie die Richtlinien.

  3. Aktivieren Sie die Datenbank- und Server-Auditrichtlinien. Zum Beispiel:

    ALTER DATABASE AUDIT SPECIFICATION [<Your database specification>] WITH (STATE=ON)

    ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC] WITH (STATE=ON)

  4. Datenbankaktivitätsstreams konfigurieren.

    Nur Aktivitäten, die den Audit-Richtlinien des Servers und der Datenbank entsprechen, werden erfasst und an den Amazon Kinesis Data Stream gesendet. Wenn Datenbankaktivitätsstreams aktiviert und die Richtlinien gesperrt sind, kann ein Datenbankadministrator die Audit-Richtlinie weder ändern noch Audit-Protokolle entfernen.

    Wichtig

    Wenn die Datenbank-Audit-Spezifikation für eine bestimmte Datenbank aktiviert ist und sich die Richtlinie in einem gesperrten Zustand befindet, kann die Datenbank nicht gelöscht werden.

Weitere Informationen zum SQL-Server-Auditing finden Sie unter SQL-Server-Audit-Komponenten in der Microsoft-SQL-Server-Dokumentation.

Nicht-native Prüfungsfelder für Oracle Database und SQL Server

Wenn Sie einen Datenbankaktivitätsstream starten, generiert jedes Datenbankereignis ein entsprechendes Aktivitätsstream-Ereignis. Beispielsweise kann ein Datenbankbenutzer SELECT und INSERT-Anweisungen ausführen. Diese Ereignisse werden von der Datenbank überprüft und an einen Amazon Kinesis Data Stream gesendet.

Die Ereignisse werden im Stream als JSON-Objekte dargestellt. Ein JSON-Objekt enthält DatabaseActivityMonitoringRecord mit einem databaseActivityEventList-Array. Vordefinierte Felder im Array sind etwa class, clientApplication und command.

Standardmäßig enthält ein Aktivitätsstream keine systemeigenen Audit-Felder. Sie können Amazon RDS für Oracle und SQL Server so konfigurieren, dass es diese zusätzlichen Felder in das engineNativeAuditFields-JSON-Objekt einschließt.

In Oracle Database sind die meisten Ereignisse im einheitlichen Audit-Trail Feldern im RDS-Datenaktivitätsstream zugeordnet. Beispielsweise wird das UNIFIED_AUDIT_TRAIL.SQL_TEXT-Feld bei einheitlichem Audit dem commandText-Feld in einem Datenbankaktivitätsstream zugeordnet. Audit-Felder der Oracle-Datenbank wie OS_USERNAME werden jedoch nicht vordefinierten Feldern in einem Datenbankaktivitätsstream zugeordnet.

In SQL Server werden die meisten Felder des Ereignisses, die von der Datenbank aufgezeichnet werden, SQLAudit den Feldern im Aktivitätsstream der RDS-Datenbank zugeordnet. Beispielsweise ist das code-Feld von sys.fn_get_audit_file in den Audits dem commandText-Feld in einem Datenbankaktivitätsstream zugeordnet. SQL-Server-Datenbank-Audit-Felder wie permission_bitmask werden jedoch nicht vordefinierten Feldern in einem Datenbankaktivitätsstream zugeordnet.

Weitere Informationen zu databaseActivityEvent List finden Sie unterdatabaseActivityEventJSON-Array für Datenbank-Aktivitätsstreams auflisten.

Überschreiben von DB-Parametergruppen

In der Regel aktivieren Sie das einheitliche Auditing in RDS für Oracle, indem Sie eine Parametergruppe anhängen. Datenbankaktivitätsstreams erfordern jedoch eine zusätzliche Konfiguration. Um Ihren Kundenkomfort zu verbessern, führt Amazon RDS folgende Schritte aus:

  • Wenn Sie einen Aktivitätsstream aktivieren, ignoriert RDS für Oracle die Auditing-Parameter in der Parametergruppe.

  • Wenn Sie einen Aktivitätsstream deaktivieren, ignoriert RDS für Oracle die Auditing-Parameter nicht mehr.

Der Datenbankaktivitätsstream für SQL Server ist unabhängig von allen Parametern, die Sie in der SQL-Audit-Option festgelegt haben.

Asynchroner Modus für Datenbankaktivitätsstreams

Aktivitätsstreams in Amazon RDS sind immer asynchron. Wenn eine Datenbanksitzung ein Aktivitätsstream-Ereignis generiert, kehrt die Sitzung sofort zu normalen Aktivitäten zurück. Im Hintergrund verwandelt Amazon RDS den Aktivitätsstream in einen dauerhaften Datensatz.

Wenn bei der Hintergrundaufgabe ein Fehler auftritt, generiert Amazon RDS ein Ereignis. Dieses Ereignis gibt Anfang und Ende der Zeitfenster an, in denen möglicherweise Datensätze des Aktivitäts-Stream-Ereignisses verloren gegangen sind. Der asynchrone Modus beschleunigt die Datenbankleistung, verschlechtert jedoch die Genauigkeit des Aktivitätsstreams.

Anforderungen und Einschränkungen für Datenbankaktivitätsstreams

In RDS gelten für Datenbankaktivitätsstreams die folgenden Anforderungen und Einschränkungen:

  • Amazon Kinesis ist für Datenaktivitätsstreams erforderlich.

  • AWS Key Management Service (AWS KMS) ist für Datenbank-Aktivitätsstreams erforderlich, da sie immer verschlüsselt sind.

  • Das Anwenden zusätzlicher Verschlüsselung auf Ihren Amazon Kinesis Kinesis-Datenstrom ist nicht mit Datenbankaktivitätsströmen kompatibel, die bereits mit Ihrem AWS KMS Schlüssel verschlüsselt sind.

  • Sie erstellen und verwalten Audit-Richtlinien selbst. Im Gegensatz zu Amazon Aurora erfasst RDS for Oracle standardmäßig keine Datenbankaktivitäten.

  • Sie erstellen und verwalten Audit-Richtlinie und -Spezifikationenn selbst. Im Gegensatz zu Amazon Aurora erfasst Amazon RDS standardmäßig keine Datenbankaktivitäten.

  • Starten Sie in einer Multi-AZ-Bereitstellung den Datenbankaktivitätsstream nur auf der primären DB-Instance. Der Aktivitätsstream überwacht sowohl die primäre als auch die Standby-DB-Instances automatisch. Bei einem Failover sind keine weiteren Schritte erforderlich.

  • Durch das Umbenennen einer DB-Instance wird kein neuer Kinesis-Stream erstellt.

  • CDBs werden für RDS for Oracle nicht unterstützt.

  • Read Replicas werden nicht unterstützt.

Verfügbarkeit von Regionen und Versionen

Die Verfügbarkeit von Funktionen und der Support variieren zwischen bestimmten Versionen der einzelnen Datenbank-Engines und in allen AWS-Regionen. Weitere Informationen zur Verfügbarkeit von Versionen und Regionen mit Datenbankaktivitätsstreams finden Sie unter Unterstützte Regionen und DB-Engines für Datenbankaktivitätsstreams in Amazon RDS.

Unterstützte DB-Instance-Klassen für Datenbankaktivitätsstreams

Für RDS für Oracle können Sie Datenbankaktivitätsstreams mit den folgenden DB-Instance-Klassen verwenden:

  • db.m4.*large

  • db.m5.*large

  • db.m5d.*large

  • db.m6i.*large

  • db.r4.*large

  • db.r5.*large

  • db.r5.*large.tpc*.mem*x

  • db.r5b.*large

  • db.r5b.*large.tpc*.mem*x

  • db.r5d.*large

  • db.r6i.*large

  • db.r6i. *groß.tpc*.mem*x

  • db.x2idn.*large

  • db.x2iedn.*large

  • db.x2iezn.*large

  • db.z1d.*large

Für RDS für SQL Server können Sie Datenbankaktivitätsstreams mit den folgenden DB-Instance-Klassen verwenden:

  • db.m4.*large

  • db.m5.*large

  • db.m5d.*large

  • db.m6i.*large

  • db.r4.*large

  • db.r5.*large

  • db.r5b.*large

  • db.r5d.*large

  • db.r6i.*large

  • db.x1e.*large

  • db.x2iedn.*large

  • db.z1d.*large

Weitere Informationen zu Instance-Klassentypen finden Sie unter .