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

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

事前準備

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

查看稽核記錄

系統會將特定執行個體產生的 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 欄位的說明。
  • 指令。例如 ALTER TABLE 或 SELECT。
  • 參數。chunkIndex 欄位可決定這個欄位的內容;請參閱 chunkIndex 欄位的說明。如果已設定 `pgaudit.log_parameter` 的值,parameter 欄位可以包含以引號括住的 CSV 資料形式的陳述式參數。如果沒有參數,這個欄位會包含 [none]。 否則,這個欄位會包含 [not logged]。
  • 聲明。在後端執行的陳述式。 chunkIndex 欄位可決定 statement 欄位的內容;請參閱 chunkIndex 欄位的說明。
  • statementId。這個工作階段的專屬陳述式 ID。每個陳述式 ID 代表一次後端呼叫。即使部分對帳單未記錄,對帳單 ID 仍會依序編號。
  • substatementId。主要陳述式中每個子陳述式的序號。

監控稽核記錄管道狀態

AlloyDB 會先非同步處理使用者產生的稽核記錄,再安全地轉送至 Cloud Logging。您可以使用 Cloud Monitoring,監控執行個體和節點的稽核記錄管道狀態、處理量和待處理項目。

您可以在 Metrics Explorer 中,查看受監控資源的下列指標:alloydb.googleapis.com/InstanceNode

指標名稱 顯示名稱 指標種類 / 值類型 單位 說明
alloydb.googleapis.com/node/database/logging/audit/backlog_bytes_count 稽核記錄積壓大小 GAUGE / INT64 位元組 (By) 節點上待處理的稽核記錄積壓工作量大小 (以位元組為單位),這些記錄將上傳至 Cloud Logging。如果值持續偏高或增加,表示稽核記錄轉送管道出現回壓。
alloydb.googleapis.com/node/database/logging/audit/processed_bytes_count 已處理的稽核記錄位元組 DELTA / INT64 位元組 (By) 從節點成功處理並轉送至 Cloud Logging 的稽核記錄資料位元組總數。
alloydb.googleapis.com/node/database/logging/audit/processed_entries_count 已處理的稽核記錄項目 DELTA / INT64 數量 (1) 從節點成功處理並轉送至 Cloud Logging 的稽核記錄項目總數。

詳情請參閱「系統洞察指標參考資料」。

後續步驟