Mengaudit objek basis data - Layanan Basis Data Relasional Amazon

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

Seperti yang ditunjukkan dalam contoh ini, baris "LOGAUDIT::SESSION" memberikan informasi tentang tabel dan skemanya, di antara detail lainnya.

Menyiapkan audit objek
  1. Gunakan psql untuk terhubung ke . RDSuntuk contoh Postgre SQL DB.

    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 yang berikut AWS CLI perintah 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 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 \ --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 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 pgAuditdi GitHub.