Melihat log audit yang dihasilkan oleh pgAudit untuk AlloyDB untuk PostgreSQL

Halaman ini menjelaskan cara melihat log audit yang dihasilkan oleh pgAudit, yang membantu Anda mengonfigurasi log yang sering kali diperlukan untuk mematuhi sertifikasi pemerintah, keuangan, dan ISO. Halaman ini juga menjelaskan format log untuk pgAudit. Untuk informasi selengkapnya tentang pgAudit, lihat Tentang pgAudit.

Sebelum memulai

Untuk melihat log audit, Anda harus melakukan hal berikut:

Lihat log audit

Log pgAudit yang dihasilkan untuk instance tertentu dikirim ke Cloud Logging sebagai log audit Akses Data.

Anda dapat melihat log pgAudit yang dihasilkan menggunakan aplikasi Logs Explorer.

Untuk melihat log pgAudit, pilih filter log cloudaudit.googleapis.com/data_access di aplikasi Logs Explorer.

Untuk melihat semua log pgAudit untuk project AlloyDB, jalankan kueri berikut menggunakan antarmuka Filter Lanjutan:

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"

Format log untuk pgAudit

Setiap entri log pgAudit di log audit Akses Data berisi kolom yang mewakili informasi yang dikumpulkan untuk kueri. Untuk mengetahui informasi selengkapnya tentang kolom entri log ini, lihat dokumentasi pgAudit.

Contoh entri log 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"
    }
  }
}

Berikut adalah deskripsi kolom di log audit Akses Data:

  • auditClass. Jenis pernyataan yang dicatat dalam log. Nilai yang mungkin adalah READ, WRITE, FUNCTION, ROLE, DDL, MISC, dan MISC_SET.
  • auditType. SESSION atau OBJECT.
  • chunkCount. Chunking dapat terjadi pada data yang tersedia di kolom parameter dan statement. Kolom chunkCount menunjukkan jumlah total potongan. Lihat juga deskripsi kolom chunkIndex.
  • chunkIndex. Menentukan nomor indeks potongan data di kolom parameter dan statement dalam penampung request saat ini. Angka awalnya adalah 1. Lihat juga deskripsi kolom chunkCount.
  • perintah. Misalnya, ALTER TABLE atau SELECT.
  • parameter. Kolom chunkIndex dapat menentukan konten kolom ini; lihat deskripsi kolom chunkIndex. Jika nilai untuk `pgaudit.log_parameter` ditetapkan, kolom parameter dapat berisi parameter pernyataan sebagai data CSV kutipan. Jika tidak ada parameter, kolom ini berisi [none]. Jika tidak, kolom ini berisi [not logged].
  • pernyataan. Pernyataan yang dijalankan di backend. Kolom chunkIndex dapat menentukan konten kolom statement; lihat deskripsi kolom chunkIndex.
  • statementId. ID pernyataan unik untuk sesi ini. Setiap ID pernyataan mewakili panggilan backend. ID pernyataan bersifat berurutan, meskipun beberapa pernyataan tidak dicatat dalam log.
  • substatementId. ID berurutan untuk setiap sub-pernyataan dalam pernyataan utama.

Langkah selanjutnya