Mulai mengaudit Azure SQL Managed Instance
Berlaku untuk: Azure SQL Managed Instance
Audit Azure SQL Managed Instance melacak peristiwa database dan menulisnya ke log audit di akun penyimpanan Azure Anda. Pengauditan 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 tidak menjamin kepatuhan. Untuk informasi selengkapnya, lihat Pusat Kepercayaan Microsoft Azure tempat Anda dapat menemukan daftar sertifikasi kepatuhan SQL Managed Instance terbaru.
Penting
Audit untuk Azure SQL Database, Azure Synapse, dan Azure SQL Managed Instance dioptimalkan demi ketersediaan dan performa. Selama aktivitas yang sangat tinggi, atau beban jaringan yang tinggi, Azure SQL Database, Azure Synapse, dan Azure SQL Managed Instance memungkinkan operasi untuk dilanjutkan dan mungkin tidak merekam beberapa peristiwa yang diaudit.
Menyiapkan audit untuk server Anda ke Microsoft Azure Storage
Bagian berikut menjelaskan konfigurasi audit pada instans terkelola Anda.
Buka portal Microsoft Azure.
Buat kontainer Microsoft Azure Storage, tempat log audit disimpan.
Arahkan ke akun penyimpanan Azure, tempat Anda ingin menyimpan log audit.
- Gunakan akun penyimpanan di wilayah yang sama dengan instans terkelola untuk menghindari baca/tulis lintas wilayah.
- Jika akun penyimpanan Anda berada di belakang Virtual Network atau Firewall, lihat Memberikan akses dari jaringan virtual.
- Jika Anda mengubah periode retensi dari 0 (retensi tak terbatas) ke nilai lain, retensi hanya akan berlaku untuk log yang ditulis setelah nilai retensi diubah (log yang ditulis selama periode saat retensi diatur ke tidak terbatas dipertahankan, bahkan setelah retensi diaktifkan).
Di akun penyimpanan, buka Gambaran Umum dan pilih Blob.
Di menu atas, pilih + Kontainer untuk membuat kontainer baru.
Berikan Nama kontainer, atur Tingkat akses publik ke Privat, lalu pilih OK.
Penting
Pelanggan yang ingin mengonfigurasi penyimpanan log yang tidak dapat diubah untuk acara audit tingkat server atau database harus mengikuti instruksi yang disediakan oleh Azure Storage. (Pastikan Anda telah memilih Izinkan penambahan tambahan saat Anda mengonfigurasi penyimpanan blob yang tidak dapat diubah.)
Setelah Anda membuat kontainer untuk log audit, ada dua cara untuk mengonfigurasikannya sebagai target untuk log audit: menggunakan T-SQL atau menggunakan antarmuka pengguna SQL Server Management Studio (SSMS):
Konfigurasikan penyimpanan blob untuk log audit menggunakan T-SQL:
Dalam daftar kontainer, pilih kontainer yang baru dibuat lalu pilih Properti kontainer.
Salin URL kontainer dengan memilih ikon salin dan simpan URL (misalnya, di Notepad) untuk digunakan di masa mendatang. Format URL kontainer harus
https://<StorageName>.blob.core.windows.net/<ContainerName>
Hasilkan token SAS Microsoft Azure Storage untuk memberikan hak akses audit instans terkelola ke akun penyimpanan:
Arahkan ke akun penyimpanan Azure tempat Anda membuat kontainer di langkah sebelumnya.
Pilih Tanda tangan akses bersama di menu Pengaturan Penyimpanan.
Konfigurasikan SAS sebagai berikut:
Layanan yang diizinkan: Blob
Tanggal mulai: untuk menghindari masalah terkait zona waktu, gunakan tanggal kemarin
Tanggal berakhir: pilih tanggal kedaluwarsa token SAS ini
Catatan
Perbarui token setelah kedaluwarsa untuk menghindari kegagalan audit.
Pilih Hasilkan SAS.
Token SAS muncul di bagian bawah. Salin token dengan memilih ikon salin, dan simpan (misalnya, di Notepad) untuk digunakan di masa mendatang.
Penting
Hapus karakter tanda tanya (
?
) dari awal token.
Sambungkan ke instans terkelola Anda melalui SQL Server Management Studio atau alat lain yang didukung.
Jalankan pernyataan T-SQL berikut untuk membuat informasi masuk baru menggunakan URL kontainer dan token SAS yang Anda buat di langkah-langkah sebelumnya:
CREATE CREDENTIAL [<container_url>] WITH IDENTITY='SHARED ACCESS SIGNATURE', SECRET = '<SAS KEY>' GO
Jalankan pernyataan T-SQL berikut untuk membuat audit server baru (pilih nama audit Anda sendiri, lalu gunakan URL kontainer yang Anda buat di langkah-langkah sebelumnya). Jika tidak ditentukan, default
RETENTION_DAYS
adalah 0 (retensi tak terbatas):CREATE SERVER AUDIT [<your_audit_name>] TO URL (PATH ='<container_url>', RETENTION_DAYS = <integer>); GO
Lanjutkan dengan membuat spesifikasi audit server atau spesifikasi audit database.
Konfigurasikan penyimpanan blob untuk log audit, menggunakan SQL Server Management Studio 18 dan versi yang lebih baru:
Sambungkan ke instans terkelola menggunakan antarmuka pengguna SQL Server Management Studio.
Luaskan catatan akar SQL Server Object Explorer.
Perluas node Keamanan , klik kanan pada simpul Audit , dan pilih Audit Baru:
Pastikan URL dipilih di tujuan Audit dan pilih Telusuri:
(Opsional) Masuk ke akun Azure Anda:
Pilih langganan, akun penyimpanan, dan kontainer blob dari menu dropdown, atau buat kontainer Anda sendiri dengan memilih Buat. Setelah selesai, pilih OK:
Pilih OK dalam dialog Buat Audit .
Catatan
Saat menggunakan SQL Server Management Studio UI untuk membuat audit, kredensial ke kontainer dengan kunci SAS akan dibuat secara otomatis.
Setelah Anda mengonfigurasi kontainer blob sebagai target untuk log audit, buat dan aktifkan spesifikasi audit server atau spesifikasi audit database seperti yang Anda lakukan untuk Microsoft SQL Server:
Aktifkan audit server yang Anda buat di langkah 3:
ALTER SERVER AUDIT [<your_audit_name>] WITH (STATE = ON); GO
Untuk informasi tambahan:
- Mengaudit perbedaan antara Azure SQL Managed Instance dan database di Microsoft SQL Server
- BUAT AUDIT SERVER
- ALTER SERVER AUDIT
Audit operasi Dukungan Microsoft
Audit operasi Dukungan Microsoft untuk SQL Managed Instance memungkinkan Anda untuk mengaudit operasi teknisi dukungan Microsoft ketika 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 audit operasi Dukungan Microsoft, navigasikan ke Buat Audit pada Keamanan> Auditdi SQL Manage Instance Anda, dan pilih operasi dukungan Microsoft.
Catatan
Anda harus membuat audit server terpisah untuk mengaudit operasi Microsoft. Jika Anda mengaktifkan kotak centang ini untuk audit yang ada, maka itu akan menimpa audit dan hanya operasi dukungan log.
Menyiapkan audit untuk server Anda ke Azure Event Hubs atau log Azure Monitor
Log audit dari instans terkelola dapat dikirim ke Azure Event Hubs atau log Azure Monitor. Bagian ini menjelaskan cara mengonfigurasi audit:
Navigasikan di portal Microsoft Azure ke instans terkelola.
Pilih Pengaturan diagnostik.
Pilih Aktifkan diagnostik. Jika diagnostik sudah diaktifkan, +Tambahkan pengaturan diagnostik akan ditampilkan.
Pilih SQLSecurityAuditEvents di dalam daftar log.
Jika Anda mengonfigurasi operasi dukungan Microsoft, pilih Operasi DevOps Log Audit dalam daftar log.
Pilih tujuan untuk acara audit: Azure Event Hubs, log Azure Monitor, atau keduanya. Konfigurasikan untuk setiap target parameter yang diperlukan (misalnya, ruang kerja Analitik Log).
Pilih Simpan.
Sambungkan ke instans terkelola menggunakan SQL Server Management Studio (SSMS) atau klien lain yang didukung.
Jalankan pernyataan T-SQL berikut untuk melakukan audit server:
CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR; GO
Buat dan aktifkan spesifikasi audit server atau spesifikasi audit database seperti yang Anda lakukan pada SQL Server:
Aktifkan audit server yang dibuat di langkah 8:
ALTER SERVER AUDIT [<your_audit_name>] WITH (STATE = ON); GO
Menyiapkan audit menggunakan T-SQL
-- Create audit without OPERATOR_AUDIT - Will audit standard SQL Audit events
USE [master];
GO
CREATE SERVER AUDIT testingauditnodevops TO EXTERNAL_MONITOR;
GO
CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_nodevops
FOR SERVER AUDIT testingauditnodevops ADD (SUCCESSFUL_LOGIN_GROUP),
ADD (BATCH_COMPLETED_GROUP),
ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO
ALTER SERVER AUDIT testingauditnodevops
WITH (STATE = ON);
GO
-- Create separate audit without OPERATOR_AUDIT ON - Will audit Microsoft Support Operations
USE [master]
CREATE SERVER AUDIT testingauditdevops TO EXTERNAL_MONITOR
WITH (OPERATOR_AUDIT = ON);
GO
CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_devops
FOR SERVER AUDIT testingauditdevops ADD (SUCCESSFUL_LOGIN_GROUP),
ADD (BATCH_COMPLETED_GROUP),
ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO
ALTER SERVER AUDIT testingauditdevops
WITH (STATE = ON);
GO
Menggunakan log audit
Menggunakan log yang disimpan di Microsoft Azure Storage
Ada beberapa metode yang dapat Anda gunakan untuk menampilkan log audit blob.
Gunakan fungsi sistem
sys.fn_get_audit_file
(T-SQL) untuk mengembalikan data log audit dalam format tabel. Untuk informasi selengkapnya tentang menggunakan fungsi ini, lihat dokumentasi sys.fn_get_audit_file.Anda dapat menjelajahi log audit dengan menggunakan alat seperti Azure Storage Explorer. Di Microsoft Azure Storage, log audit disimpan sebagai kumpulan file blob dalam kontainer yang ditetapkan untuk menyimpan log audit. Untuk informasi selengkapnya tentang hierarki folder penyimpanan, konvensi penamaan, dan format log, lihat Referensi Format Log Audit Blob.
Untuk daftar lengkap metode penggunaan log audit, lihat Mulai dengan audit Microsoft Azure SQL Database.
Menggunakan log yang disimpan di Azure Event Hubs
Untuk menggunakan data log audit dari Azure Event Hubs, Anda harus menyiapkan streaming untuk mengkonsumsi peristiwa dan menulisnya ke target. Untuk informasi selengkapnya, lihat dokumentasi Azure Event Hubs.
Menggunakan dan menganalisis log yang disimpan di log Azure Monitor
Jika log audit ditulis ke log Azure Monitor, log tersebut tersedia di ruang kerja Analitik Log, tempat Anda dapat menjalankan penelusuran lanjutan pada data audit. Sebagai titik awal, buka ruang kerja Analitik Log. Di bawah bagian Umum , pilih Log dan masukkan kueri dasar, seperti: search "SQLSecurityAuditEvents"
untuk menampilkan log audit.
Log Azure Monitor memberi Anda insight operasional real time menggunakan penelusuran terintegrasi dan dasbor khusus untuk menganalisis jutaan data dengan mudah di semua beban kerja dan server Anda. Untuk informasi selengkapnya tentang bahasa dan perintah pencarian log Azure Monitor, lihat Referensi pencarian log Azure Monitor.
Catatan
Artikel ini baru-baru ini diperbarui untuk menggunakan istilah log Azure Monitor alih-alih Analitik Log. Data log masih disimpan di ruang kerja Analitik Log dan masih dikumpulkan dan dianalisis oleh layanan Analitik Log yang sama. Kami memperbarui terminologi untuk mencerminkan peran log di Azure Monitor dengan lebih baik. Lihat Perubahan terminologi Azure Monitor untuk detailnya.
Perbedaan audit antara database di Azure SQL Managed Instance dan database di SQL Server
Perbedaan utama antara audit database di Azure SQL Managed Instance dan database di Microsoft SQL Server adalah:
- Dengan Azure SQL Managed Instance, audit bekerja di tingkat server dan menyimpan file log
.xel
di penyimpanan Azure Blob. - Di SQL Server, audit berfungsi di tingkat server, tetapi menyimpan peristiwa di log sistem file dan peristiwa windows.
Audit XEvent dalam instans terkelola mendukung target penyimpanan Azure Blob. Log file dan Windows tidak didukung.
Perbedaan utama dalam sintaksis CREATE AUDIT
untuk mengaudit ke penyimpanan Azure Blob adalah:
- Sintaksis baru
TO URL
disediakan dan memungkinkan Anda menentukan URL kontainer penyimpanan Blob Azure tempat.xel
file ditempatkan. - Sintaksis baru
TO EXTERNAL MONITOR
disediakan untuk mengaktifkan Azure Event Hubs dan target log Azure Monitor. - Sintaks
TO FILE
tidak didukung karena Azure SQL Managed Instance tidak dapat mengakses berbagi file Windows. - Opsi matikan tidak didukung.
queue_delay
dari 0 tidak didukung.
Langkah berikutnya
- Untuk daftar lengkap metode penggunaan log audit, lihat Mulai dengan audit Microsoft Azure SQL Database.