Einrichten der pgAudit-Erweiterung - 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.

Einrichten der pgAudit-Erweiterung

Wenn Sie die pgAudit-Erweiterung auf einrichten möchten, fügen Sie zunächst pgAudit zu den gemeinsam genutzten Bibliotheken in der , benutzerdefinierten DB-Cluster-Parametergruppe für Ihren DB-Cluster von Aurora PostgreSQL hinzu. Weitere Informationen über das Erstellen einer benutzerdefinierten DB-Cluster-Parametergruppe finden Sie unter Parametergruppen für Amazon Aurora. Als Nächstes installieren Sie die pgAudit-Erweiterung. Abschließend geben Sie die Datenbanken und Objekte an, die Sie überprüfen möchten. Die Schritte in diesem Abschnitt veranschaulichen die Vorgehensweise. Sie können die AWS Management Console oder die AWS CLI verwenden.

Sie müssen über Berechtigungen als rds_superuser-Rolle verfügen, um alle diese Aufgaben ausführen zu können.

Bei den folgenden Schritten wird davon ausgegangen, dass Ihr DB-Cluster von Aurora PostgreSQL einer benutzerdefinierten DB-Cluster -Parametergruppe zugeordnet ist.

So richten Sie die pgAudit-Erweiterung ein
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Ihre Writer-Instance des DB-Clusters von Aurora PostgreSQL aus.

  3. Öffnen Sie die Registerkarte Configuration (Konfiguration) für Ihre Writer-Instance des DB-Clusters von Aurora PostgreSQL. Suchen Sie in den Instance-Details den Link Parameter group (Parametergruppe).

  4. Wählen Sie den Link aus, um die benutzerdefinierten Parameter zu öffnen, die Ihrem DB-Cluster von Aurora PostgreSQL zugeordnet sind.

  5. Geben Sie in das Suchfeld Parameters (Parameter) shared_pre ein, um den shared_preload_libraries-Parameter zu finden.

  6. Wählen Sie Edit parameters (Parameter bearbeiten) aus, um auf die Eigenschaftswerte zuzugreifen.

  7. Fügen Sie pgaudit der Liste im Feld Values (Werte) hinzu. Verwenden Sie ein Komma, um Elemente in der Werteliste zu trennen.

    Bild des shared_preload_libaries-Parameters mit hinzugefügter pgAudit-Erweiterung.
  8. Starten Sie die Writer-Instance Ihres DB-Clusters von Aurora PostgreSQL neu, damit Ihre Änderung des shared_preload_libraries-Parameters wirksam wird.

  9. Wenn die Instance verfügbar ist, stellen Sie sicher, dass pgAudit initialisiert wurde. Stellen Sie über psql eine Verbindung mit der Writer-Instance Ihres DB-Clusters von Aurora PostgreSQL her und führen Sie den folgenden Befehl aus.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pgaudit (1 row)
  10. Wenn pgAudit initialisiert ist, können Sie jetzt die Erweiterung erstellen. Sie müssen die Erweiterung nach dem Initialisieren der Bibliothek erstellen, da die pgaudit-Erweiterung Ereignisauslöser für die Überwachung von Data Definition Language (DDL)-Anweisungen installiert.

    CREATE EXTENSION pgaudit;
  11. Schließen Sie die psql-Sitzung.

    labdb=> \q
  12. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  13. Suchen Sie den pgaudit.log-Parameter in der Liste und legen Sie den entsprechenden Wert für Ihren Anwendungsfall fest. Wenn Sie beispielsweise den pgaudit.log-Parameter auf write festlegen, wie in der folgenden Abbildung gezeigt, werden Einfügungen, Aktualisierungen, Löschungen und einige andere Typänderungen im Protokoll erfasst.

    Bild des pgaudit.log-Parameters mit Einstellung.

    Sie können auch einen der folgenden Werte für den pgaudit.log-Parameter auswählen.

    • „none“: Dies ist der Standardwert. Es werden keine Datenbankänderungen protokolliert.

    • „all“: Es wird alles protokolliert (Lesen, Schreiben, Funktion, Rolle, DDL, Verschiedenes).

    • „ddl“: Protokolliert alle Data Definition Language (DDL)-Anweisungen, die nicht in der ROLE-Klasse enthalten sind.

    • „function“: Protokolliert Funktionsaufrufe und DO-Blöcke.

    • „misc“: Protokolliert verschiedene Befehle wie DISCARD, FETCH, CHECKPOINT, VACUUM und SET.

    • „read“: Protokolliert SELECT und COPY, wenn die Quelle eine Beziehung (z. B. eine Tabelle) oder eine Abfrage ist.

    • „role“: Protokolliert Anweisungen in Bezug auf Rollen und Berechtigungen wie GRANT, REVOKE, CREATE ROLE, ALTER ROLE und DROP ROLE.

    • „write“: Protokolliert INSERT, UPDATE, DELETE, TRUNCATE und COPY, wenn das Ziel eine Beziehung (Tabelle) ist.

  14. Wählen Sie Änderungen speichern aus.

  15. Öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  16. Wählen Sie Ihre Writer-Instance des DB-Clusters von Aurora PostgreSQL aus der Datenbankliste aus.

So richten Sie pgAudit ein

Wenn Sie pgAudit mit der AWS CLI einrichten möchten, rufen Sie die Operation modify-db-parameter-group auf, um die Audit-Protokollparameter in Ihrer benutzerdefinierten Parametergruppe zu ändern, wie in den folgenden Schritten gezeigt.

  1. Verwenden Sie den folgenden AWS CLI-Befehl, um dem shared_preload_libraries-Parameter pgaudit hinzuzufügen.

    aws rds modify-db-parameter-group \ --db-parameter-group-name custom-param-group-name \ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pgaudit,ApplyMethod=pending-reboot" \ --region aws-region
  2. Verwenden Sie den folgendenAWS CLI Befehl, um die Writer-Instance Ihres DB-Clusters von Aurora PostgreSQL neu zu starten, sodass die pgaudit-Bibliothek initialisiert wird.

    aws rds reboot-db-instance \ --db-instance-identifier writer-instance \ --region aws-region
  3. Wenn die Instance verfügbar ist, können Sie überprüfen, ob pgaudit initialisiert wurde. Stellen Sie über psql eine Verbindung mit der Writer-Instance Ihres DB-Clusters von Aurora PostgreSQL her und führen Sie den folgenden Befehl aus.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pgaudit (1 row)

    Wenn pgAudit initialisiert ist, können Sie jetzt die Erweiterung erstellen.

    CREATE EXTENSION pgaudit;
  4. Schließen Sie die psql-Sitzung, damit Sie die AWS CLI verwenden können.

    labdb=> \q
  5. Verwenden Sie den folgenden AWS CLI-Befehl, um die Anweisungsklassen anzugeben, die von der Sitzungsüberwachungsprotokollierung erfasst werden sollen. Im Beispiel wird der pgaudit.log-Parameter auf write festgelegt, wodurch Einfügungen, Aktualisierungen und Löschungen im Protokoll erfasst werden.

    aws rds modify-db-parameter-group \ --db-parameter-group-name custom-param-group-name \ --parameters "ParameterName=pgaudit.log,ParameterValue=write,ApplyMethod=pending-reboot" \ --region aws-region

    Sie können auch einen der folgenden Werte für den pgaudit.log-Parameter auswählen.

    • „none“: Dies ist der Standardwert. Es werden keine Datenbankänderungen protokolliert.

    • „all“: Es wird alles protokolliert (Lesen, Schreiben, Funktion, Rolle, DDL, Verschiedenes).

    • „ddl“: Protokolliert alle Data Definition Language (DDL)-Anweisungen, die nicht in der ROLE-Klasse enthalten sind.

    • „function“: Protokolliert Funktionsaufrufe und DO-Blöcke.

    • „misc“: Protokolliert verschiedene Befehle wie DISCARD, FETCH, CHECKPOINT, VACUUM und SET.

    • „read“: Protokolliert SELECT und COPY, wenn die Quelle eine Beziehung (z. B. eine Tabelle) oder eine Abfrage ist.

    • „role“: Protokolliert Anweisungen in Bezug auf Rollen und Berechtigungen wie GRANT, REVOKE, CREATE ROLE, ALTER ROLE und DROP ROLE.

    • „write“: Protokolliert INSERT, UPDATE, DELETE, TRUNCATE und COPY, wenn das Ziel eine Beziehung (Tabelle) ist.

    Starten Sie die Writer-Instance Ihres DB-Clusters von Aurora PostgreSQL mit dem folgenden AWS CLI-Befehl neu.

    aws rds reboot-db-instance \ --db-instance-identifier writer-instance \ --region aws-region