本页介绍了如何查看 pgAudit 生成的审核日志;该扩展程序可帮助您配置许多日志,遵守政府、财务和 ISO 认证通常需要这些日志。本页面还介绍了 pgAudit 的日志格式。如需详细了解 pgAudit,请参阅 pgAudit 简介。
准备工作
如需查看审核日志,您必须执行以下操作:
为您的 AlloyDB 项目启用数据访问审核日志。
确保您具有 Private Logs Viewer (
roles/logging.privateLogViewer
) 角色。
查看审核日志
针对给定实例生成的 pgAudit 日志将作为数据访问审核日志发送到 Cloud Logging。
您可以使用 Logs Explorer 应用查看生成的 pgAudit 日志。
如需查看 pgAudit 日志,请在日志浏览器应用中选择 cloudaudit.googleapis.com/data_access
日志过滤器。
如需查看 AlloyDB 项目的所有 pgAudit 日志,请使用高级过滤条件界面执行以下查询:
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"
pgAudit 日志格式
数据访问审核日志中的每个 pgAudit 日志条目都包含一些字段,代表针对查询收集的信息。如需详细了解这些日志条目字段,请参阅 pgAudit 文档。
pgAudit 日志条目示例:
{ 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" } } }
下面介绍了数据访问审核日志中的字段:
- auditClass。所记录的语句的类型。可能的值包括 READ、WRITE、FUNCTION、ROLE、DDL、MISC 和 MISC_SET。
- auditType。SESSION 或 OBJECT。
- chunkCount。对
parameter
和statement
字段中提供的数据可能发生分块。chunkCount
字段表示区块的总数。另请参阅chunkIndex
字段的说明。 - chunkIndex。在当前
request
容器的parameter
和statement
字段中指定数据块的索引编号。初始编号为1
。 另请参阅chunkCount
字段的说明。 - command。例如,ALTER TABLE 或 SELECT。
- 参数。
chunkIndex
字段可以确定此字段的内容;请参阅chunkIndex
字段的说明。 如果设置了 `pgaudit.log_parameter` 的值,则parameter
字段可以包含语句参数作为 CSV 引用数据。如果没有参数,则此字段包含[none]
。否则,此字段包含[not logged]
。 - statement。在后端执行的语句。
chunkIndex
字段可以确定statement
字段的内容;请参阅chunkIndex
字段的说明。 - statementId。此会话的唯一语句 ID。每个语句 ID 代表一个后端调用。即使未记录某些语句,语句 ID 也是有序的。
- substatementId。主语句中的每个子语句的顺序 ID。