IBM Cloud Docs
Protokollierung mit pgAudit

Protokollierung mit pgAudit

Die PostgreSQL Audit Extension (pgAudit) bietet die Aktivierung der Sitzungsprotokollierung für Ihre IBM Cloud® Databases for PostgreSQL-Bereitstellungen.

Sitzungsprotokollierung

Standardmäßig ist die Sitzungsprotokollierung inaktiviert. Sie können Parameter für die Sitzungsprotokollierung aktivieren, die alle Aktivitäten für Gruppen von Audit-Ereignisarten protokollieren. Die Sitzungsprotokollierung ist für den gesamten DB-Cluster aktiviert und ist für den jeweiligen Ereignistyp entweder on oder off.

Ereignistypen

Die Sitzungsprotokollierung wird für jeden Ereignistyp einzeln konfiguriert. Die unterstützten Ereignistypen in allen Versionen sind:

  • Funktion
  • ROLLE
  • DDL
  • MISC
  • MISC_SET (dieser zusätzliche Typ wird nur in PostgreSQL 12 oder höher unterstützt)

Für weitere Informationen siehe pgaudit.

pgAudit-Sitzungsprotokollierung aktivieren

Zum Aktivieren der pgAudit-Sitzungsprotokollierung stellen Sie eine Verbindung als Benutzer mit Administratorberechtigung her und rufen die Funktion set_pgaudit_session_logging mit den angegebenen Ereignisparametern auf. Die Sitzungsprotokollierung wird direkt in der Datenbank aktiviert und es wird kein API- oder CLI-Zugriff bereitgestellt.

Zum Aktivieren von DDL und ROLE rufen Sie beispielsweise Folgendes auf:

SELECT public.set_pgaudit_session_logging('{ddl, role}');

Alle nachfolgenden Aufrufe ersetzen die vorhandene Konfiguration; sie sind nicht additiv. Zum Beispiel würde ein nachfolgender Aufruf an SELECT public.set_pgaudit_session_logging('{misc}'); nur misc protokollieren, aber ddl und role inaktivieren.

pgAudit inaktivieren

So inaktivieren Sie die Prüfprotokollierung: Rufen Sie dieselbe Funktion mit der Angabe none auf. Beispiel:

SELECT public.set_pgaudit_session_logging('{none}');

Das Ändern von Prüfstufen erfolgt sofort, wenn die Funktion aufgerufen wird, ohne dass die Datenbankaktivität unterbrochen wird.

Prüfprotokolle

Aufgezeichnete Ereignisse werden in IBM® Cloud Logs Routing mit dem folgenden Format angezeigt:

LOG: AUDIT: SESSION,1,1,DDL,CREATE TABLE,,,create table f2 (id int);,<not logged>

Das Format ist hier dokumentiert.

Wenn Sie die aktuelle Protokollierungsstufe anzeigen möchten, können Sie den folgenden Befehl ausführen:

show pgaudit.log;