Pencatatan audit Db2 - 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.

Pencatatan audit Db2

Dengan pencatatan audit Db2, Amazon RDS mencatat aktivitas database, termasuk pengguna yang masuk ke database dan kueri yang dijalankan terhadap database. RDS mengunggah log audit yang telah selesai ke bucket Amazon S3 Anda, menggunakan peran (IAM) AWS Identity and Access Management yang Anda berikan.

Menyiapkan pencatatan audit Db2

Untuk mengaktifkan pencatatan audit untuk database Amazon RDS untuk Db2, Anda mengaktifkan DB2_AUDIT opsi pada instans RDS untuk Db2 DB. Kemudian, konfigurasikan kebijakan audit untuk mengaktifkan fitur untuk database tertentu. Untuk mengaktifkan opsi pada RDS untuk instans Db2 DB, Anda mengonfigurasi pengaturan opsi untuk opsi tersebut. DB2_AUDIT Anda melakukannya dengan memberikan Amazon Resource Names (ARNs) untuk bucket Amazon S3 dan peran IAM dengan izin untuk mengakses bucket Anda.

Untuk mengatur pencatatan audit Db2 untuk database RDS untuk Db2, selesaikan langkah-langkah berikut.

Langkah 1: Buat bucket Amazon S3.

Jika Anda belum melakukannya, buat bucket Amazon S3 tempat Amazon RDS dapat mengunggah RDS Anda untuk file log audit database Db2. Pembatasan berikut berlaku untuk bucket S3 yang Anda gunakan sebagai target untuk file audit:

  • Itu harus sama Wilayah AWS dengan RDS Anda untuk instans Db2 DB.

  • Ini tidak boleh dibuka untuk umum.

  • Pemilik bucket juga harus menjadi pemilik peran IAM.

Untuk mempelajari cara membuat bucket Amazon S3, lihat Membuat bucket di Panduan Pengguna Amazon S3.

Setelah mengaktifkan pencatatan audit, Amazon RDS secara otomatis mengirimkan log dari instans DB Anda ke lokasi berikut:

  • Log tingkat instans DB - bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/

  • Log tingkat basis data - bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/db_name/

Catat Nama Sumber Daya Amazon (ARN) untuk bucket Anda. Informasi ini diperlukan untuk menyelesaikan langkah-langkah selanjutnya.

Langkah 2: Buat kebijakan IAM

Buat kebijakan IAM dengan izin yang diperlukan untuk mentransfer file log audit dari instans DB ke bucket Amazon S3. Langkah ini mengasumsikan bahwa Anda memiliki bucket S3.

Sebelum Anda membuat kebijakan, kumpulkan informasi berikut:

  • ARN untuk ember Anda.

  • ARN untuk kunci AWS Key Management Service (AWS KMS) Anda, jika bucket Anda menggunakan SSE-KMS enkripsi.

Buat kebijakan IAM yang mencakup izin-izin berikut:

"s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload", "s3:ListAllMyBuckets"
catatan

Amazon RDS memerlukan s3:ListAllMyBuckets tindakan secara internal untuk memverifikasi bahwa yang sama Akun AWS memiliki bucket S3 dan RDS untuk instans Db2 DB.

Jika bucket Anda menggunakan SSE-KMS enkripsi, sertakan juga izin berikut untuk peran dan AWS KMS kunci IAM Anda.

Sertakan izin berikut ke kebijakan untuk peran IAM Anda.

"kms:GenerateDataKey", "kms:Decrypt"

Sertakan izin berikut ke kebijakan kunci untuk AWS KMS kunci Anda. Ganti 111122223333 dengan nomor akun Anda dan AROA123456789EXAMPLE dengan nama peran IAM Anda.

{ "Sid": "Allow RDS role to use the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:sts::111122223333:assumed-role/AROA123456789EXAMPLE/RDS-Db2Audit", "arn:aws:iam::111122223333:role/AROA123456789EXAMPLE" ] }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }

Anda dapat membuat kebijakan IAM dengan menggunakan AWS Management Console atau AWS Command Line Interface (AWS CLI).

Untuk membuat kebijakan IAM untuk mengizinkan Amazon RDS mengakses bucket Amazon S3
  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Kebijakan.

  3. Pilih Buat kebijakan, lalu pilih JSON.

  4. Di Tambahkan tindakan, filter berdasarkan S3. Tambahkan akses ListBucket, GetBucketAcl, dan GetBucketLocation.

  5. Untuk Menambahkan sumber daya, pilih Tambah. Untuk jenis Resource, pilih bucket, lalu masukkan nama bucket Anda. Kemudian, pilih Tambahkan sumber daya.

  6. Pilih Tambahkan pernyataan baru.

  7. Di Tambahkan tindakan, filter berdasarkan S3. Tambahkan akses PutObject, ListMultipartUploadParts, dan AbortMultipartUpload.

  8. Untuk Menambahkan sumber daya, pilih Tambah. Untuk jenis Sumber Daya, pilih objek, dan masukkanyour bucket name/*. Kemudian, pilih Tambahkan sumber daya.

  9. Pilih Tambahkan pernyataan baru.

  10. Di Tambahkan tindakan, filter berdasarkan S3. Tambahkan akses ListAllMyBuckets.

  11. Untuk Menambahkan sumber daya, pilih Tambah. Untuk jenis Sumber Daya, pilih Semua Sumber Daya. Kemudian, pilih Tambahkan sumber daya.

  12. Jika Anda menggunakan kunci KMS Anda sendiri untuk mengenkripsi data:

    1. Pilih Tambahkan pernyataan baru.

    2. Di Tambahkan tindakan, filter berdasarkan KMS. Tambahkan akses GenerateDataKeydan Dekripsi.

    3. Untuk Menambahkan sumber daya, pilih Tambah. Untuk jenis Sumber Daya, pilih Semua Sumber Daya. Kemudian, pilih Tambahkan sumber daya.

  13. Pilih Berikutnya.

  14. Untuk Nama kebijakan, masukkan nama untuk kebijakan ini.

  15. (Opsional) Untuk Deskripsi, masukkan deskripsi untuk kebijakan ini.

  16. Pilih Buat kebijakan.

Untuk membuat kebijakan IAM guna mengizinkan Amazon RDS mengakses bucket Amazon S3 Anda
  1. Jalankan perintah create-policy. Dalam contoh berikut, ganti iam_policy_name dan amzn-s3-demo-bucket dengan nama untuk kebijakan IAM Anda dan nama bucket Amazon S3 target Anda.

    Untuk Linux, macOS, atau Unix:

    aws iam create-policy \ --policy-name iam_policy_name \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Sid": "Statement2", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Sid": "Statement3", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": [ "*" ] }, { "Sid": "Statement4", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "*" ] } ] }'

    Untuk Windows:

    aws iam create-policy ^ --policy-name iam_policy_name ^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Sid": "Statement2", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Sid": "Statement3", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": [ "*" ] }, { "Sid": "Statement4", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "*" ] } ] }'
  2. Setelah kebijakan dibuat, catat ARN kebijakan. Anda memerlukan ARN untuk Langkah 3: Buat peran IAM dan lampirkan kebijakan IAM Anda.

Lihat informasi tentang pembuatan kebijakan IAM di Membuat kebijakan IAM dalam Panduan Pengguna IAM.

Langkah 3: Buat peran IAM dan lampirkan kebijakan IAM Anda

Langkah ini mengasumsikan bahwa Anda membuat kebijakan IAM di. Langkah 2: Buat kebijakan IAM Pada langkah ini, Anda membuat peran IAM untuk RDS Anda untuk instans Db2 DB dan kemudian melampirkan kebijakan IAM Anda ke peran tersebut.

Anda dapat membuat peran IAM untuk instans DB Anda dengan menggunakan konsol atau. AWS CLI

Untuk membuat peran IAM dan melampirkan kebijakan IAM padanya
  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Peran.

  3. Pilih Buat peran.

  4. Untuk jenis entitas tepercaya, pilih Layanan AWS.

  5. Untuk Service atau use case, pilih RDS, lalu pilih RDS — Add Role to Database.

  6. Pilih Berikutnya.

  7. Untuk Kebijakan izin, cari dan pilih nama kebijakan IAM yang Anda buat.

  8. Pilih Berikutnya.

  9. Untuk Nama peran, masukkan nama peran.

  10. (Opsional) Untuk Deskripsi, masukkan deskripsi untuk peran baru ini.

  11. Pilih Buat peran.

Untuk membuat peran IAM dan melampirkan kebijakan IAM padanya
  1. Jalankan perintah create-role. Dalam contoh berikut, ganti iam_role_name dengan nama untuk peran IAM Anda.

    Untuk Linux, macOS, atau Unix:

    aws iam create-role \ --role-name iam_role_name \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'

    Untuk Windows:

    aws iam create-role ^ --role-name iam_role_name ^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
  2. Setelah peran dibuat, perhatikan ARN dari peran ini. Anda membutuhkan ARN ini untuk langkah selanjutnya,. Langkah 4: Konfigurasikan grup opsi untuk pencatatan audit Db2

  3. Jalankan perintah attach-role-policy. Dalam contoh berikut, ganti iam_policy_arn dengan ARN dari kebijakan IAM yang Anda buat. Langkah 2: Buat kebijakan IAM Ganti iam_role_name dengan nama peran IAM yang baru saja Anda buat.

    Untuk Linux, macOS, atau Unix:

    aws iam attach-role-policy \ --policy-arn iam_policy_arn \ --role-name iam_role_name

    Untuk Windows:

    aws iam attach-role-policy ^ --policy-arn iam_policy_arn ^ --role-name iam_role_name

Lihat informasi yang lebih lengkap di Membuat peran untuk melimpahkan izin ke pengguna IAM dalam Panduan Pengguna IAM.

Langkah 4: Konfigurasikan grup opsi untuk pencatatan audit Db2

Proses untuk menambahkan opsi pencatatan audit Db2 ke RDS untuk instans Db2 DB adalah sebagai berikut:

  1. Buat grup opsi baru, atau salin atau ubah grup opsi yang ada.

  2. Tambahkan dan konfigurasikan semua opsi yang diperlukan.

  3. Kaitkan grup opsi tersebut dengan instans DB.

Setelah Anda menambahkan opsi pencatatan audit Db2, Anda tidak perlu memulai ulang instans DB Anda. Begitu grup opsi aktif, Anda dapat membuat audit dan menyimpan log audit di bucket S3.

Untuk menambah dan mengonfigurasi pencatatan audit Db2 pada grup opsi instans DB
  1. Pilih salah satu cara berikut:

    • Gunakan grup opsi yang sudah ada.

    • Buat grup opsi DB kustom, dan gunakan grup opsi itu. Untuk informasi selengkapnya, lihat Membuat grup opsi.

  2. Tambahkan opsi DB2_AUDIT ke grup opsi, dan konfigurasikan pengaturan opsi. Untuk informasi selengkapnya tentang cara menambahkan opsi, lihat Menambahkan opsi ke grup opsi.

    • Untuk IAM_ROLE_ARN, masukkan ARN dari peran IAM yang Anda buat. Langkah 3: Buat peran IAM dan lampirkan kebijakan IAM Anda

    • Untuk S3_BUCKET_ARN, masukkan ARN bucket S3 yang akan digunakan untuk log audit Db2 Anda. Bucket harus berada di Wilayah yang sama dengan RDS Anda untuk instans Db2 DB. Kebijakan yang terkait dengan peran IAM yang Anda masukkan harus mengizinkan operasi yang diperlukan pada sumber daya ini.

  3. Terapkan grup opsi ke instans DB baru atau yang sudah ada. Pilih salah satu cara berikut:

    • Jika Anda membuat instans DB baru, terapkan grup opsi ketika Anda meluncurkan instans.

    • Di instans DB yang sudah ada, terapkan grup opsi dengan mengubah instans lalu memberikan grup opsi baru. Untuk informasi selengkapnya, lihat Memodifikasi instans Amazon RDS DB.

Langkah 5: Konfigurasikan kebijakan audit

Untuk mengonfigurasi kebijakan audit untuk database RDS untuk Db2 Anda, sambungkan ke rdsadmin database menggunakan nama pengguna utama dan kata sandi utama untuk RDS Anda untuk instans Db2 DB. Kemudian, panggil prosedur rdsadmin.configure_db_audit tersimpan dengan nama DB database Anda dan nilai parameter yang berlaku.

Contoh berikut menghubungkan ke database dan mengkonfigurasi kebijakan audit untuk testdb dengan kategori AUDIT, CHECKING, OBJMAINT, SECMAINT, SYSADMIN, dan VALIDATE. Nilai status BOTH mencatat keberhasilan dan kegagalan, dan ERROR TYPE secara NORMAL default. Untuk informasi selengkapnya tentang cara menggunakan prosedur tersimpan ini, lihatrdsadmin.configure_db_audit.

db2 "connect to rdsadmin user master_user using master_password" db2 "call rdsadmin.configure_db_audit('testdb', 'ALL', 'BOTH', ?)"

Langkah 6: Periksa konfigurasi audit

Untuk memastikan bahwa kebijakan audit Anda diatur dengan benar, periksa status konfigurasi audit Anda.

Untuk memeriksa konfigurasi, sambungkan ke rdsadmin database menggunakan nama pengguna utama dan kata sandi master untuk RDS Anda untuk instans Db2 DB. Kemudian, jalankan pernyataan SQL berikut dengan nama DB database Anda. Dalam contoh berikut, nama DB adalahtestdb.

db2 "select task_id, task_type, database_name, lifecycle, varchar(bson_to_json(task_input_params), 500) as task_params, cast(task_output as varchar(500)) as task_output from table(rdsadmin.get_task_status(null,'testdb','CONFIGURE_DB_AUDIT'))" Sample Output TASK_ID TASK_TYPE DATABASE_NAME LIFECYCLE -------------------- -------------------- --------------- ------------- 2 CONFIGURE_DB_AUDIT DB2DB SUCCESS ... continued ... TASK_PARAMS -------------------------------------------------------- { "AUDIT_CATEGORY" : "ALL", "CATEGORY_SETTING" : "BOTH" } ... continued ... TASK_OUTPUT --------------------------------------------------- 2023-12-22T20:27:03.029Z Task execution has started. 2023-12-22T20:27:04.285Z Task execution has completed successfully.

Mengelola pencatatan audit Db2

Setelah menyiapkan pencatatan audit Db2, Anda dapat mengubah kebijakan audit untuk database tertentu, atau menonaktifkan pencatatan audit di tingkat database atau untuk seluruh instans DB. Anda juga dapat mengubah bucket Amazon S3 tempat file log Anda diunggah.

Memodifikasi kebijakan audit Db2

Untuk memodifikasi kebijakan audit untuk RDS tertentu untuk database Db2, jalankan prosedur yang rdsadmin.configure_db_audit disimpan. Dengan prosedur tersimpan ini, Anda dapat mengubah kategori, pengaturan kategori, dan konfigurasi jenis kesalahan kebijakan audit. Untuk informasi selengkapnya, lihat rdsadmin.configure_db_audit.

Memodifikasi lokasi file log Anda

Untuk mengubah bucket Amazon S3 tempat file log Anda diunggah, lakukan salah satu hal berikut:

  • Ubah grup opsi saat ini yang dilampirkan ke RDS Anda untuk instans Db2 DB — Perbarui S3_BUCKET_ARN pengaturan DB2_AUDIT opsi untuk menunjuk ke bucket baru. Juga, pastikan untuk memperbarui kebijakan IAM yang dilampirkan ke peran IAM yang ditentukan oleh IAM_ROLE_ARN pengaturan di grup opsi terlampir. Kebijakan IAM ini harus menyediakan bucket baru Anda dengan izin akses yang diperlukan. Untuk informasi tentang izin yang diperlukan dalam kebijakan IAM, lihat. Buat kebijakan IAM

  • Lampirkan RDS Anda untuk instans Db2 DB ke grup opsi yang berbeda - Ubah instans DB Anda untuk mengubah grup opsi yang dilampirkan padanya. Pastikan bahwa grup opsi baru dikonfigurasi dengan benar S3_BUCKET_ARN dan IAM_ROLE_ARN pengaturan. Untuk informasi tentang cara mengkonfigurasi pengaturan ini untuk DB2_AUDIT opsi, lihatKonfigurasikan grup opsi.

Saat Anda memodifikasi grup opsi, pastikan Anda segera menerapkan perubahan. Untuk informasi selengkapnya, lihat Memodifikasi instans Amazon RDS DB.

Menonaktifkan pencatatan audit Db2

Untuk menonaktifkan pencatatan audit Db2, lakukan salah satu hal berikut:

  • Nonaktifkan pencatatan audit untuk instans RDS untuk Db2 DB - Ubah instans DB Anda dan hapus grup opsi dengan DB2_AUDIT opsi darinya. Untuk informasi selengkapnya, lihat Memodifikasi instans Amazon RDS DB.

  • Nonaktifkan pencatatan audit untuk database tertentu — Hentikan pencatatan audit dan hapus kebijakan audit rdsadmin.disable_db_audit dengan memanggil nama DB database Anda. Untuk informasi selengkapnya, lihat rdsadmin.disable_db_audit.

    db2 "call rdsadmin.disable_db_audit( 'db_name', ?)"

Melihat log audit

Setelah mengaktifkan pencatatan audit Db2, tunggu setidaknya satu jam sebelum melihat data audit di bucket Amazon S3 Anda. Amazon RDS secara otomatis mengirimkan log dari RDS Anda untuk instans Db2 DB ke lokasi berikut:

  • Log tingkat instans DB - bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/

  • Log tingkat basis data - bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/db_name/

Contoh tangkapan layar berikut dari konsol Amazon S3 menunjukkan daftar folder untuk RDS untuk file log tingkat instans Db2 DB.

Konsol Amazon S3 dengan tab Objek dipilih, menampilkan daftar folder untuk RDS untuk file log tingkat instans Db2 DB.

Contoh screenshot berikut dari konsol Amazon S3 menunjukkan file log tingkat database untuk RDS untuk instans Db2 DB.

Konsol Amazon S3 dengan tab Objects dipilih, menampilkan file log tingkat database untuk instans RDS untuk Db2 DB.

Pemecahan masalah pencatatan audit Db2

Gunakan informasi berikut untuk memecahkan masalah umum dengan pencatatan audit Db2.

Tidak dapat mengonfigurasi kebijakan audit

Jika memanggil prosedur yang disimpan rdsadmin.configure_db_audit mengembalikan kesalahan, bisa jadi grup opsi dengan DB2_AUDIT opsi tidak terkait dengan RDS untuk instans Db2 DB. Ubah instance DB untuk menambahkan grup opsi, lalu coba panggil prosedur tersimpan lagi. Untuk informasi selengkapnya, lihat Memodifikasi instans Amazon RDS DB.

Tidak ada data di bucket Amazon S3

Jika data pencatatan hilang dari bucket Amazon S3, periksa hal berikut:

  • Bucket Amazon S3 berada di Wilayah yang sama dengan RDS Anda untuk instans Db2 DB.

  • Peran yang Anda tentukan dalam pengaturan IAM_ROLE_ARN opsi dikonfigurasi dengan izin yang diperlukan untuk mengunggah log ke bucket Amazon S3 Anda. Untuk informasi selengkapnya, lihat Buat kebijakan IAM.

  • Pengaturan ARNs untuk IAM_ROLE_ARN dan S3_BUCKET_ARN opsi sudah benar dalam grup opsi yang terkait dengan RDS Anda untuk instans Db2 DB. Untuk informasi selengkapnya, lihat Konfigurasikan grup opsi.

Anda dapat memeriksa status tugas konfigurasi logging audit Anda dengan menghubungkan ke database dan menjalankan pernyataan SQL. Untuk informasi selengkapnya, lihat Periksa konfigurasi audit.

Anda juga dapat memeriksa acara untuk mengetahui lebih lanjut tentang mengapa log mungkin hilang. Untuk informasi tentang cara melihat acara, lihatMelihat log, peristiwa, dan streaming di konsol Amazon RDS.