Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pengelogan audit aktivitas database di Azure Database for PostgreSQL tersedia melalui pgaudit ekstensi.
pgaudit menyediakan sesi terperinci dan/atau pengelogan audit objek.
Jika Anda ingin log tingkat sumber daya Azure untuk operasi seperti komputasi dan penskalaan penyimpanan, lihat Log Aktivitas Azure.
Pertimbangan penggunaan
Secara default, pgaudit pernyataan log dan pernyataan log reguler Anda dipancarkan menggunakan fasilitas pengelogan standar Postgres. Di Azure Database for PostgreSQL, Anda dapat mengonfigurasi semua log yang akan dikirim ke penyimpanan Log Azure Monitor untuk analisis nanti di Analitik Log. Jika Anda mengaktifkan pengelogan sumber daya Azure Monitor, log Anda secara otomatis dikirim (dalam format JSON) ke log Azure Storage, Event Hubs, dan/atau Azure Monitor, tergantung pilihan Anda.
Untuk mempelajari cara menyiapkan pengelogan ke log Azure Storage, Azure Event Hubs, atau Azure Monitor, kunjungi bagian log sumber daya dari artikel log server.
Menginstal ekstensi
Agar dapat menggunakan pgaudit ekstensi, Anda perlu mengizinkan daftar, memuat, dan membuat ekstensi di database tempat Anda berencana menggunakannya.
Mengonfigurasi pengaturan ekstensi
pgaudit memungkinkan Anda mengonfigurasi pengelogan audit sesi atau objek.
Pengelogan audit sesi memancarkan log terperinci dari pernyataan yang dijalankan.
Pengelogan audit objek diaudit ke relasi tertentu. Anda dapat memilih untuk menyiapkan satu atau kedua jenis pengelogan.
Setelah mengaktifkan pgaudit, Anda dapat mengonfigurasi parameternya untuk mulai pengelogan.
Untuk mengonfigurasi pgaudit, Anda dapat mengikuti instruksi berikut:
Menggunakan portal Microsoft Azure:
Pilih instans Azure Database anda untuk PostgreSQL.
Dari menu sumber daya, di bawah Pengaturan, pilih Parameter server.
Cari
pgauditparameter.Pilih parameter yang sesuai untuk diedit. Misalnya untuk mulai mencatat ,
INSERT,UPDATE,DELETETRUNCATE, danCOPYpernyataan, aturpgaudit.logkeWRITE.Pilih tombol Simpan untuk menyimpan perubahan.
Dokumentasipgaudit resmi memberikan definisi setiap parameter. Uji parameter terlebih dahulu dan konfirmasikan bahwa Anda mendapatkan perilaku yang diharapkan.
Misalnya, mengatur pgaudit.log_client ke ON tidak hanya menulis peristiwa audit ke log server, tetapi juga mengirimkannya ke proses klien (seperti psql). Pengaturan ini umumnya harus dinonaktifkan.
pgaudit.log_level hanya diaktifkan saat pgaudit.log_client aktif.
Di Azure Database for PostgreSQL, pgaudit.log tidak dapat diatur menggunakan pintasan tanda (minus) seperti yang - dijelaskan dalam pgaudit dokumentasi. Semua kelas pernyataan yang diperlukan (READ, WRITE, dll.) harus ditentukan secara individual.
Jika Anda mengatur log_statement parameter ke DDL atau ALL dan menjalankan CREATE ROLE/USER ... WITH PASSWORD ... ; perintah atau ALTER ROLE/USER ... WITH PASSWORD ... ;, maka PostgreSQL membuat entri di log PostgreSQL tempat kata sandi dicatat dalam teks yang jelas, yang dapat menyebabkan potensi risiko keamanan. Ini adalah perilaku yang diharapkan per desain mesin PostgreSQL.
Namun, Anda dapat menggunakan pgaudit ekstensi dan mengatur pgaudit.log ke DDL, yang tidak merekam pernyataan apa pun CREATE/ALTER ROLE di log server Postgres, tidak seperti saat Anda mengatur log_statement ke DDL. Jika Anda perlu mencatat pernyataan ini, Anda juga dapat mengatur pgaudit.logke ROLE, yang meredaksi kata sandi dari log saat pengelogan CREATE/ALTER ROLE.
Format log audit
Setiap entri audit dimulai dengan AUDIT:. Format sisa entri dirinci dalam dokumentasipgaudit.
Memulai Langkah Pertama
Untuk memulai dengan cepat, atur pgaudit.log ke ALL, dan buka log server Anda untuk meninjau output.
Menampilkan log audit
Cara Anda mengakses log tergantung pada titik akhir mana yang Anda pilih. Lihat artikel akun penyimpanan log untuk Azure Storage. Lihat artikel streaming log Azure untuk Azure Event Hubs.
Untuk Log Azure Monitor, log dikirim ke ruang kerja yang Anda pilih. Log Postgres menggunakan mode pengumpulan AzureDiagnostics , sehingga dapat dikueri dari tabel AzureDiagnostics. Pelajari selengkapnya tentang kueri dan pemberitahuan di gambaran umum kueri Log Azure Monitor .
Anda bisa menggunakan kueri ini untuk memulai. Anda dapat mengonfigurasi pemberitahuan berdasarkan kueri.
Cari semua pgaudit entri di log Postgres untuk server tertentu pada hari terakhir
AzureDiagnostics
| where Resource =~ "<flexible-server-name>"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
| where Message contains "AUDIT:"
Peningkatan Versi Utama dengan ekstensi pgaudit terinstal
Selama peningkatan versi utama, ekstensi pgaudit secara otomatis dihilangkan dan kemudian dibuat ulang setelah peningkatan selesai. Saat ekstensi dipulihkan, konfigurasi kustom apa pun yang diatur di pgaudit.log atau parameter terkait lainnya tidak dipertahankan secara otomatis.