Auf dieser Seite wird beschrieben, wie Sie die von pgAudit generierten Prüfprotokolle aufrufen. So können Sie Protokolle konfigurieren, die häufig für die Einhaltung von behördlichen, finanziellen und ISO-Zertifizierungen erforderlich sind. Auf dieser Seite wird auch das Logformat für pgAudit beschrieben. Weitere Informationen zu pgAudit finden Sie unter pgAudit.
Hinweis
So rufen Sie Audit-Logs auf:
Aktivieren Sie Audit-Logs zum Datenzugriff für Ihr AlloyDB-Projekt.
Sie benötigen die Rolle Betrachter privater Logs (
roles/logging.privateLogViewer
).
Audit-Logs ansehen
Die generierten pgAudit-Logs für eine bestimmte Instanz werden als Audit-Logs zum Datenzugriff an Cloud Logging gesendet.
Sie können die generierten pgAudit-Logs mit der Anwendung Log-Explorer aufrufen.
Wenn Sie die pgAudit-Logs aufrufen möchten, wählen Sie in der Anwendung Log-Explorer den Logfilter cloudaudit.googleapis.com/data_access
aus.
Wenn Sie alle pgAudit-Logs für ein AlloyDB-Projekt aufrufen möchten, führen Sie die folgende Abfrage über die Oberfläche Erweiterte Filter aus:
resource.type="alloydb.googleapis.com/Instance" logName="projects/your-project-name/logs/cloudaudit.googleapis.com%2Fdata_access" protoPayload.request.@type="type.googleapis.com/google.cloud.alloydb.audit.v1.PgAuditEntry"
Logformat für pgAudit
Jeder pgAudit-Logeintrag in den Audit-Logs zum Datenzugriff enthält Felder, die die für eine Abfrage erfassten Informationen enthalten. Weitere Informationen zu diesen Logeintragsfeldern finden Sie in der pgAudit-Dokumentation.
Beispiel für einen pgAudit-Logeintrag:
{ protoPayload: { @type: "type.googleapis.com/google.cloud.audit.AuditLog" methodName: "alloydb.instances.query" request: { @type: "type.googleapis.com/google.cloud.alloydb.audit.v1.PgAuditEntry" auditClass: "READ" auditType: "SESSION" chunkCount: "1" chunkIndex: "1" command: "SELECT" database: "finance" databaseSessionId: 2209692 parameter: "[not logged]" statement: "SELECT * FROM revenue" statementId: 2 substatementId: 1 user: "alice" } } }
Im Folgenden werden die Felder in den Audit-Logs zum Datenzugriff beschrieben:
- auditClass Der Typ der protokollierten Anweisung. Mögliche Werte sind READ, WRITE, FUNCTION, ROLE, DDL, MISC und MISC_SET.
- auditType SESSION oder OBJECT.
- chunkCount Die Blockaufteilung kann mit den Daten in den Feldern
parameter
undstatement
erfolgen. Das FeldchunkCount
gibt die Gesamtzahl der Blöcke an. Sehen Sie sich auch die Beschreibung des FeldschunkIndex
an. - chunkIndex: Gibt die Indexnummer der Datenblöcke in den Feldern
parameter
undstatement
im aktuellenrequest
-Container an. Die erste Zahl ist1
. Sehen Sie sich auch die Beschreibung des FeldschunkCount
an. - Befehl Beispiel: ALTER TABLE oder SELECT.
- Parameter Das Feld
chunkIndex
kann den Inhalt dieses Felds bestimmen. Siehe die Beschreibung des FeldschunkIndex
. Wenn der Wert für „pgaudit.log_parameter“ festgelegt ist, kann das Feldparameter
die Anweisungsparameter als CSV-Daten in Anführungszeichen enthalten. Wenn keine Parameter vorhanden sind, enthält dieses Feld[none]
. Andernfalls enthält dieses Feld[not logged]
. - statement. Anweisung, die auf dem Back-End ausgeführt wird.
Das Feld
chunkIndex
kann den Inhalt des Feldsstatement
bestimmen. Siehe die Beschreibung des FeldschunkIndex
. - statementId Eindeutige Anweisungs-ID für diese Sitzung. Jede Anweisungs-ID stellt einen Back-End-Aufruf dar. Anweisungs-IDs sind sequenziell, selbst wenn einige Anweisungen nicht protokolliert werden.
- substatementId Sequenzielle ID für jede Unteranweisung in der Hauptanweisung.