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.

  1. Buka portal Microsoft Azure.

  2. Buat kontainer Microsoft Azure Storage, tempat log audit disimpan.

    1. 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).
    2. Di akun penyimpanan, buka Gambaran Umum dan pilih Blob.

      Screenshot showing the Azure Blobs widget.

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

      Screenshot showing the Create blob container icon.

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

      Screenshot showing the Create blob container configuration.

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

  3. 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:

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

        Screenshot showing the Blob container properties button.

      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>

        Screenshot showing the Blob container copy URL.

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

          Shared access signature icon in storage settings menu.

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

            Screenshot showing the SAS configuration.

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

          Screenshot showing how to copy SAS token.

          Penting

          Hapus karakter tanda tanya (?) dari awal token.

      4. Sambungkan ke instans terkelola 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.

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

      1. Sambungkan ke instans terkelola menggunakan antarmuka pengguna SQL Server Management Studio.

      2. Luaskan catatan akar SQL Server Object Explorer.

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

        Screenshot showing how to Expand security and audit node.

      4. Pastikan URL dipilih di tujuan Audit dan pilih Telusuri:

        Screenshot showing how to Browse Azure Storage.

      5. (Opsional) Masuk ke akun Azure Anda:

        Screenshot showing how to Sign in to Azure.

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

        Select Azure subscription, storage account, and blob container.

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

      8. 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:

    • Panduan membuat spesifikasi audit server T-SQL

    • Panduan membuat spesifikasi audit database T-SQL

  4. Aktifkan audit server yang Anda buat di langkah 3:

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

Untuk informasi tambahan:

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.

Screenshot showing the Create audit icon.

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:

  1. Navigasikan di portal Microsoft Azure ke instans terkelola.

  2. Pilih Pengaturan diagnostik.

  3. Pilih Aktifkan diagnostik. Jika diagnostik sudah diaktifkan, +Tambahkan pengaturan diagnostik akan ditampilkan.

  4. Pilih SQLSecurityAuditEvents di dalam daftar log.

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

  6. 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).

  7. Pilih Simpan.

    Screenshot showing how to configure diagnostic settings.

  8. Sambungkan ke instans terkelola 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 pada 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

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