MariaDB-Audit-Plugin-Support für MySQL - 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.

MariaDB-Audit-Plugin-Support für MySQL

Amazon RDS bietet ein Audit-Plugin für MySQL-Datenbank-Instances, das auf dem Open-Source-MariaDB-Audit-Plugin basiert. Weitere Informationen finden Sie im Audit-Plugin für MySQL Server GitHub Repository.

Anmerkung

Das Audit-Plugin für MySQL basiert auf dem MariaDB-Audit-Plugin. In diesem Artikel bezeichnen wir es als MariaDB-Audit-Plugin.

Das MariaDB-Audit-Plugin zeichnet Datenbankaktivitäten auf, z. B. Benutzer, die sich bei der Datenbank anmelden, in der Datenbank ausgeführte Abfragen und vieles mehr. Der Datensatz der Datenbankaktivität wird in einer Protokolldatei gespeichert.

Anmerkung

Zurzeit wird das MariaDB-Audit-Plugin nur für die folgenden RDS für MySQL-Versionen unterstützt:

  • MySQL 8.0.28 und höhere 8.0-Versionen

  • Alle MySQL 5.7-Versionen

Audit-Plugin-Optionseinstellungen

Amazon RDS unterstützt die folgenden Einstellungen für die MariaDB-Audit-Plugin-Option.

Optionseinstellung Zulässige Werte Standardwert Beschreibung

SERVER_AUDIT_FILE_PATH

/rdsdbdata/log/audit/

/rdsdbdata/log/audit/

Der Speicherort der Protokolldatei. Die Protokolldatei beinhaltet den Datensatz der Aktivitäten die in festgelegt wurde SERVER_AUDIT_EVENTS. Weitere Informationen erhalten Sie unter Anzeigen und Auflisten von Datenbank-Protokolldateien und MySQL-Datenbank-Protokolldateien.

SERVER_AUDIT_FILE_ROTATE_SIZE

1 – 1000000000

1000000

Die Größe in Bytes, die bei Erreichen der Datei dazu führt, dass die Datei rotiert. Weitere Informationen finden Sie unter Überblick über RDS-for-MySQL-Datenbankprotokolle.

SERVER_AUDIT_FILE_ROTATIONS

0 – 100

9

Die Anzahl der zu speichernden Protokollrotationen, wenn server_audit_output_type=file. Wenn der Wert auf 0 festgelegt ist, rotiert die Protokolldatei niemals. Weitere Informationen finden Sie unter Überblick über RDS-for-MySQL-Datenbankprotokolle und Herunterladen einer Datenbank-Protokolldatei.

SERVER_AUDIT_EVENTS

CONNECT, QUERY, QUERY_DDL, QUERY_DML, QUERY_DML_NO_SELECT, QUERY_DCL

CONNECT, QUERY

Die Arten von Aktivitäten, die im Protokoll aufgezeichnet werden sollen. Die Installation des MariaDB Audit Plugins ist selbst protokolliert.

  • CONNECT: Protokollieren Sie erfolgreiche und nicht erfolgreiche Verbindungen zur Datenbank und trennen Sie die Verbindung zur Datenbank.

  • QUERY: Protokollieren Sie den Text aller Abfragen, die für die Datenbank ausgeführt werden.

  • QUERY_DDL: Ähnlich dem QUERY-Ereignis, aber gibt nur Data Definition Language (DDL)-Abfragen zurück (CREATE, ALTER usw.).

  • QUERY_DML: Ähnlich dem QUERY-Ereignis, aber gibt nur Data Manipulation Language (DML)-Abfragen zurück (INSERT, UPDATE usw. und auch SELECT).

  • QUERY_DML_NO_SELECT: : Ähnlich dem QUERY_DML-Ereignis, protokolliert jedoch keine SELECT-Abfragen.

    Die QUERY_DML_NO_SELECT-Einstellung wird nur für RDS für MySQL 5.7.34 und höhere 5.7-Versionen, sowie 8.0.25 und höhere 8.0-Versionen unterstützt.

  • QUERY_DCL: Ähnlich dem QUERY-Ereignis, aber gibt nur Data Control Language (DCL)-Abfragen zurück (GRANT, REVOKE usw.).

Bei MySQL wird TABLE nicht unterstützt.

SERVER_AUDIT_INCL_USERS

Mehrere kommaseparierte Werte

Keine

Füge nur Aktivität von den angegebenen Benutzern ein. Standardmäßig werden Aktivitäten für alle Benutzer aufgezeichnet. SERVER_AUDIT_INCL_USERS und schließen SERVER_AUDIT_EXCL_USERS sich gegenseitig aus. Wenn Sie Werte hinzufügen SERVER_AUDIT_INCL_USERS, stellen Sie sicher, dass keine Werte hinzugefügt werden SERVER_AUDIT_EXCL_USERS.

SERVER_AUDIT_EXCL_USERS

Mehrere kommaseparierte Werte

Keine

Aktivität von den angegebenen Benutzern ausschließen. Standardmäßig werden Aktivitäten für alle Benutzer aufgezeichnet. SERVER_AUDIT_INCL_USERS und schließen SERVER_AUDIT_EXCL_USERS sich gegenseitig aus. Wenn Sie Werte hinzufügen SERVER_AUDIT_EXCL_USERS, stellen Sie sicher, dass keine Werte hinzugefügt werden SERVER_AUDIT_INCL_USERS.

Der rdsadmin-Benutzer fragt die Datenbank jede Sekunde ab, um den Zustand der Datenbank zu überprüfen. Abhängig von Ihren anderen Einstellungen kann diese Aktivität dazu führen, dass die Größe Ihrer Protokolldatei sehr schnell sehr groß wird. Wenn Sie diese Aktivität nicht aufzeichnen müssen, fügen Sie den Benutzer rdsadmin zur Liste SERVER_AUDIT_EXCL_USERS hinzu.

Anmerkung

CONNECTDie Aktivität wird stets für alle Benutzer erfasst, auch wenn ein Benutzer für diese Optionseinstellung angegeben ist.

SERVER_AUDIT_LOGGING

ON

ON

Die Protokollierung ist aktiv. Der einzige gültige Wert ist ON. Amazon RDS unterstützt die Deaktivierung der Protokollierung nicht. Wenn Sie die Protokollierung deaktivieren möchten, entfernen Sie das MariaDB-Audit-Plugin. Weitere Informationen finden Sie unter Entfernen des MariaDB-Audit-Plugins.

SERVER_AUDIT_QUERY_LOG_LIMIT

0 – 2147483647

1024

Die Längenbegrenzung der Abfragezeichenfolge in einem Datensatz.

Hinzufüge des MariaDB-Audit-Plugins

Der allgemeine Vorgang zum Hinzufügen des MariaDB-Audit-Plugins zu einer DB-Instance ist wie folgt:

  • Erstellen einer neuen Optionsgruppe oder Kopieren oder Ändern einer bestehenden Optionsgruppe

  • Hinzufügen der Option zur Optionsgruppe

  • Zuordnen der Optionsgruppe zu einer DB-Instance

Nachdem Sie das MariaDB-Audit-Plugin hinzugefügt haben, müssen Sie Ihre DB-Instance nicht neu starten. Sobald die Optionsgruppe aktiv ist, beginnt sofort die Überwachung.

Wichtig

Das Hinzufügen des MariaDB-Audit-Plugin zu einer DB-Instance kann einen Ausfall verursachen. Sie sollten das MariaDB-Audit-Plugin während eines Wartungsfensters hinzufügen oder wenn die Arbeitslast der Datenbank gering ist.

So fügen Sie das MariaDB-Audit-Plugin hinzu
  1. Bestimmen Sie die zu verwendende Optionsgruppe. Sie können eine Optionsgruppe erstellen oder eine bestehende Optionsgruppe verwenden. Wenn Sie eine bestehende Optionsgruppe verwenden möchten, fahren Sie mit dem nächsten Schritt fort. Erstellen Sie andernfalls eine benutzerdefinierte DB-Optionsgruppe. Wählen Sie mysql für Engine und 5.7 oder 8.0 für Major Engine Version (Engine-Hauptversion) aus. Weitere Informationen finden Sie unter Erstellen einer Optionsgruppe.

  2. Fügen Sie der Optionsgruppe die Option MARIADB_AUDIT_PLUGIN hinzu und konfigurieren Sie die Optionseinstellungen. Weitere Informationen über das Hinzufügen von Optionen finden Sie unter Hinzufügen einer Option zu einer Optionsgruppe. Weitere Informationen zu den einzelnen Einstellungen finden Sie unter Audit-Plugin-Optionseinstellungen.

  3. Wenden Sie die Optionsgruppe auf eine neue oder vorhandene DB-Instance an.

    • Einer neuen DB-Instance wird die Optionsgruppe beim Starten der Instance zugewiesen. Weitere Informationen finden Sie unter Erstellen einer Amazon RDS-DB-Instance.

    • Bei einer bestehenden DB-Instance weisen Sie die Optionsgruppe zu, indem Sie die Instance ändern und die neue Optionsgruppe anhängen. Weitere Informationen finden Sie unter Ändern einer Amazon RDS-DB-Instance.

Format des Prüfprotokolls

Protokolldateien werden als CSV-Dateien (durch Kommas getrennte Werte) im UTF-8-Format dargestellt.

Tipp

Protokolldateieinträge folgen keiner sequenziellen Reihenfolge. Um die Einträge zu sortieren, verwenden Sie den Wert des Zeitstempels. Sie müssen eventuell alle Protokolldateien überprüfen, um die aktuellen Ereignisse zu sehen. Für mehr Flexibilität beim Sortieren und Durchsuchen der Protokolldaten aktivieren Sie die Einstellung zum Hochladen der Prüfprotokolle auf CloudWatch und sehen Sie sie sich über die CloudWatch-Oberfläche an.

Um Prüfdaten mit mehreren Feldtypen und mit Ausgabe im JSON-Format anzuzeigen, können Sie auch die Funktion Datenbankaktivitäts-Streams verwenden. Weitere Informationen finden Sie unter Überwachung von Amazon RDS mithilfe von Datenbankaktivitätsstreams.

Die Prüfprotokolldateien beinhalten die folgenden durch Kommata getrennten Informationen in Zeilen in der festgelegten Reihenfolge:

Feld Beschreibung

timestamp

YYYYMMDD, gefolgt von HH:MI:SS (24-Stunden-Uhr) für das protokollierte Ereignis.

serverhost

Der Name der Instance, für die das Ereignis protokolliert wird.

username

Der verbundene Benutzername des Benutzers.

host

Der Host, von dem sich der Benutzer verbunden hat.

connectionid

Die Nummer der Verbindungs-ID für den protokollierte Vorgang.

queryid

Die Nummer der Abfragen-ID, die verwendet werden kann, um Ereignisse für relationale Tabellenereignisse und zugehörige Abfragen zu finden. Für TABLE-Ereignisse werden mehrere Zeilen hinzugefügt.

operation

Der dokumentierte Aktionstyp. Mögliche Werte sind: CONNECT, QUERY, READ, WRITE, CREATE, ALTER, RENAME und DROP.

Datenbank

Die aktive Datenbank, wie vom USE-Befehl eingestellt.

Objekt

Bei QUERY-Ereignissen gibt dieser Wert die Abfrage an, die die Datenbank ausgeführt hat. Bei TABLE-Ereignissen gibt er den Tabellennamen an.

retcode

Der zurückgegebene Code des protokollierten Vorgangs.

connection_type

Der Sicherheitsstatus der Verbindung zum Server. Die möglichen Werte sind:

  • 0 – nicht definiert

  • 1 – TCP/IP

  • 2 – Socket

  • 3 – Named-Pipe

  • 4 – SSL/TLS

  • 5 – gemeinsamer Arbeitsspeicher

Dieses Feld ist nur bei RDS-for-MySQL-Version 5.7.34 und höheren 5.7-Versionen sowie allen 8.0-Versionen enthalten.

Anzeigen und Herunterladen des MariaDB-Audit-Plugin-Protokolls

Nachdem Sie das MariaDB Audit-Plugin aktiviert haben, greifen Sie auf die Ergebnisse in den Protokolldateien genauso zu, wie auf andere textbasierte Protokolldateien. Die Auditprotokolldateien werden unter gespeicher /rdsdbdata/log/audit/. Weitere Informationen zum Anzeigen einer Protokolldatei in der Konsole finden Sie unter Anzeigen und Auflisten von Datenbank-Protokolldateien. Weitere Informationen zum Herunterladen der Protokolldatei finden Sie unter Herunterladen einer Datenbank-Protokolldatei.

Ändern der Einstellungen für das MariaDB-Audit-Plugin

Nachdem Sie das MariaDB-Audit-Plugin aktiviert haben, können Sie die Einstellungen ändern. Weitere Informationen über das Ändern von Optionseinstellungen finden Sie unter Ändern einer Optionseinstellung. Weitere Informationen zu den einzelnen Einstellungen finden Sie unter Audit-Plugin-Optionseinstellungen.

Entfernen des MariaDB-Audit-Plugins

Amazon RDS unterstützt das Deaktivieren der Protokollierung im MariaDB-Audit-Plugin nicht. Sie können das Plugin jedoch aus einer DB-Instance entfernen. Wenn Sie das MariaDB-Audit-Plugin entfernen, wird die DB-Instance automatisch erneut gestartet, um die Überwachung zu beenden.

Führen Sie einen der folgenden Schritte aus, um das MariaDB-Audit-Plugin aus einer DB-Instance zu entfernen:

  • Entfernen Sie das MariaDB-Audit-Plugin aus ihrer zugehörigen Optionsgruppe wie folgt: Diese Änderung wirkt sich auf alle DB-Instances aus, die die betreffende Optionsgruppe verwenden. Weitere Informationen finden Sie unter Entfernen einer Option aus einer Optionsgruppe

  • Ändern Sie die DB-Instance und legen sie eine andere Optionsgruppe fest, die im Plugin nicht enthalten ist. Diese Änderung betrifft eine einzelne DB-Instance. Sie können die (leere) Standardoptionsgruppe oder eine andere benutzerdefinierte Optionsgruppe angeben. Weitere Informationen finden Sie unter Ändern einer Amazon RDS-DB-Instance.