本頁說明如何查看 pgAudit 產生的稽核記錄,協助您設定記錄,以符合政府、金融和 ISO 認證的常見規定。本頁面也說明 pgAudit 的記錄格式。如要進一步瞭解 pgAudit,請參閱「關於 pgAudit」一文。
事前準備
如要查看稽核記錄,請完成下列步驟:
為 AlloyDB 專案啟用資料存取稽核記錄。
請確認您擁有私密記錄檢視者 (
roles/logging.privateLogViewer
) 角色。
查看稽核記錄
系統會將特定執行個體產生的 pgAudit 記錄,以資料存取稽核記錄的形式傳送至 Cloud Logging。
您可以使用記錄檔探索工具應用程式查看產生的 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
欄位的說明。 - 指令。例如 ALTER TABLE 或 SELECT。
- 參數。
chunkIndex
欄位可決定這個欄位的內容;請參閱chunkIndex
欄位的說明。如果已設定 `pgaudit.log_parameter` 的值,parameter
欄位可以包含以 CSV 資料形式加上引號的陳述式參數。如果沒有參數,這個欄位會包含[none]
。 否則,這個欄位會包含[not logged]
。 - 聲明。在後端執行的陳述式。
chunkIndex
欄位可決定statement
欄位的內容;請參閱chunkIndex
欄位的說明。 - statementId。這個工作階段的專屬陳述式 ID。每個陳述式 ID 代表一次後端呼叫。即使系統未記錄某些陳述式,陳述式 ID 仍會依序編號。
- substatementId。主要陳述式中每個子陳述式的序號。