Audit untuk Azure SQL Database dan Azure Synapse Analytics

Berlaku untuk: Azure SQL Database Azure Synapse Analytics

Audit untuk Azure SQL Database dan Azure Synapse Analytics melacak peristiwa database dan menulisnya ke log audit di akun penyimpanan Azure Anda, ruang kerja Log Analytics, atau Azure Event Hubs.

Audit juga:

  • Membantu menjaga kepatuhan terhadap peraturan, memahami aktivitas database, dan memperoleh wawasan tentang adanya perbedaan dan anomali yang dapat menunjukkan masalah bisnis atau dugaan pelanggaran keamanan.

  • Mengaktifkan dan memfasilitasi kepatuhan terhadap standar kepatuhan, meskipun itu tidak menjamin kepatuhan. Untuk informasi selengkapnya, lihat Microsoft Azure Trust Center, di mana Anda dapat menemukan daftar terbaru sertifikasi kepatuhan SQL Database.

Catatan

Untuk informasi tentang audit Azure SQL Managed Instance, lihat artikel berikut ini, Mulai mengaudit Azure SQL Managed Instance.

Gambaran Umum

Anda dapat menggunakan audit Azure SQL Database untuk:

  • Mempertahankan jejak audit dari peristiwa yang dipilih. Anda dapat menentukan kategori tindakan database yang akan diaudit.
  • Laporan aktivitas database. Anda dapat menggunakan laporan yang telah dikonfigurasi sebelumnya dan dasbor untuk memulai dengan cepat menggunakan pelaporan aktivitas dan peristiwa.
  • Menganalisis laporan. Anda dapat menemukan peristiwa mencurigakan, aktivitas yang tidak biasa, dan tren.

Penting

Audit untuk Azure SQL Database, Azure Synapse, dan Azure SQL Managed Instance dioptimalkan untuk ketersediaan dan performa database atau instans yang sedang diaudit. Selama periode aktivitas yang sangat tinggi atau beban jaringan yang tinggi, fitur audit dapat memungkinkan transaksi dilanjutkan tanpa merekam semua peristiwa yang ditandai untuk audit.

Batasan audit

  • Jenis autentikasi identitas terkelola pengguna untuk mengaktifkan audit ke penyimpanan di belakang firewall saat ini tidak didukung.
  • Mengaktifkan audit pada Azure Synapse yang dijeda saat ini tidak didukung. Untuk mengaktifkan audit, lanjutkan Azure Synapse.
  • Audit untuk kumpulan Azure Synapse SQLhanya mendukung grup tindakan audit default.
  • Saat Anda mengonfigurasi audit untuk server logis Anda di Azure atau Azure SQL Database dengan tujuan log sebagai akun penyimpanan, akun penyimpanan target harus diaktifkan dengan akses ke kunci akun penyimpanan. Jika akun penyimpanan dikonfigurasi untuk menggunakan autentikasi Azure AD saja dan tidak dikonfigurasi untuk penggunaan kunci akses, audit tidak dapat dikonfigurasi.

Tentukan kebijakan audit tingkat server vs. tingkat database

Kebijakan audit dapat ditentukan untuk database tertentu atau sebagai kebijakan server default di Azure (yang menjadi host Azure SQL Database atau Azure Synapse):

  • Kebijakan server berlaku untuk semua database yang sudah ada dan yang baru dibuat di server.

  • Jika audit server diaktifkan, itu selalu berlaku untuk database. Database akan diaudit, terlepas dari pengaturan audit database.

  • Saat kebijakan audit ditentukan di tingkat database ke ruang kerja Analitik Log atau tujuan Azure Event Hubs, operasi berikut tidak akan menyimpan kebijakan audit tingkat database sumber:

  • Mengaktifkan audit pada database, selain mengaktifkannya di server, tidak mengesampingkan atau mengubah pengaturan audit server apa pun. Kedua audit akan ada berdampingan. Dengan kata lain, database diaudit dua kali secara paralel; sekali oleh kebijakan server dan sekali oleh kebijakan database.

    Catatan

    Hindari mengaktifkan audit server dan audit database blob secara bersama-sama, kecuali jika:

    • Anda ingin menggunakan akun penyimpanan, periode retensi atau Ruang Kerja Analitik Log yang berbeda untuk database tertentu.
    • Anda ingin mengaudit tipe peristiwa atau kategori untuk database tertentu yang berbeda dari database lainnya di server. Misalnya, Anda mungkin memiliki sisipan tabel yang perlu diaudit hanya untuk database tertentu.

    Jika tidak, kami sarankan Anda hanya mengaktifkan audit tingkat server dan membiarkan audit tingkat database dinonaktifkan untuk semua database.

Keterangan

  • Penyimpanan premium dengan BlockBlobStorage didukung. Penyimpanan standar didukung. Namun, agar audit menulis ke akun penyimpanan di belakang VNet atau firewall, Anda harus memiliki akun penyimpanan v2 tujuan umum. Jika Anda memiliki akun penyimpanan v1 tujuan umum atau blob, tingkatkan ke akun penyimpanan v2 tujuan umum. Untuk petunjuk tertentu, lihat Tulis audit ke akun penyimpanan di belakang VNet dan firewall. Untuk informasi selengkapnya, lihat Jenis akun penyimpanan.
  • Namespace hierarkis untuk semua jenis akun penyimpanan standar dan akun penyimpanan premium dengan BlockBlobStorage didukung.
  • Log audit ditulis untuk Menambahkan Blob di penyimpanan Azure Blob pada langganan Azure Anda
  • Log audit berformat .xel dan dapat dibuka menggunakan SQL Server Management Studio (SSMS).
  • Untuk mengonfigurasi penyimpanan log yang tidak dapat diubah untuk peristiwa audit tingkat server atau database, ikuti instruksi yang disediakan oleh Azure Storage. Pastikan Anda memilih Izinkan penambahan tambahan saat Anda mengonfigurasi penyimpanan blob yang tidak dapat diubah.
  • Anda dapat menulis log audit ke akun Azure Storage di belakang VNet atau firewall.
  • Untuk detail lebih lanjut tentang hierarki folder penyimpanan, konvensi penamaan, lihat Referensi Format Log Audit Blob.
  • Audit pada Replika Baca-Saja diaktifkan secara otomatis. Untuk detail lebih lanjut tentang hierarki folder penyimpanan, konvensi penamaan, dan format log, lihat Format Log Audit Azure SQL Database.
  • Saat menggunakan Autentikasi Microsoft Azure Active Directory, rekaman masuk yang gagal tidak akan muncul di log audit SQL. Untuk melihat data audit masuk yang gagal, kunjungi portal Layanan Domain Azure Active Directory, yang mencatat detail peristiwa ini.
  • Masuk dirutekan oleh gateway ke instans tertentu tempat database berada. Dalam kasus Azure AD masuk, kredensial diverifikasi sebelum mencoba menggunakan pengguna tersebut untuk masuk ke database yang diminta. Dalam kasus kegagalan, database yang diminta tidak pernah diakses, jadi tidak ada audit yang terjadi. Dalam kasus masuk SQL, kredensial diverifikasi pada data yang diminta, sehingga ia dapat diaudit. Masuk yang berhasil, yang jelas mencapai database, diaudit dalam kedua kasus.
  • Setelah mengonfigurasi pengaturan audit, Anda dapat mengaktifkan fitur deteksi ancaman baru dan mengonfigurasi email untuk menerima pemberitahuan keamanan. Saat Anda menggunakan deteksi ancaman, Anda menerima peringatan proaktif tentang aktivitas database anomali yang dapat menunjukkan potensi ancaman keamanan. Untuk info selengkapnya, lihat Mulai deteksi ancaman.
  • Setelah database dengan audit diaktifkan disalin ke server logis lain, Anda mungkin menerima email yang memberi tahu Anda bahwa audit gagal. Ini adalah masalah yang diketahui dan audit harus bekerja seperti yang diharapkan pada database yang baru disalin.

Menyiapkan audit untuk server Anda

Kebijakan audit default mencakup semua tindakan dan set grup tindakan berikut, yang akan mengaudit semua kueri dan prosedur tersimpan yang dijalankan terhadap database, serta masuk yang berhasil dan yang gagal:

  • BATCH_COMPLETED_GROUP
  • SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP
  • FAILED_DATABASE_AUTHENTICATION_GROUP

Anda bisa mengonfigurasi audit untuk berbagai jenis tindakan dan grup tindakan menggunakan PowerShell, seperti yang dijelaskan di bagian Mengelola audit SQL Database menggunakan Azure PowerShell.

Azure SQL Database dan Azure Synapse Audit menyimpan 4.000 karakter data untuk bidang karakter dalam rekaman audit. Ketika pernyataan atau nilai data_sensitivity_information yang dikembalikan dari tindakan yang dapat diaudit berisi lebih dari 4.000 karakter, data apa pun di luar 4.000 karakter pertama akan dipotong dan tidak diaudit. Bagian berikut ini menjelaskan konfigurasi audit menggunakan portal Microsoft Azure.

Catatan

  • Tidak memungkinkan untuk mengaktifkan audit pada kumpulan dedicated SQL yang dijeda. Untuk mengaktifkan audit, lepaskan jeda kumpulan dedicated SQL. Pelajari lebih lanjut tentang kumpulan dedicated SQL.
  • Saat audit dikonfigurasi ke ruang kerja Analitik Log atau ke tujuan Azure Event Hubs melalui cmdlet portal Azure atau PowerShell, Pengaturan Diagnostik dibuat dengan kategori "SQLSecurityAuditEvents" diaktifkan.
  1. Masuk ke portal Microsoft Azure.

  2. Navigasikan ke Audit di judul Keamanan di SQL database atau panel SQL server Anda.

  3. Jika Anda memilih kebijakan pengauditan server, Anda bisa memilih tautan Tampilkan pengaturan server di halaman pengauditan database. Anda kemudian dapat melihat atau mengubah setelan audit server. Kebijakan audit server berlaku untuk semua database yang sudah ada dan yang baru dibuat pada server ini.

    Cuplikan layar yang memperlihatkan link Tampilkan pengaturan server disorot pada halaman pengauditan database.

  4. Jika Anda memilih mengaktifkan audit pada tingkat database, alihkan Audit ke AKTIF. Jika audit server diaktifkan, audit yang dikonfigurasi database akan ada berdampingan dengan audit server.

  5. Anda memiliki beberapa opsi untuk mengonfigurasi di mana log audit akan ditulis. Anda dapat menulis log ke akun penyimpanan Azure, ke ruang kerja Analitik Log untuk dikonsumsi oleh log Azure Monitor, atau ke hub peristiwa untuk dikonsumsi menggunakan hub peristiwa. Anda dapat mengonfigurasi kombinasi opsi ini, dan log audit akan ditulis untuk masing-masing.

    opsi penyimpanan

Pengauditan operasi Dukungan Microsoft

Audit operasi Dukungan Microsoft untuk server logis memungkinkan Anda mengaudit operasi teknisi dukungan Microsoft saat mereka perlu mengakses server Anda selama permintaan dukungan. Penggunaan kemampuan ini, bersama dengan audit Anda, memungkinkan lebih banyak transparansi ke dalam tenaga kerja Anda dan memungkinkan deteksi anomali, visualisasi tren, dan pencegahan kehilangan data.

Untuk mengaktifkan pengauditan operasi Dukungan Microsoft, navigasikan ke Audit di bawah judul Keamanan di panel server Azure SQL Anda, dan ubah Aktifkan Audit operasi dukungan Microsoft ke AKTIF.

Cuplikan layar Operasi Dukungan Microsoft

Untuk meninjau log audit operasi Dukungan Microsoft di ruang kerja Analitik Log Anda, gunakan kueri berikut:

AzureDiagnostics
| where Category == "DevOpsOperationsAudit"

Anda memiliki pilihan untuk memilih tujuan penyimpanan yang berbeda untuk log audit ini, atau menggunakan konfigurasi audit yang sama untuk server Anda.

Cuplikan layar Mengaudit konfigurasi untuk mengaudit Operasi dukungan

Audit ke tujuan penyimpanan

Untuk mengonfigurasi penulisan log audit ke akun penyimpanan, pilih Penyimpanan saat Anda masuk ke bagian Pengauditan. Pilih akun penyimpanan Azure tempat Anda ingin menyimpan log Anda. Anda dapat menggunakan dua jenis autentikasi penyimpanan berikut: identitas terkelola dan kunci akses penyimpanan. Untuk identitas terkelola, sistem, dan identitas terkelola pengguna didukung. Secara default, identitas pengguna utama yang ditetapkan ke server dipilih. Jika tidak ada identitas pengguna, identitas yang ditetapkan sistem dibuat dan digunakan untuk tujuan autentikasi. Setelah Anda memilih jenis autentikasi, pilih periode retensi dengan membuka *Properti tingkat lanjut dan memilih Simpan. Log yang lebih lama dari periode retensi akan dihapus.

Catatan

Jika Anda menyebarkan dari portal Azure, pastikan akun penyimpanan berada di wilayah yang sama dengan database dan server Anda. Jika Anda menyebarkan melalui metode lain, akun penyimpanan dapat berada di wilayah mana pun.

  • Nilai default untuk periode retensi adalah 0 (retensi tak terbatas). Anda dapat mengubah nilai ini dengan memindahkan penggeser Retensi (Hari) di Properti tingkat lanjut saat mengonfigurasi audit akun penyimpanan.

    • Jika Anda mengubah periode retensi dari 0 (retensi tak terbatas) ke nilai lain, perlu diingat bahwa retensi hanya akan berlaku untuk log yang ditulis setelah nilai retensi diubah (log yang ditulis selama periode ketika retensi diatur ke tidak terbatas dipertahankan, bahkan setelah retensi diaktifkan).

    akun penyimpanan

Audit ke tujuan Analitik Log

Untuk mengonfigurasi penulisan log audit ke ruang kerja Analitik Log, pilih Analitik Log dan buka detail Analitik Log. Pilih ruang kerja Analitik Log tempat log akan ditulis lalu klik OK. Jika Anda belum membuat ruang kerja Analitik Log, lihat Membuat ruang kerja Analitik Log di portal Microsoft Azure.

LogAnalyticsworkspace

Untuk detail selengkapnya tentang ruang kerja Analitik Log Azure Monitor, lihat Mendesain penyebaran Log Azure Monitor Anda

Mengaudit ke tujuan Azure Event Hubs

Untuk mengonfigurasi penulisan log audit ke hub kejadian, pilih Hub Kejadian. Pilih hub kejadian tempat log akan ditulis lalu klik Simpan. Pastikan hub peristiwa berada di wilayah yang sama dengan database dan server Anda.

Eventhub

Menganalisis log dan laporan audit

Jika Anda memilih untuk menulis log audit ke Analitik Log:

  • Gunakan portal Azure. Buka database yang relevan. Di bagian atas halaman Audit database, pilih Tampilkan log audit.

    lihat log audit

  • Kemudian, Anda memiliki dua cara untuk melihat log:

    Mengeklik Analitik Log di bagian atas halaman Catatan audit akan membuka tampilan Log di ruang kerja Analitik Log, tempat Anda dapat menyesuaikan rentang waktu dan kueri pencarian.

    buka ruang kerja Analitik Log

    Mengeklik Tampilkan dasbor di bagian atas halaman Catatan audit akan membuka dasbor yang menampilkan info log audit, di mana Anda bisa menelusuri paling detail Insight Keamanan, Akses ke Data Sensitif, dan lainnya. Dasbor ini dirancang untuk membantu Anda mendapatkan insight keamanan untuk data Anda. Anda juga bisa menyesuaikan rentang waktu dan kueri pencarian. Lihat Dasbor Analitik Log

    Dasbor Analitik Log

    Insight Keamanan Analitik Log

  • Atau, Anda juga dapat mengakses log audit dari bilah Analitik Log. Buka ruang kerja Analitik Log Anda dan di bagian Umum, klik Log. Anda dapat memulai dengan kueri sederhana, seperti: cari "SQLSecurityAuditEvents" untuk melihat log audit. Dari sini, Anda juga dapat menggunakan log Azure Monitor untuk menjalankan pencarian tingkat lanjut pada data log audit Anda. Log Azure Monitor memberi Anda wawasan operasional real time menggunakan penelusuran terintegrasi dan dasbor khusus untuk menganalisis jutaan rekaman dengan mudah di semua beban kerja dan server Anda. Untuk informasi tambahan yang berguna tentang perintah dan bahasa penelusuran log Azure Monitor, lihat Referensi penelusuran log Azure Monitor.

Jika Anda memilih untuk menulis log audit ke Hub Kejadian:

  • Untuk menggunakan data log audit dari Azure Event Hubs, Anda harus menyiapkan streaming untuk mengonsumsi peristiwa dan menulisnya ke target. Untuk informasi selengkapnya, lihat Dokumentasi Azure Event Hubs.
  • Log audit di Hub Kejadian diambil di isi peristiwa Apache Avro dan disimpan menggunakan pemformatan JSON dengan pengodean UTF-8. Untuk membaca log audit, Anda dapat menggunakan Alat Avro atau alat serupa yang memproses format ini.

Jika Anda memilih untuk menulis log audit ke akun penyimpanan Azure, ada beberapa metode yang dapat Anda gunakan untuk melihat log:

  • Log audit diagregasi dalam akun yang Anda pilih selama penyiapan. Anda dapat menjelajahi log audit dengan menggunakan alat seperti Azure Storage Explorer. Di penyimpanan Azure, log audit disimpan sebagai kumpulan file blob dalam kontainer bernama sqldbauditlogs. Untuk detail lebih lanjut tentang hierarki folder penyimpanan, konvensi penamaan, dan format log, lihat Format Log Audit Azure SQL Database.

  • Gunakan portal Azure. Buka database yang relevan. Di bagian atas halaman Audit database, klik Tampilkan log audit.

    lihat log audit

    Data audit terbuka, yang mana Anda akan dapat melihat log.

    • Anda bisa menampilkan tanggal tertentu dengan mengeklik Filter di bagian atas halaman Data audit.

    • Anda dapat beralih antara catatan audit yang dibuat oleh kebijakan audit server dan kebijakan audit database dengan beralih ke Audit Sumber.

      Cuplikan layar yang memperlihatkan opsi untuk menampilkan data audit.

  • Gunakan fungsi sistem sys.fn_get_audit_file (T-SQL) untuk mengembalikan data log audit dalam format tabel. Untuk informasi selengkapnya tentang penggunaan fungsi ini, lihat sys.fn_get_audit_file.

  • Gunakan Gabungkan File Audit di SQL Server Management Studio (dimulai dengan SSMS 17):

    1. Dari menu SSMS, pilih File>Buka>Gabungkan File Audit.

      Cuplikan layar yang memperlihatkan opsi menu Gabungkan File Audit.

    2. Kotak dialog Tambahkan File Audit terbuka. Pilih salah satu opsi Tambahkan untuk memilih apakah akan menggabungkan file audit dari disk lokal atau mengimpornya dari Microsoft Azure Storage. Anda diharuskan untuk memberikan detail Microsoft Azure Storage dan kunci akun Anda.

    3. Setelah semua file yang akan digabung telah ditambahkan, klik OK untuk menyelesaikan operasi penggabungan.

    4. File yang digabungkan terbuka di SSMS, di mana Anda dapat melihat dan menganalisisnya, serta mengekspornya ke file XEL atau CSV, atau ke tabel.

  • Gunakan Power BI. Anda bisa menampilkan dan menganalisis data log audit di Power BI. Untuk informasi selengkapnya dan untuk mengakses templat yang dapat diunduh, lihat Menganalisis data log audit di Power BI.

  • Unduh file log dari kontainer blob Azure Storage Anda melalui portal atau dengan menggunakan alat seperti Azure Storage Explorer.

    • Setelah Anda mengunduh file log secara lokal, klik dua kali file untuk membuka, melihat, dan menganalisis log di SSMS.
    • Anda juga dapat mengunduh beberapa file secara bersamaan melalui Azure Storage Explorer. Untuk melakukannya, klik kanan subfolder tertentu dan pilih Simpan sebagai untuk menyimpan di folder lokal.
  • Metode tambahan:

    • Setelah mengunduh beberapa file atau subfolder yang berisi file log, Anda dapat menggabungkannya secara lokal seperti yang dijelaskan dalam instruksi File Audit Gabungan SSMS yang dijelaskan sebelumnya.
    • Menampilkan log audit blob secara terprogram: Kueri File Kejadian Diperluas menggunakan PowerShell.

Praktik produksi

Mengaudit database yang direplikasi geografis

Dengan database yang direplikasi geografis, ketika Anda mengaktifkan audit pada database utama, database sekunder akan memiliki kebijakan audit yang sama. Pengaturan audit juga bisa dilakukan pada database sekunder dengan mengaktifkan audit pada server sekunder, secara independen dari database utama.

  • Tingkat server (disarankan): Nyalakan audit pada server utama serta server sekunder–database utama dan sekunder masing-masing akan diaudit secara independen berdasarkan kebijakan tingkat server masing-masing.
  • Tingkat database: Audit tingkat database untuk database sekunder hanya dapat dikonfigurasi dari Pengaturan audit database utama.
    • Audit harus diaktifkan pada database utama itu sendiri, bukan pada server.

    • Setelah audit diaktifkan pada database utama, audit juga akan diaktifkan pada database sekunder.

      Penting

      Dengan audit tingkat database, pengaturan penyimpanan untuk database sekunder akan sama dengan database utama, yang menyebabkan lalu lintas regional. Kami menyarankan agar Anda hanya mengaktifkan audit tingkat server, dan membiarkan audit tingkat database dinonaktifkan untuk semua database.

Regenerasi kunci penyimpanan

Di produksi, Anda cenderung me-refresh kunci penyimpanan Anda secara berkala. Saat menulis log audit ke penyimpanan Azure, Anda perlu mengubah kebijakan pengauditan saat me-refresh kunci Anda. Prosesnya adalah sebagai berikut:

  1. Buka Properti tingkat lanjut di Penyimpanan. Di kotak Kunci Akses Penyimpanan, pilih Sekunder. Lalu klik Simpan di bagian atas halaman konfigurasi audit.

    Cuplikan layar yang memperlihatkan proses untuk memilih kunci akses penyimpanan sekunder.

  2. Pergi ke halaman konfigurasi penyimpanan dan regenerasikan kunci akses utama.

    Panel navigasi

  3. Kembali ke halaman konfigurasi audit, ubah kunci akses penyimpanan dari sekunder ke primer, lalu klik OK. Lalu klik Simpan di bagian atas halaman konfigurasi audit.

  4. Kembali ke halaman konfigurasi penyimpanan dan regenerasikan kunci akses sekunder (sebagai persiapan untuk siklus refresh kunci berikutnya).

Mengelola audit Azure SQL Database

Menggunakan Azure PowerShell

Cmdlet PowerShell (termasuk dukungan klausul WHERE untuk pemfilteran tambahan) :

Untuk contoh skrip, lihat Mengonfigurasi audit dan perlindungan ancaman menggunakan PowerShell.

Menggunakan REST API

REST API:

Kebijakan yang diperluas dengan dukungan klausul WHERE untuk pemfilteran tambahan:

Menggunakan Azure CLI

Menggunakan templat Azure Resource Manager

Anda bisa mengelola audit Azure SQL Database menggunakan templat Azure Resource Manager, seperti yang diperlihatkan dalam contoh berikut:

Catatan

Sampel yang ditautkan berada di repositori publik eksternal dan disediakan 'apa adanya', tanpa jaminan, dan tidak didukung di bawah program/layanan dukungan Microsoft apa pun.

Lihat juga