View a markdown version of this page

Mengaudit objek basis data - Amazon Relational Database Service

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 yang telah disiapkan di instans DB RDS for PostgreSQL Anda dan dikonfigurasi untuk kebutuhan Anda, informasi lebih detail akan ditangkap dalam log PostgreSQL. Misalnya, sementara konfigurasi pencatatan log PostgreSQL default mengidentifikasi tanggal dan waktu perubahan dibuat dalam tabel basis data, dengan ekstensi pgAudit, entri log dapat menyertakan skema, pengguna yang membuat perubahan, dan detail lainnya tergantung pada cara 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 ekstensi pgAudit.

Gambar file log PostgreSQL setelah mengatur pgAudit.

Sebagaimana ditunjukkan dalam contoh ini, baris "LOG: AUDIT: SESSION" memberikan informasi tabel dan skemanya, serta detail lainnya.

Menyiapkan audit objek
  1. Gunakan psql untuk terhubung ke instans DB RDS for PostgreSQL.

    psql --host=your-instance-name.aws-region.rds.amazonaws.com --port=5432 --username=postgrespostgres --password --dbname=labdb
  2. Buat peran basis data yang dinamai rds_pgaudit menggunakan perintah berikut.

    labdb=> CREATE ROLE rds_pgaudit; CREATE ROLE labdb=>
  3. Tutup sesi psql.

    labdb=> \q

    Dalam beberapa langkah berikutnya, gunakan AWS CLI untuk memodifikasi parameter log audit di grup parameter kustom Anda.

  4. Gunakan AWS CLI perintah berikut untuk mengatur pgaudit.role parameter kerds_pgaudit. Secara default, parameter ini kosong, dan rds_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" \ --region aws-region
  5. Gunakan AWS CLI perintah berikut untuk me-reboot sehingga perubahan Anda pada parameter berlaku.

    aws rds reboot-db-instance \ --db-instance-identifier your-instance \ --region aws-region
  6. Jalankan perintah berikut untuk mengonfirmasi bahwa pgaudit.role diatur ke rds_pgaudit.

    SHOW pgaudit.role; pgaudit.role ------------------ rds_pgaudit

Untuk menguji pencatatan log pgAudit, Anda dapat menjalankan beberapa contoh perintah yang ingin diaudit. 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 log Amazon RDS.

Untuk mempelajari lebih lanjut tentang ekstensi PGAudit, lihat PGAudit aktif. GitHub