Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengaudit objek basis data
Dengan pgAudit pengaturan pada Anda RDSuntuk instans Postgre SQL DB dan dikonfigurasi untuk kebutuhan Anda, informasi yang lebih rinci ditangkap dalam log Postgre. SQL Misalnya, sementara konfigurasi SQL logging Postgre default mengidentifikasi tanggal dan waktu perubahan dibuat dalam tabel database, dengan pgAudit ekstensi entri log dapat mencakup skema, pengguna yang membuat perubahan, dan detail lainnya tergantung pada bagaimana parameter ekstensi dikonfigurasi. Anda dapat menyiapkan audit untuk melacak perubahan dengan cara berikut.
Untuk setiap sesi, oleh pengguna. Untuk tingkat sesi, Anda dapat menangkap teks perintah yang sepenuhnya memenuhi syarat.
Untuk setiap objek, oleh pengguna dan basis data.
Kemampuan audit objek diaktifkan saat Anda membuat peran rds_pgaudit
pada sistem, lalu menambahkan peran ini ke parameter pgaudit.role
dalam grup parameter kustom Anda. Secara default, parameter pgaudit.role
tidak ditetapkan dan satu-satunya nilai yang diizinkan adalah rds_pgaudit
. Langkah-langkah berikut mengasumsikan bahwa pgaudit
telah diinisialisasi dan bahwa Anda telah membuat ekstensi pgaudit
dengan mengikuti prosedur di Menyiapkan pgAudit ekstensi.
![Gambar file SQL log Postgre setelah pengaturan. pgAudit](images/pgaudit-log-example.png)
Seperti yang ditunjukkan dalam contoh ini, baris "LOGAUDIT::SESSION" memberikan informasi tentang tabel dan skemanya, di antara detail lainnya.
Menyiapkan audit objek
Gunakan
psql
untuk terhubung ke . RDSuntuk contoh Postgre SQL DB.psql --host=
your-instance-name
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres
postgres --password --dbname=labdb
-
Buat peran basis data yang dinamai
rds_pgaudit
menggunakan perintah berikut.labdb=>
CREATE ROLE rds_pgaudit;
CREATE ROLE
labdb=>
Tutup sesi
psql
.labdb=>
\q
Dalam beberapa langkah berikutnya, gunakan AWS CLI untuk memodifikasi parameter log audit di grup parameter kustom Anda.
-
Gunakan yang berikut AWS CLI perintah untuk mengatur
pgaudit.role
parameter kerds_pgaudit
. Secara default, parameter ini kosong, danrds_pgaudit
merupakan satu-satunya nilai yang diizinkan.aws rds modify-db-parameter-group \ --db-parameter-group-name
custom-param-group-name
\ --parameters "ParameterName=pgaudit.role,ParameterValue=rds_pgaudit,ApplyMethod=pending-reboot" \ --regionaws-region
-
Gunakan yang berikut AWS CLI perintah untuk me-reboot untuk instance Postgre SQL DB sehingga perubahan Anda pada parameter berlaku.
aws rds reboot-db-instance \ --db-instance-identifier
your-instance
\ --regionaws-region
Jalankan perintah berikut untuk mengonfirmasi bahwa
pgaudit.role
diatur kerds_pgaudit
.SHOW pgaudit.role;
pgaudit.role ------------------ rds_pgaudit
Untuk menguji pgAudit logging, Anda dapat menjalankan beberapa contoh perintah yang ingin Anda audit. Misalnya, Anda dapat menjalankan perintah berikut.
CREATE TABLE t1 (id int); GRANT SELECT ON t1 TO rds_pgaudit; SELECT * FROM t1;
id ---- (0 rows)
Log basis data harus berisi entri yang serupa dengan entri berikut.
...
2017-06-12 19:09:49 UTC:...:rds_test@postgres:[11701]:LOG: AUDIT:
OBJECT,1,1,READ,SELECT,TABLE,public.t1,select * from t1;
...
Untuk informasi tentang menampilkan log, lihat Memantau file RDS Amazon.
Untuk mempelajari lebih lanjut tentang pgAudit ekstensi, lihat pgAudit