本页面介绍了如何查看 pgAudit 生成的审核日志;pgAudit 可帮助您配置为符合政府、财务和 ISO 认证通常需要的日志。本页面还介绍了 pgAudit 的日志格式。如需详细了解 pgAudit,请参阅 pgAudit 简介。
准备工作
如需查看审核日志,您必须执行以下操作:
为 AlloyDB 项目启用数据访问审核日志。
确保您具有 Private Logs Viewer (
roles/logging.privateLogViewer) 角色。
查看审核日志
为给定实例生成的 pgAudit 日志会作为数据访问审核日志发送到 Cloud Logging。
您可以使用 Logs Explorer 应用查看生成的 pgAudit 日志。
如需查看 pgAudit 日志,请在 Logs Explorer 应用中选择 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。
- parameter。
chunkIndex字段可以确定此字段的内容;请参阅chunkIndex字段的说明。如果设置了“pgaudit.log_parameter”的值,则parameter字段可以包含语句参数作为引用的 CSV 数据。如果没有参数,则此字段包含[none]。否则,此字段包含[not logged]。 - statement。在后端执行的语句。
chunkIndex字段可以确定statement字段的内容;请参阅chunkIndex字段的说明。 - statementId。此会话的唯一语句 ID。每个语句 ID 表示一次后端调用。即使未记录某些语句,语句 ID 也是有序的。
- substatementId。主语句中的每个子语句的序列 ID。