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. RDSmengunggah log audit yang telah selesai ke bucket Amazon S3 Anda, menggunakan AWS Identity and Access Management peran IAM () yang Anda berikan.

Menyiapkan pencatatan audit Db2

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

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

Langkah 1: Buat bucket Amazon S3.

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

  • Itu harus Wilayah AWS sama dengan instans Db2 DB AndaRDS.

  • Bucket S3 tidak boleh dibuka untuk umum.

  • Bucket S3 tidak dapat menggunakan Kunci Objek S3.

  • Pemilik ember juga harus menjadi pemilik IAM peran.

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 Amazon Resource Name (ARN) untuk bucket Anda. Informasi ini diperlukan untuk menyelesaikan langkah-langkah selanjutnya.

Langkah 2: Buat IAM kebijakan

Buat IAM kebijakan 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:

  • ARNUntuk ember Anda.

  • Kunci ARN for your AWS Key Management Service (AWS KMS), jika bucket Anda menggunakan SSE-KMS enkripsi.

Buat IAM kebijakan yang menyertakan 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 instans Db2 DB RDS untuk Db2.

Jika bucket Anda menggunakan SSE-KMS enkripsi, sertakan juga izin berikut:

"kms:GenerateDataKey", "kms:Decrypt"

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

Untuk membuat IAM kebijakan agar Amazon RDS dapat mengakses bucket Amazon S3
  1. Masuk ke AWS Management Console dan buka IAM konsol 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 masukkan your 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 KMS kunci Anda sendiri untuk mengenkripsi data:

    1. Pilih Tambahkan pernyataan baru.

    2. Di Tambahkan tindakan, filter berdasarkanKMS. 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 IAM kebijakan agar Amazon RDS dapat mengakses bucket Amazon S3
  1. Jalankan perintah create-policy. Dalam contoh berikut, ganti iam_policy_name and amzn-s3-demo-bucket dengan nama untuk IAM kebijakan 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, perhatikan kebijakan tersebut. ARN Anda membutuhkan ARN untukLangkah 3: Buat IAM peran dan lampirkan IAM kebijakan Anda.

Untuk informasi tentang membuat IAM kebijakan, lihat Membuat IAM kebijakan di Panduan IAM Pengguna.

Langkah 3: Buat IAM peran dan lampirkan IAM kebijakan Anda

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

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

Untuk membuat IAM peran dan melampirkan IAM kebijakan Anda
  1. Masuk ke AWS Management Console dan buka IAM konsol 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 kasus Layanan atau penggunaan, pilih RDS, lalu pilih RDS— Tambahkan Peran ke Database.

  6. Pilih Berikutnya.

  7. Untuk kebijakan Izin, cari dan pilih nama IAM kebijakan 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 IAM peran dan melampirkan IAM kebijakan Anda
  1. Jalankan perintah create-role. Dalam contoh berikut, ganti iam_role_name dengan nama untuk IAM peran 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 peran ini. Anda membutuhkan ini ARN untuk langkah selanjutnyaLangkah 4: Konfigurasikan grup opsi untuk pencatatan audit Db2.

  3. Jalankan perintah attach-role-policy. Dalam contoh berikut, ganti iam_policy_arn dengan ARN IAM kebijakan yang Anda buatLangkah 2: Buat IAM kebijakan. Ganti iam_role_name dengan nama IAM peran 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

Untuk informasi selengkapnya, lihat Membuat peran untuk mendelegasikan izin kepada IAM pengguna di Panduan IAM Pengguna.

Langkah 4: Konfigurasikan grup opsi untuk pencatatan audit Db2

Proses untuk menambahkan opsi pencatatan audit Db2 ke instance RDS untuk 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 AUDIT opsi DB2_ ke grup opsi, dan konfigurasikan pengaturan opsi. Untuk informasi selengkapnya tentang cara menambahkan opsi, lihat Menambahkan opsi ke grup opsi.

    • Untuk IAMROLE_ _ ARN, masukkan ARN IAM peran yang Anda buatLangkah 3: Buat IAM peran dan lampirkan IAM kebijakan Anda.

    • Untuk S3_ BUCKET _ ARN, masukkan bucket S3 ARN yang akan digunakan untuk log audit Db2 Anda. Bucket harus berada di Wilayah yang sama dengan instans Db2 DB AndaRDS. Kebijakan yang terkait dengan IAM peran 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 DB Amazon RDS.

Langkah 5: Konfigurasikan kebijakan audit

Untuk mengonfigurasi kebijakan audit untuk database Db2 AndaRDS, sambungkan ke rdsadmin database menggunakan nama pengguna utama dan kata sandi utama untuk instans Db2 DB AndaRDS. 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 kategoriAUDIT,,, CHECKINGOBJMAINT, SECMAINTSYSADMIN, danVALIDATE. 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 instans Db2 DB AndaRDS. Kemudian, jalankan SQL pernyataan berikut dengan nama DB database Anda. Dalam contoh berikut, nama DB adalah testdb.

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 database Db2 tertentuRDS, 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 instans Db2 DB Anda RDS — Perbarui S3_BUCKET_ARN pengaturan DB2_AUDIT opsi untuk menunjuk ke bucket baru. Selain itu, pastikan untuk memperbarui IAM kebijakan yang dilampirkan pada IAM peran yang ditentukan oleh IAM_ROLE_ARN pengaturan di grup opsi terlampir. IAMKebijakan ini harus menyediakan bucket baru Anda dengan izin akses yang diperlukan. Untuk informasi tentang izin yang diperlukan dalam IAM kebijakan, lihatBuat IAM kebijakan.

  • Lampirkan instans Db2 DB Anda RDS 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 DB Amazon RDS.

Menonaktifkan pencatatan audit Db2

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

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

  • 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 instans Db2 DB Anda RDS 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 RDS untuk file log tingkat instans Db2 DB.

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

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

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

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 instance RDS for Db2 DB. Ubah instance DB untuk menambahkan grup opsi, lalu coba panggil prosedur tersimpan lagi. Untuk informasi selengkapnya, lihat Memodifikasi instans DB Amazon RDS.

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 instans Db2 DB AndaRDS.

  • 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 IAM kebijakan.

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

Anda dapat memeriksa status tugas konfigurasi pencatatan audit Anda dengan menghubungkan ke database dan menjalankan SQL pernyataan. 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.