Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengecualikan pengguna atau basis data dari pencatatan log audit
Seperti dibahas dalam SQL, SQL log Postgre mengkonsumsi ruang penyimpanan. Menggunakan pgAudit ekstensi menambah volume data yang dikumpulkan di log Anda ke berbagai tingkat, tergantung pada perubahan yang Anda lacak. Anda mungkin tidak perlu mengaudit setiap pengguna atau database di cluster DB Anda. RDSuntuk contoh Postgre SQL DB.
Untuk meminimalkan dampak pada penyimpanan dan untuk menghindari pengambilan catatan audit yang tidak perlu, Anda dapat mengecualikan pengguna dan basis data agar tidak diaudit. Anda juga dapat mengubah pencatatan log dalam sesi tertentu. Contoh berikut menunjukkan caranya kepada Anda.
catatan
Pengaturan parameter pada tingkat sesi lebih diutamakan daripada pengaturan dalam Postgre DB. RDS SQL Jika Anda tidak ingin pengguna basis data melewati pengaturan konfigurasi pencatatan audit, pastikan untuk mengubah izin mereka.
Misalkan Anda RDSuntuk instans Postgre SQL DB dikonfigurasi untuk mengaudit tingkat aktivitas yang sama untuk semua pengguna dan database. Anda kemudian memutuskan bahwa Anda tidak ingin mengaudit pengguna myuser
. Anda dapat menonaktifkan audit myuser
dengan SQL perintah berikut.
ALTER USER myuser SET pgaudit.log TO 'NONE';
Kemudian, Anda dapat menggunakan kueri berikut untuk memeriksa kolom user_specific_settings
untuk pgaudit.log
guna mengonfirmasi bahwa parameter ditetapkan ke NONE
.
SELECT usename AS user_name, useconfig AS user_specific_settings FROM pg_user WHERE usename = 'myuser';
Anda akan melihat output seperti berikut ini.
user_name | user_specific_settings
-----------+------------------------
myuser | {pgaudit.log=NONE}
(1 row)
Anda dapat menonaktifkan pencatatan log untuk pengguna tertentu di tengah-tengah sesi mereka menggunakan basis data dengan perintah berikut.
ALTER USER myuser IN DATABASE mydatabase SET pgaudit.log TO 'none';
Gunakan kueri berikut untuk memeriksa kolom pengaturan pgaudit.log untuk kombinasi pengguna dan basis data tertentu.
SELECT usename AS "user_name", datname AS "database_name", pg_catalog.array_to_string(setconfig, E'\n') AS "settings" FROM pg_catalog.pg_db_role_setting s LEFT JOIN pg_catalog.pg_database d ON d.oid = setdatabase LEFT JOIN pg_catalog.pg_user r ON r.usesysid = setrole WHERE usename = 'myuser' AND datname = 'mydatabase' ORDER BY 1, 2;
Anda akan melihat output yang mirip dengan berikut ini.
user_name | database_name | settings
-----------+---------------+------------------
myuser | mydatabase | pgaudit.log=none
(1 row)
Setelah menonaktifkan audit myuser
, Anda memutuskan bahwa Anda tidak ingin melacak perubahan ke mydatabase
. Anda menonaktifkan audit untuk basis data spesifik tersebut menggunakan perintah berikut.
ALTER DATABASE mydatabase SET pgaudit.log to 'NONE';
Kemudian, gunakan kueri berikut untuk memeriksa kolom database_specific_settings untuk mengonfirmasi bahwa pgaudit.log disetel ke. NONE
SELECT a.datname AS database_name, b.setconfig AS database_specific_settings FROM pg_database a FULL JOIN pg_db_role_setting b ON a.oid = b.setdatabase WHERE a.datname = 'mydatabase';
Anda akan melihat output seperti berikut ini.
database_name | database_specific_settings
---------------+----------------------------
mydatabase | {pgaudit.log=NONE}
(1 row)
Untuk mengembalikan pengaturan ke pengaturan default untuk myuser, gunakan perintah berikut:
ALTER USER myuser RESET pgaudit.log;
Untuk mengembalikan pengaturan ke pengaturan default untuk basis data, gunakan perintah berikut ini.
ALTER DATABASE mydatabase RESET pgaudit.log;
Untuk mengatur ulang pengguna dan basis data ke pengaturan default, gunakan perintah berikut.
ALTER USER myuser IN DATABASE mydatabase RESET pgaudit.log;
Anda juga dapat menangkap peristiwa tertentu ke log dengan menyetel pgaudit.log
ke salah satu nilai lain yang diizinkan untuk parameter pgaudit.log
. Untuk informasi selengkapnya, lihat Daftar pengaturan yang diizinkan untuk parameter pgaudit.log.
ALTER USER myuser SET pgaudit.log TO 'read'; ALTER DATABASE mydatabase SET pgaudit.log TO 'function'; ALTER USER myuser IN DATABASE mydatabase SET pgaudit.log TO 'read,function'