Menggunakan Audit Lanjutan dengan klaster DB Amazon Aurora MySQL - Amazon Aurora

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan Audit Lanjutan dengan klaster DB Amazon Aurora MySQL

Anda dapat menggunakan fitur Audit Lanjutan beperforma tinggi di Amazon Aurora MySQL untuk mengaudit aktivitas basis data. Untuk melakukannya, Anda mengaktifkan pengumpulan log audit dengan mengatur beberapa parameter klaster DB. Ketika Audit Lanjutan diaktifkan, Anda dapat menggunakannya untuk mencatat log kombinasi peristiwa yang didukung.

Anda dapat melihat atau mengunduh log audit untuk meninjau informasi audit untuk instans DB satu per satu. Untuk melakukannya, Anda dapat menggunakan prosedur dalam Memantau file log Amazon Aurora.

Tip

Untuk klaster DB Aurora yang berisi beberapa instans DB, Anda mungkin merasa lebih praktis untuk memeriksa log audit untuk semua instans di klaster. Untuk melakukannya, Anda dapat menggunakan CloudWatch Log. Anda dapat mengaktifkan pengaturan di tingkat cluster untuk mempublikasikan data log audit MySQL Aurora ke grup log di. CloudWatch Kemudian Anda dapat melihat, memfilter, dan mencari log audit melalui CloudWatch antarmuka. Untuk informasi selengkapnya, lihat Menerbitkan log Amazon Aurora MySQL ke Amazon Logs CloudWatch .

Mengaktifkan Audit Lanjutan

Gunakan parameter yang dijelaskan di bagian ini untuk mengaktifkan dan mengonfigurasi Audit Lanjutan untuk klaster DB Anda.

Gunakan parameter server_audit_logging untuk mengaktifkan atau menonaktifkan Audit Lanjutan.

Gunakan parameter server_audit_events untuk menentukan peristiwa apa yang akan dicatat lognya.

Gunakan server_audit_incl_users dan server_audit_excl_users untuk menentukan pengguna yang akan diaudit. Secara default, semua pengguna diaudit. Untuk detail tentang cara kerja parameter ini ketika salah satu atau keduanya dibiarkan kosong, atau nama pengguna yang sama ditentukan di keduanya, lihat server_audit_incl_users dan server_audit_excl_users.

Konfigurasikan Audit Lanjutan dengan mengatur parameter ini di grup parameter yang digunakan oleh klaster DB Anda. Anda dapat menggunakan prosedur yang ditunjukkan dalam Memodifikasi parameter dalam grup parameter DB untuk mengubah parameter klaster DB menggunakan AWS Management Console. Anda dapat menggunakan AWS CLI perintah modify-db-cluster-parameter-group atau operasi ModifyDB Group Amazon RDS API untuk memodifikasi ClusterParameter parameter cluster DB secara terprogram.

Memodifikasi parameter ini tidak memerlukan pengaktifan ulang klaster DB saat grup parameter sudah dikaitkan dengan klaster Anda. Saat Anda mengaitkan grup parameter dengan klaster untuk pertama kalinya, pengaktifan ulang klaster diperlukan.

server_audit_logging

Mengaktifkan atau menonaktifkan Audit Lanjutan. Parameter diatur secara default ini ke NONAKTIF; ubah ke AKTIF untuk mengaktifkan Audit Lanjutan.

Tidak ada data audit yang muncul di log kecuali jika Anda juga menentukan satu atau beberapa jenis peristiwa yang akan diaudit menggunakan parameter server_audit_events.

Untuk mengonfirmasi bahwa data audit dicatat lognya untuk instans DB, periksa apakah beberapa file log untuk instans tersebut memiliki nama form audit/audit.log.other_identifying_information. Untuk melihat nama file log, ikuti prosedur dalam Melihat dan mencantumkan file log basis data.

server_audit_events

Berisi daftar peristiwa yang dipisahkan koma yang akan dicatat lognya. Peristiwa harus ditentukan dalam huruf besar semua, dan tidak boleh ada spasi antara elemen daftar, misalnya: CONNECT,QUERY_DDL. Parameter ini diatur secara default ke string kosong.

Anda dapat mencatat log untuk kombinasi peristiwa berikut:

  • CONNECT – Mencatat log koneksi yang berhasil maupun gagal dan juga pemutusan koneksi. Peristiwa ini mencakup informasi pengguna.

  • QUERY – Mencatat log semua kueri dalam teks biasa, termasuk kueri yang gagal karena kesalahan sintaksis atau izin.

    Tip

    Dengan jenis peristiwa ini diaktifkan, data audit akan mencakup informasi tentang informasi pemantauan berkelanjutan dan pemeriksaan kondisi yang dilakukan Aurora secara otomatis. Jika Anda hanya tertarik pada jenis operasi tertentu, Anda dapat menggunakan jenis peristiwa yang lebih spesifik. Anda juga dapat menggunakan CloudWatch antarmuka untuk mencari di log untuk peristiwa yang terkait dengan database, tabel, atau pengguna tertentu.

  • QUERY_DCL – Serupa dengan peristiwa QUERY, tetapi hanya menghasilkan kueri bahasa kontrol data (DCL) (GRANT, REVOKE, dan seterusnya).

  • QUERY_DDL – Serupa dengan peristiwa QUERY, tetapi hanya menghasilkan kueri bahasa definisi data (DDL) (CREATE, ALTER, dan seterusnya).

  • QUERY_DML – Serupa dengan peristiwa QUERY, tetapi hanya menghasilkan kueri bahasa manipulasi data (DML) (INSERT, UPDATE, dan seterusnya, serta SELECT).

  • TABLE – Mencatat log tabel yang dipengaruhi oleh eksekusi kueri.

catatan

Tidak ada filter di Aurora yang mengecualikan kueri tertentu dari log audit. Untuk mengecualikan SELECT kueri, Anda harus mengecualikan semua pernyataan DHTML.

Jika pengguna tertentu melaporkan SELECT kueri internal ini di log audit, maka Anda dapat mengecualikan pengguna tersebut dengan menyetel parameter cluster DB server_audit_excl_users. Namun, jika pengguna tersebut juga digunakan dalam aktivitas lain dan tidak dapat dihilangkan, maka tidak ada opsi lain untuk mengecualikan SELECT kueri.

server_audit_incl_users

Berisi daftar nama pengguna yang dipisahkan koma untuk pengguna yang aktivitasnya dicatat dalam log. Tidak boleh ada spasi antara elemen daftar, misalnya: user_3,user_4. Parameter ini diatur secara default ke string kosong. Panjang maksimumnya adalah 1024 karakter. Nama pengguna yang ditentukan harus cocok dengan nilai yang sesuai di kolom User dalam tabel mysql.user. Untuk informasi selengkapnya tentang nama pengguna, lihat Account User Names and Passwords dalam dokumentasi MySQL.

Jika server_audit_incl_users dan server_audit_excl_users keduanya kosong (default), semua pengguna diaudit.

Jika Anda menambahkan pengguna ke server_audit_incl_users dan mengosongkan server_audit_excl_users, hanya pengguna tersebut yang diaudit.

Jika Anda menambahkan pengguna ke server_audit_excl_users dan mengosongkan server_audit_incl_users, semua pengguna diaudit, kecuali yang tercantum dalam server_audit_excl_users.

Jika Anda menambahkan pengguna yang sama ke server_audit_excl_users dan server_audit_incl_users, pengguna tersebut diaudit. Ketika pengguna yang sama tercantum di kedua pengaturan tersebut, server_audit_incl_users akan diberi prioritas yang lebih tinggi.

Peristiwa koneksi dan pemutusan koneksi tidak terpengaruh oleh variabel ini; peristiwa ini akan selalu dicatat lognya jika ditentukan. Pengguna dicatat lognya meskipun pengguna tersebut juga ditentukan dalam parameter server_audit_excl_users karena server_audit_incl_users memiliki prioritas yang lebih tinggi.

server_audit_excl_users

Berisi daftar nama pengguna yang dipisahkan koma untuk pengguna yang aktivitasnya tidak dicatat dalam log. Tidak boleh ada spasi antara elemen daftar, misalnya: rdsadmin,user_1,user_2. Parameter ini diatur secara default ke string kosong. Panjang maksimumnya adalah 1024 karakter. Nama pengguna yang ditentukan harus cocok dengan nilai yang sesuai di kolom User dalam tabel mysql.user. Untuk informasi selengkapnya tentang nama pengguna, lihat Account User Names and Passwords dalam dokumentasi MySQL.

Jika server_audit_incl_users dan server_audit_excl_users keduanya kosong (default), semua pengguna diaudit.

Jika Anda menambahkan pengguna ke server_audit_excl_users dan mengosongkan server_audit_incl_users, maka hanya pengguna yang Anda cantumkan di server_audit_excl_users yang tidak diaudit, dan semua pengguna lainnya diaudit.

Jika Anda menambahkan pengguna yang sama ke server_audit_excl_users dan server_audit_incl_users, pengguna tersebut diaudit. Ketika pengguna yang sama tercantum di kedua pengaturan tersebut, server_audit_incl_users akan diberi prioritas yang lebih tinggi.

Peristiwa koneksi dan pemutusan koneksi tidak terpengaruh oleh variabel ini; peristiwa ini akan selalu dicatat lognya jika ditentukan. Pengguna dicatat lognya jika pengguna tersebut juga ditentukan dalam parameter server_audit_incl_users karena pengaturan tersebut memiliki prioritas yang lebih tinggi daripada server_audit_excl_users.

Melihat log audit

Anda dapat melihat dan mengunduh log audit menggunakan konsol. Di halaman Basis data, pilih instans DB untuk menampilkan detailnya, kemudian gulir ke bagian Log. Log audit yang dihasilkan oleh fitur Audit Lanjutan memiliki nama form audit/audit.log.other_identifying_information.

Untuk mengunduh file log, pilih file tersebut di bagian Log lalu pilih Unduh.

Anda juga bisa mendapatkan daftar file log dengan menggunakan perintah describe-db-log-files AWS CLI . Anda dapat mengunduh konten file log dengan menggunakan perintah download-db-log-file-portion AWS CLI . Untuk informasi lebih lanjut, lihat Melihat dan mencantumkan file log basis data dan Mengunduh file log basis data.

Detail log audit

File log direpresentasikan sebagai file variabel yang dipisahkan koma (CSV) dalam format UTF-8. Kueri juga di-wrapping dengan tanda kutip tunggal (').

Log audit disimpan secara terpisah pada penyimpanan lokal setiap instance. Setiap instans Aurora mendistribusikan penulisan ke empat file log sekaligus. Ukuran maksimum log adalah 100 MB secara agregat. Ketika batas yang tidak dapat dikonfigurasi ini tercapai, Aurora akan merotasi file log dan menghasilkan empat file baru.

Tip

Entri file log tidak berurutan. Untuk mengurutkan entri, gunakan nilai stempel waktu. Untuk melihat peristiwa terbaru, Anda mungkin harus meninjau semua file log. Untuk fleksibilitas lebih dalam menyortir dan mencari data log, aktifkan pengaturan untuk mengunggah log audit CloudWatch dan melihatnya menggunakan CloudWatch antarmuka.

Untuk melihat data audit dengan lebih banyak jenis bidang dan dengan output dalam format JSON, Anda juga dapat menggunakan fitur Aliran Aktivitas Basis Data. Untuk informasi selengkapnya, lihat Memantau Amazon Aurora dengan Aliran Aktivitas Basis Data.

File log audit meliputi informasi yang dipisahkan koma berikut dalam baris, dalam urutan yang ditentukan:

Bidang Deskripsi

timestamp

Stempel waktu Unix untuk peristiwa yang dicatat lognya dengan tingkat presisi mikrodetik.

serverhost

Nama instans tempat peristiwa dicatat.

nama pengguna

Nama pengguna yang terhubung dengan pengguna.

host

Host yang terhubung ke pengguna.

connectionid

Nomor ID koneksi untuk operasi yang dicatat.

queryid

Nomor ID kueri, yang dapat digunakan untuk menemukan peristiwa tabel hubungan dan kueri terkait. Untuk peristiwa TABLE, beberapa baris ditambahkan.

operation

Jenis tindakan yang dicatat. Kemungkinan nilainya adalah: CONNECT, QUERY, READ, WRITE, CREATE, ALTER, RENAME, dan DROP.

database

Basis data aktif, yang diatur oleh perintah USE.

object

Untuk peristiwa QUERY, nilai ini menunjukkan kueri yang dilakukan basis data. Untuk peristiwa TABLE, nilai ini menunjukkan nama tabel.

retcode

Kode yang dihasilkan dari operasi yang dicatat lognya.