Tutorial: Mengonfigurasi log audit dengan menggunakan Azure Database for MySQL - Server Fleksibel

BERLAKU UNTUK: Azure Database for MySQL - Server Fleksibel

Anda dapat menggunakan server fleksibel Azure Database for MySQL untuk mengonfigurasi log audit. Log audit dapat digunakan untuk melacak aktivitas tingkat database, termasuk kejadian koneksi, administrasi, bahasa definisi data (DDL), dan bahasa manipulasi data (DML). Jenis log ini umumnya digunakan untuk tujuan kepatuhan. Audit database biasanya digunakan untuk:

  • Memperhitungkan semua tindakan yang terjadi dalam skema, tabel, atau baris tertentu, atau yang memengaruhi konten tertentu.
  • Mencegah pengguna (atau orang lain) dari tindakan yang tidak pantas berdasarkan akuntabilitas mereka.
  • Menyelidiki aktivitas mencurigakan.
  • Memantau dan mengumpulkan data tentang aktivitas database tertentu.

Artikel ini membahas cara menggunakan log audit MySQL, alat Analitik Log, atau templat buku kerja untuk memvisualisasikan informasi audit untuk server fleksibel Azure Database for MySQL.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Mengonfigurasi audit dengan menggunakan portal Microsoft Azure atau Azure CLI
  • Menyiapkan diagnostik
  • Melihat log audit menggunakan Analitik Log
  • Melihat log audit menggunakan buku kerja

Prasyarat

Mengonfigurasi audit dengan menggunakan portal Microsoft Azure

  1. Masuk ke portal Azure.

  2. Pilih instans server fleksibel Anda.

  3. Di panel kiri, pada Pengaturan, pilih Parameter server.

    Screenshot showing the 'Server parameters' list.

  4. Untuk parameter audit_log_enabled, pilih ON.

    Screenshot showing the 'audit_log_enabled' parameter switched to 'ON'.

  5. Untuk parameter audit_log_events, dalam menu drop-down, pilih jenis kejadian yang akan dicatat.

    Screenshot of the event options in the 'audit_log_events' dropdown list.

  6. Untuk parameter audit_log_exclude_users dan audit_log_include_users, tentukan pengguna MySQL yang akan disertakan atau dikecualikan dari pencatatan dengan memberikan nama pengguna MySQL mereka.

    Screenshot showing the MySQL usernames to be included or excluded from logging.

  7. Pilih Simpan.

    Screenshot of the 'Save' button for saving changes in the parameter values.

Mengonfigurasi audit dengan menggunakan Azure CLI

Atau, Anda dapat mengaktifkan dan mengonfigurasi audit untuk server fleksibel Anda dari Azure CLI dengan menjalankan perintah berikut:

# Enable audit logs
az mysql flexible-server parameter set \
--name audit_log_enabled \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON

Menyiapkan diagnostik

Log audit terintegrasi dengan pengaturan diagnostik Azure Monitor agar Anda dapat menyalurkan log ke salah satu dari tiga sink data:

  • Ruang kerja Log Analytics
  • Hub kejadian
  • Akun penyimpanan

Catatan

Anda harus membuat data sink Anda terlebih dahulu sebelum mengonfigurasi pengaturan diagnostik. Anda dapat mengakses log audit di sink data yang telah Anda konfigurasikan. Mungkin perlu waktu hingga 10 menit agar log muncul.

  1. Di panel kiri, di bawah Pemantauan, pilih Pengaturan diagnostik.

  2. Di panel Pengaturan diagnostik, pilih Tambahkan pengaturan diagnostik.

    Screenshot of the 'Add diagnostic setting' link on the 'Diagnostic settings' pane.

  3. Di kotak Nama, masukkan nama untuk pengaturan diagnostik.

    Screenshot of the 'Diagnostics settings' pane for selecting configuration options.

  4. Tentukan tujuan mana (ruang kerja Analitik Log, hub kejadian, atau akun penyimpanan) untuk mengirim log audit dengan memilih kotak centang yang sesuai.

    Catatan

    Untuk tutorial ini, Anda akan mengirim log audit ke ruang kerja Analitik Log.

  5. Pada Log, untuk jenis log, pilih kotak centang MySqlAuditLogs.

  6. Setelah Anda mengonfigurasi sink data untuk menyalurkan log audit, pilih Simpan.

Melihat log audit menggunakan Analitik Log

  1. Di Log Analytics, pada panel sebelah kiri, pada Pemantauan, pilih Log.

  2. Tutup jendela Kueri.

    Screenshot of the Log Analytics 'Queries' pane.

  3. Pada jendela kueri, Anda dapat menulis kueri yang akan dijalankan. Misalnya, untuk menemukan ringkasan peristiwa yang diaudit di server tertentu, kami telah menggunakan kueri berikut:

    AzureDiagnostics
        |where Category =='MySqlAuditLogs' 
        |project TimeGenerated, Resource, event_class_s, event_subclass_s, event_time_t, user_s ,ip_s , sql_text_s 
        |summarize count() by event_class_s,event_subclass_s 
        |order by event_class_s 
    

    Screenshot of an example Log Analytics query seeking to find a summary of audited events on a particular server.

Melihat log audit menggunakan buku kerja

Templat buku kerja yang kami gunakan untuk audit mengharuskan kami membuat pengaturan diagnostik untuk mengirim log platform.

  1. Di Azure Monitor, di panel kiri, pilih log Aktivitas, lalu pilih pengaturan Diagnostik.

    Screenshot showing the 'Diagnostics settings' tab on the Azure Monitor 'Activity log' pane.

  2. Pada panel pengaturan Diagnostik, Anda dapat menambahkan pengaturan baru atau mengedit yang sudah ada. Setiap pengaturan tidak boleh memiliki lebih dari satu dari masing-masing jenis tujuan.

    Screenshot of the Azure Monitor 'Diagnostic setting' pane for selecting log destinations.

    Catatan

    Anda dapat mengakses log kueri lambat di sink data (ruang kerja Analitik Log, akun penyimpanan, atau hub peristiwa) yang telah Anda konfigurasikan. Mungkin perlu waktu hingga 10 menit agar log muncul.

  3. Di portal Azure, di panel kiri, di bawah Pemantauan untuk instans server fleksibel Azure Database for MySQL Anda, pilih Buku Kerja.

  4. Pilih buku kerja Audit.

    Screenshot showing all workbooks in the workbook gallery.

Dalam buku kerja, Anda dapat melihat visualisasi berikut:

  • Tindakan Administratif pada layanan
  • Ringkasan Audit
  • Ringkasan Peristiwa Sambungan Audit
  • Peristiwa Sambungan Audit
  • Ringkasan Akses Tabel
  • Kesalahan Diidentifikasi

Screenshot of workbook template 'Administrative Actions on the service'.

Screenshot of workbook template 'Audit Connection Events'.

Catatan

  • Anda juga dapat mengedit templat ini dan menyesuaikannya dengan persyaratan Anda. Untuk informasi selengkapnya, lihat bagian "Mode pengeditan" dari Azure Workbooks.
  • Untuk tampilan cepat, Anda juga dapat menyematkan buku kerja atau kueri Analitik Log ke dasbor Anda. Untuk informasi lebih lanjut, lihat Membuat dasbor di portal Microsoft Azure.

Tampilan Tindakan Administratif pada layanan menyediakan detail tentang aktivitas yang dilakukan pada layanan. Tampilan ini membantu Anda mengetahui apa, siapa, dan kapan terkait setiap operasi penulisan (PUT, POST, DELETE) yang dilakukan pada sumber daya dalam langganan Anda.

Anda dapat menggunakan visualisasi lain guna membantu Anda memahami detail aktivitas database. Keamanan database memiliki empat bagian:

  • Keamanan server: Bertanggung jawab untuk mencegah personel yang tidak berwenang mengakses database.
  • Koneksi database: Administrator harus memeriksa untuk melihat apakah pembaruan database telah dilakukan oleh personel yang berwenang.
  • Kontrol akses tabel: Menampilkan kunci akses dari pengguna yang berwenang dan tabel apa dalam database masing-masing yang diizinkan untuk ditangani.
  • Pembatasan akses database: Sangat penting bagi pengguna yang telah mengunggah database ke internet, dan membantu mencegah sumber luar mendapatkan akses ke database Anda.

Langkah berikutnya