Um das pgAudit-Loggingverhalten zu konfigurieren, legen Sie das Flag pgaudit.log
oder das Flag pgaudit.role
fest:
Legen Sie
pgaudit.log
fest, um das Sitzungsprotokollieren zu aktivieren und zu konfigurieren. Sie können dieses Flag für eine Instanz, eine Datenbank oder eine Rolle festlegen, um den Umfang der Vorgänge zu definieren, die von pgAudit protokolliert werden. Sie legen das Flag auf einen Wert fest, der den Typ der Vorgänge definiert, die von pgAudit protokolliert werden.Legen Sie
pgaudit.role
fest, um das Objekt-Logging zu aktivieren und zu konfigurieren. Dabei werden Anweisungen protokolliert, die sich auf bestimmte Beziehungen auswirken. Sie legen dieses Flag auf den Namen einer Rolle fest und gewähren dann Zugriff auf bestimmte Objekte, die protokolliert werden sollen. Der Kontoauszug enthältSELECT, INSERT, UPDATE, and DELETE
. pgAudit protokolliert alle Vorgänge, die der Kombination aus Zugriff und Objekt entsprechen, die von einem beliebigen Nutzer ausgeführt werden.
In den folgenden Abschnitten finden Sie Beispiele für die Optionen zum Festlegen des pgAudit-Logging-Verhaltens.
Informationen zu weiteren Funktionen der Erweiterung finden Sie in der pgAudit-Dokumentation.
Sitzungs-Audit-Logging für alle Datenbanken in einer Instanz konfigurieren
Wenn Sie die Prüfung für alle Datenbanken in einer Instanz konfigurieren möchten, legen Sie das Flag pgaudit.log
auf Instanzebene fest.
Beispiel:
- So aktivieren Sie die Prüfung für alle Vorgänge für alle Datenbanken in einer Instanz:
gcloud alloydb instances update my-instance \ --database-flags pgaudit.log=all[,flag2=value2...] \ --region=us-central1 \ --cluster=my-cluster \ --project=my-project
- So aktivieren Sie die Prüfung nur für Lese- und Schreibvorgänge für alle Datenbanken in einer Instanz:
gcloud alloydb instances update my-instance \ --database-flags=^:^pgaudit.log=read,write[:flag2=value2...] \ --region=us-central1 \ --cluster=my-cluster \ --project=my-project
Beachten Sie die Verwendung der Syntax für alternative Trennzeichen, mit der Sie Kommas in einem Flag-Wert verwenden können.
Informationen zum Konfigurieren von Datenbank-Flags finden Sie unter Datenbank-Flags konfigurieren.
Sitzungs-Audit-Logging für eine bestimmte Datenbank konfigurieren
Sie können die Prüfung für eine bestimmte Datenbank konfigurieren, indem Sie das Flag pgaudit.log
auf Datenbankebene festlegen.
So aktivieren Sie beispielsweise die Lese-/Schreibprüfung für eine Datenbank namens „finance“:
finance=> ALTER DATABASE finance SET pgaudit.log = 'read,write';
Sitzungs-Audit-Logging für einen einzelnen Nutzer konfigurieren
Sie können die Prüfung für einen bestimmten Nutzer aktivieren, indem Sie pgaudit.log
auf Rollenebene festlegen.
So legen Sie beispielsweise die Prüfung für alle Datenbankvorgänge fest, die vom Nutzer Alice ausgeführt werden:
finance=> ALTER ROLE alice SET pgaudit.log = 'all';
Audit-Logging für Objekte konfigurieren
Die Prüfung für eine Beziehung ist weniger umfassend als die Prüfung für eine bestimmte Datenbank. Beim Prüfen einer Beziehung wird dem Parameter pgaudit.role
eine spezielle Prüferrolle zugewiesen. Bei diesem Vorgang werden alle Objekte oder Beziehungen protokolliert, die dieser Rolle zugewiesen werden.
Beispiel:
- So konfigurieren Sie die Prüfung für alle
SELECT
-Abfragen in der Beziehung „salary“ in der Mitarbeiterdatenbank:employee=> CREATE ROLE auditor WITH NOLOGIN;
employee=> ALTER DATABASE employee SET pgaudit.role = 'auditor';
employee=> GRANT SELECT ON salary TO auditor;
Sie können auch nur einen Teil der Spalten für eine bestimmte Beziehung prüfen.
Beispiel:
- So konfigurieren Sie das Audit-Logging, das nur erfolgt, wenn auf die Spalten
income
undtax_status
über die Gehaltsbeziehung zugegriffen wird:employee=> GRANT SELECT(income, tax_status) ON salary TO auditor;