查看 pgAudit 為 PostgreSQL 適用的 AlloyDB 產生的稽核記錄

本頁說明如何查看 pgAudit 產生的稽核記錄,協助您設定記錄,以符合政府、金融和 ISO 認證的常見規定。本頁面也說明 pgAudit 的記錄格式。如要進一步瞭解 pgAudit,請參閱「關於 pgAudit」一文。

事前準備

如要查看稽核記錄,請完成下列步驟:

查看稽核記錄

系統會將特定執行個體產生的 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。parameterstatement 欄位中提供的資料可能會分塊。chunkCount 欄位表示區塊總數。另請參閱 chunkIndex 欄位的說明。
  • chunkIndex。指定目前 request 容器中 parameterstatement 欄位的資料區塊索引編號。初始號碼為 1。 另請參閱 chunkCount 欄位的說明。
  • 指令。例如 ALTER TABLE 或 SELECT。
  • 參數。chunkIndex 欄位可決定這個欄位的內容;請參閱 chunkIndex 欄位的說明。如果已設定 `pgaudit.log_parameter` 的值,parameter 欄位可以包含以 CSV 資料形式加上引號的陳述式參數。如果沒有參數,這個欄位會包含 [none]。 否則,這個欄位會包含 [not logged]
  • 聲明。在後端執行的陳述式。 chunkIndex 欄位可決定 statement 欄位的內容;請參閱 chunkIndex 欄位的說明。
  • statementId。這個工作階段的專屬陳述式 ID。每個陳述式 ID 代表一次後端呼叫。即使系統未記錄某些陳述式,陳述式 ID 仍會依序編號。
  • substatementId。主要陳述式中每個子陳述式的序號。

後續步驟