Mulai dengan audit Azure SQL Managed Instance

Aplikasi ke:Azure SQL Managed Instance

Artikel ini mengajarkan Anda cara mengonfigurasi audit SQL Server di Azure SQL Managed Instance. Audit melacak peristiwa database dan menulisnya ke log audit di akun penyimpanan Azure Anda.

Menyiapkan audit untuk instans Anda di Azure Storage

Bagian berikut menjelaskan konfigurasi audit pada instans terkelola SQL Anda.

  1. Buka portal Azure.

  2. Buat Azure Storage container tempat log audit disimpan.

    1. Navigasi ke akun penyimpanan Azure tempat Anda ingin menyimpan log audit Anda.

      • Gunakan akun penyimpanan di wilayah yang sama dengan instans terkelola SQL sehingga Anda dapat menghindari baca/tulis lintas wilayah.
      • Jika akun penyimpanan Anda berada di belakang Jaringan Virtual atau Firewall, lihat Pemberian akses dari jaringan virtual.
      • Jika Anda mengubah periode retensi dari 0 (retensi tidak terbatas) ke nilai lain, retensi hanya akan berlaku untuk log yang ditulis setelah nilai retensi diubah. Log yang ditulis selama periode ketika retensi diatur pada tidak terbatas dipertahankan, bahkan setelah retensi diaktifkan.
    2. Di akun penyimpanan, buka Gambaran Umum dan pilih Blob.

      Screenshot yang memperlihatkan widget Azure Blobs.

    3. Di menu atas, pilih + Kontainer untuk membuat kontainer baru.

      Cuplikan layar memperlihatkan ikon Buat kontainer blob.

    4. Berikan Nama kontainer, atur Tingkat akses publik ke Privat, lalu pilih OK.

      Cuplikan layar memperlihatkan konfigurasi Buat kontainer blob.

    Penting

    Pelanggan yang ingin mengonfigurasi penyimpanan log yang tidak dapat diubah untuk peristiwa audit tingkat server atau database mereka harus mengikuti instruksi yang disediakan oleh Azure Storage. (Pastikan Anda memilih Izinkan penambahan tambahan saat mengonfigurasi penyimpanan blob yang tidak dapat diubah.)

  3. Setelah Anda membuat kontainer untuk log audit, ada dua cara untuk mengonfigurasinya sebagai target untuk log audit: gunakan T-SQL atau gunakan UI SQL Server Management Studio (SSMS):

  • Konfigurasikan penyimpanan blob untuk log audit menggunakan T-SQL:

    1. Dalam daftar kontainer, pilih kontainer yang baru dibuat lalu pilih Properti kontainer.

      Cuplikan layar memperlihatkan tombol properti kontainer Blob.

    2. 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>

      Cuplikan layar memperlihatkan URL salinan kontainer Blob.

    3. Hasilkan token Azure Storage SAS untuk memberikan hak akses audit instans terkelola SQL ke akun penyimpanan:

      • Navigasikan ke akun penyimpanan Azure tempat Anda membuat kontainer di langkah sebelumnya.

      • Pilih Tanda tangan akses bersama di menu Pengaturan Penyimpanan.

        Ikon 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

          Untuk menghindari kegagalan audit, perbarui token setelah kedaluwarsa.

        • Pilih Hasilkan SAS.

          Cuplikan layar memperlihatkan konfigurasi SAS.

      • Token SAS muncul di bagian bawah. Salin token dengan memilih ikon salin, dan simpan (misalnya, di Notepad) untuk digunakan di masa mendatang.

        Cuplikan layar memperlihatkan cara menyalin token SAS.

        Penting

        Hapus karakter tanda tanya (?) dari awal token.

    4. Sambungkan ke instans terkelola SQL Anda melalui SQL Server Management Studio atau alat lain yang didukung.

    5. 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
      
    6. 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
      
    7. Lanjutkan dengan membuat spesifikasi audit server atau spesifikasi audit database.

  • Konfigurasi penyimpanan blob untuk log audit, menggunakan SQL Server Management Studio 18 dan versi yang lebih baru:

    1. Sambungkan ke instans terkelola SQL menggunakan UI SQL Server Management Studio.

    2. Perluas catatan akar Object Explorer.

    3. Perluas node Keamanan , klik kanan pada simpul Audit , dan pilih Audit Baru:

      Cuplikan layar memperlihatkan cara Memperluas simpul keamanan dan audit.

    4. Pastikan URL dipilih di tujuan audit dan pilih Jelajah:

      Screenshot memperlihatkan cara Menelusuri Azure Storage.

    5. (Opsional) Masuk ke akun Azure Anda:

      Screenshot memperlihatkan cara Masuk ke Azure.

    6. Pilih langganan, akun penyimpanan, dan kontainer blob dari menu dropdown, atau buat kontainer Anda sendiri dengan memilih Buat. Setelah selesai, pilih OK:

      Pilih langganan Azure, akun penyimpanan, dan kontainer blob.

    7. Pilih OK dalam dialog Buat Audit .

      Catatan

      Saat menggunakan UI SQL Server Management Studio untuk membuat audit, kredensial ke kontainer dengan kunci SAS 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 SQL Server:

Gunakan pernyataan T-SQL berikut untuk mengaktifkan audit server:

ALTER SERVER AUDIT [<your_audit_name>]
WITH (STATE = ON);
GO

Untuk informasi tambahan:

Audit terhadap operasi pendukung Microsoft

Audit operasi Microsoft Support untuk SQL Managed Instance memungkinkan Anda mengaudit operasi teknisi Microsoft support 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 Microsoft Support, navigasikan ke Buat Audit di bawah Keamanan>Audit di SQL Manage Instance Anda, dan pilih operasi Microsoft support.

Cuplikan layar memperlihatkan ikon

Catatan

Anda harus membuat audit server terpisah untuk mengaudit operasi Microsoft. Jika Anda mengaktifkan kotak centang ini untuk audit yang ada, maka itu akan menggantikan audit dan hanya mencatat operasi dukungan.

Menyiapkan audit untuk server Anda melalui Azure Event Hubs atau log Azure Monitor

Log audit dari instans terkelola SQL dapat dikirim ke log Azure Event Hubs atau Azure Monitor. Bagian ini menjelaskan cara membuat konfigurasi ini:

  1. Navigasikan di portal Azure ke instans terkelola SQL.

  2. Pilih Pengaturan diagnostik.

  3. Pilih Aktifkan diagnostik. Jika diagnostik sudah diaktifkan, +Tambahkan pengaturan diagnostik tersedia sebagai gantinya.

  4. Pilih SQLSecurityAuditEvents di dalam daftar log.

  5. Jika Anda mengonfigurasi operasi dukungan Microsoft, pilih Log Audit Operasi DevOps dalam daftar log.

  6. Pilih tujuan untuk peristiwa audit: Azure Event Hubs, log Azure Monitor, atau keduanya. Konfigurasikan parameter yang diperlukan untuk setiap target, (misalnya, workspace Log Analytics).

  7. Pilih Simpan.

    Cuplikan layar memperlihatkan cara mengonfigurasi pengaturan diagnostik.

  8. Sambungkan ke instans terkelola SQL menggunakan SQL Server Management Studio (SSMS) atau klien lain yang didukung.

  9. Jalankan pernyataan T-SQL berikut untuk melakukan audit server:

    CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR;
    GO
    
  10. Buat dan aktifkan spesifikasi audit server atau spesifikasi audit database seperti yang Anda lakukan untuk SQL Server:

  11. 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

Mengonsumsi log yang disimpan dalam Azure Storage

Ada beberapa metode yang dapat Anda gunakan untuk menampilkan log audit blob.

  • Anda dapat menggunakan fungsi sistem sys.fn_get_audit_file (T-SQL) untuk mengembalikan data log audit dalam format tabular.

  • Anda dapat menjelajahi log audit dengan menggunakan alat seperti Azure Storage Explorer. Dalam Azure Storage, log audit disimpan sebagai kumpulan file blob dalam kontainer yang didefinisikan 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 konsumsi log audit, lihat Mulai audit Azure SQL Database.

Menggunakan log yang disimpan di Azure Event Hubs

Untuk menggunakan data log audit dari Azure Event Hubs, Anda perlu menyiapkan aliran untuk mengonsumsi peristiwa dan menulisnya ke target. Untuk informasi selengkapnya, lihat dokumentasi Azure Event Hubs.

Mengonsumsi dan menganalisis log yang disimpan dalam log Azure Monitor

Jika log audit ditulis ke log Azure Monitor, log tersebut tersedia di ruang kerja Log Analytics, tempat Anda dapat menjalankan pencarian tingkat lanjut pada data audit. Sebagai titik awal, navigasikan ke ruang kerja Log Analytics. Di bawah bagian Umum , pilih Log dan masukkan kueri dasar, seperti: search "SQLSecurityAuditEvents" untuk menampilkan log audit.

Azure Monitor log memberi Anda wawasan operasional real-time menggunakan pencarian terintegrasi dan dasbor kustom untuk dengan mudah menganalisis jutaan rekaman di semua beban kerja dan server Anda. Untuk informasi selengkapnya tentang bahasa dan perintah pencarian log Azure Monitor, lihat referensi pencarian log Azure Monitor.