Untuk mengonfigurasi perilaku logging pgAudit, Anda menetapkan flag pgaudit.log
atau flag pgaudit.role
:
Tetapkan
pgaudit.log
untuk mengaktifkan dan mengonfigurasi logging sesi. Anda dapat menyetel flag ini pada instance, database, atau peran untuk menentukan cakupan operasi yang dicatat oleh pgAudit. Anda menetapkan flag ke nilai yang menentukan jenis operasi yang dicatat oleh pgAudit.Tetapkan
pgaudit.role
untuk mengaktifkan dan mengonfigurasi logging objek, yang mencatat pernyataan yang memengaruhi hubungan tertentu. Anda menetapkan tanda ini ke nama peran, lalu memberikan akses pernyataan ke objek tertentu yang ingin dicatat. Akses pernyataan mencakupSELECT, INSERT, UPDATE, and DELETE
. pgAudit mencatat semua operasi yang cocok dengan kombinasi akses dan objek yang dijalankan oleh pengguna mana pun.
Bagian berikut memberikan contoh yang menunjukkan opsi untuk menyetel perilaku logging pgAudit.
Untuk kemampuan tambahan ekstensi, tinjau dokumentasi pgAudit.
Mengonfigurasi logging audit sesi untuk semua database dalam instance
Untuk mengonfigurasi audit untuk semua database dalam satu instance, tetapkan flag
pgaudit.log
di tingkat instance.
Contoh:
- Untuk mengaktifkan audit untuk semua operasi pada semua database dalam sebuah instance:
gcloud alloydb instances update my-instance \ --database-flags pgaudit.log=all[,flag2=value2...] \ --region=us-central1 \ --cluster=my-cluster \ --project=my-project
- Untuk mengaktifkan pengauditan hanya untuk operasi baca dan tulis pada semua database dalam
instance:
gcloud alloydb instances update my-instance \ --database-flags=^:^pgaudit.log=read,write[:flag2=value2...] \ --region=us-central1 \ --cluster=my-cluster \ --project=my-project
Perhatikan penggunaan sintaksis pembatas alternatif, yang memungkinkan Anda menggunakan karakter koma dalam nilai flag.
Untuk mengetahui informasi tentang cara mengonfigurasi flag database, lihat Mengonfigurasi flag database.
Mengonfigurasi logging audit sesi untuk database tertentu
Anda dapat mengonfigurasi pengauditan untuk database tertentu dengan menetapkan tanda pgaudit.log
di tingkat database.
Misalnya, untuk mengaktifkan pengauditan baca/tulis untuk database, finance:
finance=> ALTER DATABASE finance SET pgaudit.log = 'read,write';
Mengonfigurasi logging audit sesi untuk satu pengguna
Anda dapat mengaktifkan pengauditan untuk pengguna tertentu dengan menetapkan pgaudit.log
pada tingkat per peran.
Misalnya, untuk menetapkan pengauditan untuk semua operasi database yang dijalankan oleh pengguna, Alice:
finance=> ALTER ROLE alice SET pgaudit.log = 'all';
Mengonfigurasi logging audit objek
Mengaudit suatu relasi lebih sempit daripada mengaudit basis data tertentu. Saat
Anda mengaudit sebuah relasi, sistem akan menetapkan peran auditor unik ke
parameter pgaudit.role
. Operasi ini mencatat setiap objek atau relasi
yang diberikan ke peran ini.
Contoh:
- Untuk mengonfigurasi audit untuk semua kueri
SELECT
pada relasi salary dalam database karyawan:employee=> CREATE ROLE auditor WITH NOLOGIN;
employee=> ALTER DATABASE employee SET pgaudit.role = 'auditor';
employee=> GRANT SELECT ON salary TO auditor;
Anda juga dapat mengaudit subset kolom untuk relasi tertentu.
Contoh:
- Untuk mengonfigurasi logging audit yang hanya terjadi saat kolom
income
dantax_status
diakses dari relasi gaji:employee=> GRANT SELECT(income, tax_status) ON salary TO auditor;