Verwenden von Advanced Auditing mit einem Amazon Aurora My SQL DB-Cluster - Amazon Aurora

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.

Verwenden von Advanced Auditing mit einem Amazon Aurora My SQL DB-Cluster

Sie können die leistungsstarke Advanced Auditing-Funktion in Amazon Aurora My verwendenSQL, um Datenbankaktivitäten zu überprüfen. Dafür müssen Sie die Sammlung der Prüfprotokolle aktivieren, indem Sie mehrere DB-Cluster-Parameter einstellen. Wenn erweitertes Auditing aktiviert ist, können Sie es verwenden, um eine beliebige Kombination von unterstützten Ereignissen zu protokollieren.

Sie können die Prüfprotokolle ansehen oder herunterladen, um die Prüfinformationen für jeweils eine DB-Instance zu überprüfen. Dazu können Sie die Verfahren in Überwachung von Aurora Aurora-Protokolldateien verwenden.

Tipp

Für einen Aurora-DB-Cluster, der mehrere DB-Instances enthält, ist es möglicherweise praktischer, die Prüfprotokolle für alle Instances im Cluster zu untersuchen. Dazu können Sie CloudWatch Logs verwenden. Sie können eine Einstellung auf Cluster-Ebene aktivieren, um die Aurora My SQL Audit-Log-Daten in einer Protokollgruppe in zu veröffentlichen CloudWatch. Anschließend können Sie die Audit-Logs über die CloudWatch Benutzeroberfläche anzeigen, filtern und durchsuchen. Weitere Informationen finden Sie unter Veröffentlichen von Amazon Aurora MySQL-Protokollen in Amazon CloudWatch Logs.

Aktivieren von erweitertem Auditing

Verwenden Sie die in diesem Abschnitt beschriebenen Parameter, um erweitertes Auditing für Ihr DB-Cluster zu aktivieren und zu konfigurieren.

Verwenden Sie den Parameter server_audit_logging zum Aktivieren oder Deaktivieren von Advanced Auditing.

Mit dem Parameter server_audit_events können Sie angeben, welche Ereignisse protokolliert werden.

Verwenden Sie die Parameter server_audit_incl_users und server_audit_excl_users, um anzugeben, wer überprüft werden soll. Standardmäßig werden alle Benutzer überprüft. Weitere Informationen darüber, wie diese Parameter funktionieren, wenn ein oder beide leer bleiben oder in beiden die gleichen Benutzernamen angegeben sind, finden Sie unter server_audit_incl_users und server_audit_excl_users.

Konfigurieren Sie das erweiterte Auditing, indem Sie diese Parameter in der vom DB-Cluster verwendeten Parametergruppe festlegen. Sie können das unter beschriebene Verfahren verwendenÄndern von Parametern in einer DB-Parametergruppe in Amazon Aurora, um DB-Cluster-Parameter mithilfe der AWS Management Console. Sie können die modify-db-cluster-parameter-Gruppe verwenden AWS CLI Befehl oder die M odifyDBCluster ParameterGroup RDS API Amazon-Operation, um DB-Cluster-Parameter programmgesteuert zu ändern.

Das Ändern dieser Parameter erfordert keinen Neustart des DB-Clusters, wenn die Parametergruppe Ihrem Cluster zugeordnet ist. Wenn Sie die Parametergruppe zum ersten Mal mit dem Cluster verknüpfen, ist ein Neustart des Clusters erforderlich.

server_audit_logging

Aktiviert oder deaktiviert erweitertes Auditing. Dieser Parameter ist standardmäßig voreingestelltOFF; setzen Sie ihn auf ON, um Advanced Auditing zu aktivieren.

In den Protokollen werden keine Prüfungsdaten angezeigt, es sei denn, Sie definieren auch eine oder mehrere Arten von Ereignissen mit dem Parameter server_audit_events.

Um sich zu vergewissern, dass Prüfungsdaten für eine DB-Instance protokolliert werden, sehen Sie nach, ob einige Protokolldateien für diese Instance Namen nach dem Schema audit/audit.log.other_identifying_information haben. Befolgen Sie zum Anzeigen der Namen der Protokolldateien die Anleitung unter Anzeigen und Auflisten von Datenbank-Protokolldateien.

server_audit_events

Beinhaltet die durch Kommas getrennte Liste von Ereignissen zum Protokollieren. Ereignisse müssen alle in Großbuchstaben angegeben werden und es sollte kein Leerraum zwischen den Listenelementen bestehen, zum Beispiel: CONNECT,QUERY_DDL. Dieser Parameter ist standardmäßig auf eine leere Zeichenfolge eingestellt.

Sie können eine beliebige Kombination der folgenden Ereignisse protokollieren:

  • CONNECT— Protokolliert sowohl erfolgreiche als auch fehlgeschlagene Verbindungen und Verbindungsabbrüche. Dieses Ereignis beinhaltet Benutzerinformationen.

  • QUERY— Protokolliert alle Abfragen im Klartext, einschließlich Abfragen, die aufgrund von Syntax- oder Berechtigungsfehlern fehlschlagen.

    Tipp

    Wenn dieser Ereignistyp aktiviert ist, enthalten die Prüfungsdaten Informationen über die kontinuierliche Überwachung und Zustandsprüfung, die Aurora automatisch durchführt. Wenn Sie nur an bestimmten Arten von Operationen interessiert sind, können Sie spezifischere Arten von Ereignissen verwenden. Sie können die CloudWatch Benutzeroberfläche auch verwenden, um in den Protokollen nach Ereignissen zu suchen, die sich auf bestimmte Datenbanken, Tabellen oder Benutzer beziehen.

  • QUERY_ DCL — Ähnlich dem QUERY Ereignis, gibt jedoch nur Abfragen (GRANTREVOKE, usw.DCL) in Data Control Language () zurück.

  • QUERY_ DDL — Ähnlich dem QUERY Ereignis, gibt jedoch nur Abfragen (CREATE, ALTER usw.DDL) in der Datendefinitionssprache () zurück.

  • QUERY_ DML — Ähnlich dem QUERY Ereignis, gibt jedoch nur Abfragen (INSERTUPDATE, usw. usw.DML) zur Datenmanipulation (SELECT) zurück.

  • TABLE— Protokolliert die Tabellen, die von der Ausführung der Abfrage betroffen waren.

Anmerkung

In Aurora gibt es keinen Filter, der bestimmte Abfragen aus den Audit-Logs ausschließt. Um SELECT Abfragen auszuschließen, müssen Sie alle DML Aussagen ausschließen.

Wenn ein bestimmter Benutzer diese internen SELECT Abfragen in den Audit-Logs meldet, können Sie diesen Benutzer ausschließen, indem Sie den DB-Cluster-Parameter server_audit_excl_users festlegen. Wenn dieser Benutzer jedoch auch in anderen Aktivitäten verwendet wird und nicht weggelassen werden kann, gibt es keine andere Möglichkeit, Abfragen auszuschließen. SELECT

server_audit_incl_users

Beinhaltet die durch Kommas getrennte Liste mit Benutzernamen für Benutzer, deren Aktivitäten überprüft werden. Zwischen den Listenelementen sollte kein Leerraum bestehen, zum Beispiel: user_3,user_4. Dieser Parameter ist standardmäßig auf eine leere Zeichenfolge eingestellt. Die maximale Länge beträgt 1024 Zeichen. Bestimmte Benutzernamen müssen mit entsprechenden Werten in der Spalte User der mysql.user-Tabelle übereinstimmen. Weitere Informationen zu Benutzernamen finden Sie unter Kontonutzernamen und Kennwörter in der SQL Dokumentation Meine.

Wenn server_audit_incl_users und server_audit_excl_users keine Werte beinhalten (standardmäßige Einstellung), werden alle Benutzer überprüft.

Wenn Sie Benutzer zu server_audit_incl_users hinzufügen und für server_audit_excl_users keinen Wert eingeben, werden nur diese Benutzer überprüft.

Wenn Sie Benutzer zu server_audit_excl_users hinzufügen und für server_audit_incl_users keinen Wert eingeben, werden alle Benutzer überprüft, die nicht in server_audit_excl_users aufgeführt sind.

Wenn Sie dieselben Benutzer zu server_audit_excl_users und server_audit_incl_users hinzufügen, werden diese Benutzer überprüft. Wenn derselbe Benutzer in beiden Einstellungen aufgeführt ist, erhält server_audit_incl_users die höhere Priorität.

Verbinden und trennen Sie Ereignisse, die nicht von dieser Variable betroffen sind. Sie werden immer protokolliert, wenn dies festgelegt wurde. Ein Benutzer wird protokolliert, selbst wenn dieser Benutzer auch im Parameter server_audit_excl_users angegeben ist, da server_audit_incl_users höhere Priorität hat.

server_audit_excl_users

Beinhaltet die durch Kommas getrennte Liste mit Benutzernamen für Benutzer, deren Aktivitäten nicht überprüft werden. Zwischen den Listenelementen sollte kein Leerraum bestehen, zum Beispiel: rdsadmin,user_1,user_2. Dieser Parameter ist standardmäßig auf eine leere Zeichenfolge eingestellt. Die maximale Länge beträgt 1024 Zeichen. Bestimmte Benutzernamen müssen mit entsprechenden Werten in der Spalte User der mysql.user-Tabelle übereinstimmen. Weitere Informationen zu Benutzernamen finden Sie unter Kontonutzernamen und Passwörter in der SQL Dokumentation „Meine“.

Wenn server_audit_incl_users und server_audit_excl_users keine Werte beinhalten (standardmäßige Einstellung), werden alle Benutzer überprüft.

Wenn Sie Benutzer zu server_audit_excl_users hinzufügen und server_audit_incl_users leer lassen, werden nur die unter server_audit_excl_users aufgeführten Benutzer nicht überprüft. Alle anderen werden jedoch überprüft.

Wenn Sie dieselben Benutzer zu server_audit_excl_users und server_audit_incl_users hinzufügen, werden diese Benutzer überprüft. Wenn derselbe Benutzer in beiden Einstellungen aufgeführt ist, erhält server_audit_incl_users die höhere Priorität.

Verbinden und trennen Sie Ereignisse, die nicht von dieser Variable betroffen sind. Sie werden immer protokolliert, wenn dies festgelegt wurde. Ein Benutzer wird protokolliert, wenn dieser Benutzer auch im Parameter server_audit_incl_users festgelegt ist, da diese Einstellung eine höhere Priorität hat als server_audit_excl_users.

Anzeigen von Audit-Protokollen

Sie können Audit-Protokolle mithilfe der Konsole anzeigen und herunterladen. Wählen Sie auf der Seite Datenbanken die DB-Instance aus, um ihre Details anzuzeigen, und scrollen Sie dann in den Abschnitt Protokolle. Die von der Advanced-Auditing-Funktion erstellten Prüfprotokolle haben Namen nach dem Schema audit/audit.log.other_identifying_information.

Um eine Protokolldatei herunterzuladen, wählen Sie die Datei im Bereich Protokolle aus. Wählen Sie dann Herunterladen.

Sie können auch eine Liste der Protokolldateien abrufen, indem Sie describe-db-log-files AWS CLI Befehl. Sie können den Inhalt einer Protokolldatei herunterladen, indem Sie den download-db-log-file-Teil verwenden AWS CLI Befehl. Weitere Informationen erhalten Sie unter Anzeigen und Auflisten von Datenbank-Protokolldateien und Herunterladen einer Datenbank-Protokolldatei.

Details in Prüfprotokollen

Protokolldateien werden als kommagetrennte Variablendateien (CSV) im Format UTF -8 dargestellt. Abfragen werden auch in einfache Anführungszeichen (') gesetzt.

Das Audit-Log wird separat im lokalen Speicher jeder Aurora My SQL DB-Instance gespeichert. Jede Instance verteilt Schreibvorgänge auf vier Protokolldateien gleichzeitig. Die maximale Größe einer Protokolldatei beträgt 100 MB. Wenn dieses nicht konfigurierbare Limit erreicht ist, rotiert Aurora die Datei und generiert eine neue Datei.

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. Um mehr Flexibilität beim Sortieren und Durchsuchen der Protokolldaten zu erhalten, aktivieren Sie die Einstellung, um die Auditprotokolle hochzuladen CloudWatch und sie über die CloudWatch Benutzeroberfläche anzuzeigen.

Um Auditdaten mit mehr Feldtypen und mit JSON formatierter Ausgabe anzuzeigen, können Sie auch die Funktion Database Activity Streams verwenden. Weitere Informationen finden Sie unter Überwachung von Amazon Aurora mit Datenbank-Aktivitätsstreams.

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

Feld Beschreibung

timestamp

Der präzise Unix-Zeitstempel für das protokollierte Ereignis mit Mikrosekunden.

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.