Öğretici: MySQL için Azure Veritabanı - Esnek Sunucu kullanarak denetim günlüklerini yapılandırma

ŞUNLAR IÇIN GEÇERLIDIR: MySQL için Azure Veritabanı - Esnek Sunucu

Denetim günlüklerini yapılandırmak için esnek MySQL için Azure Veritabanı sunucu kullanabilirsiniz. Denetim günlükleri, bağlantı, yönetim, veri tanımı dili (DDL) ve veri işleme dili (DML) olayları gibi veritabanı düzeyinde etkinlikleri izlemek için kullanılabilir. Bu tür günlükler genellikle uyumluluk amacıyla kullanılır. Normalde veritabanı denetimini kullanarak şunları yapmak için kullanılır:

  • Belirli bir şema, tablo veya satır içinde gerçekleşen veya belirli içeriği etkileyen tüm eylemleri hesaba ekleyin.
  • Kullanıcıların (veya başkalarının) sorumluluklarına bağlı olarak uygunsuz eylemler gerçekleştirmesini engelleyin.
  • Şüpheli etkinliği araştırın.
  • Belirli veritabanı etkinlikleriyle ilgili verileri izleyin ve toplayın.

Bu makalede, MySQL için Azure Veritabanı esnek sunucunun denetim bilgilerini görselleştirmek için MySQL denetim günlüklerinin, Log Analytics araçlarının veya çalışma kitabı şablonunun nasıl kullanılacağı açıklanır.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Azure portalını veya Azure CLI'yi kullanarak denetimi yapılandırma
  • Tanılamayı ayarlama
  • Log Analytics kullanarak denetim günlüklerini görüntüleme
  • Çalışma kitaplarını kullanarak denetim günlüklerini görüntüleme

Önkoşullar

Azure portalını kullanarak denetimi yapılandırma

  1. Azure Portal oturum açın.

  2. Esnek sunucu örneğinizi seçin.

  3. Sol bölmedeki Ayarlar altında Sunucu parametreleri'ni seçin.

    Screenshot showing the 'Server parameters' list.

  4. audit_log_enabled parametresi için ON'ı seçin.

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

  5. audit_log_events parametresi için açılan listeden günlüğe kaydedilecek olay türlerini seçin.

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

  6. audit_log_exclude_users ve audit_log_include_users parametreleri için, MySQL kullanıcı adlarını sağlayarak günlüğe eklenecek veya günlüğe kaydedilecek tüm MySQL kullanıcılarını belirtin.

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

  7. Kaydet'i seçin.

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

Azure CLI kullanarak denetimi yapılandırma

Alternatif olarak, aşağıdaki komutu çalıştırarak Azure CLI'dan esnek sunucunuz için denetimi etkinleştirebilir ve yapılandırabilirsiniz:

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

Tanılamayı ayarlama

Denetim günlükleri, günlüklerinizi üç veri havuzuna aktarmanıza olanak sağlamak için Azure İzleyici tanılama ayarlarıyla tümleşiktir:

  • Log Analytics çalışma alanı
  • Olay hub'ı
  • Depolama hesabı

Dekont

Tanılama ayarlarını yapılandırmadan önce veri havuzlarınızı oluşturmanız gerekir. Yapılandırdığınız veri havuzlarında denetim günlüklerine erişebilirsiniz. Günlüklerin görünmesi 10 dakika kadar sürebilir.

  1. Sol bölmedeki İzleme'nin altında Tanılama ayarları'nı seçin.

  2. Tanılama ayarları bölmesinde Tanılama ayarı ekle'yi seçin.

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

  3. Ad kutusuna tanılama ayarı için bir ad girin.

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

  4. Denetim günlüklerinin göndereceği hedefleri (Log Analytics çalışma alanı, olay hub'ı veya depolama hesabı) ilgili onay kutularını seçerek belirtin.

    Dekont

    Bu öğreticide denetim günlüklerini log analytics çalışma alanına göndereceksiniz.

  5. Günlük altında, günlük türü için MySqlAuditLogs onay kutusunu seçin.

  6. Veri havuzlarını denetim günlüklerine kanal olacak şekilde yapılandırdıktan sonra Kaydet'i seçin.

Log Analytics kullanarak denetim günlüklerini görüntüleme

  1. Log Analytics'te, sol bölmedeki İzleme'nin altında Günlükler'i seçin.

  2. Sorgular penceresini kapatın.

    Screenshot of the Log Analytics 'Queries' pane.

  3. Sorgu penceresinde yürütülecek sorguyu yazabilirsiniz. Örneğin, belirli bir sunucudaki denetlenen olayların özetini bulmak için aşağıdaki sorguyu kullandık:

    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.

Çalışma kitaplarını kullanarak denetim günlüklerini görüntüleme

Denetim için kullandığınız çalışma kitabı şablonu, platform günlüklerini göndermek için tanılama ayarları oluşturmanızı gerektirir.

  1. Azure İzleyici'de, sol bölmede Etkinlik günlüğü'nü ve ardından Tanılama ayarları'nı seçin.

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

  2. Tanılama ayarı bölmesinde yeni bir ayar ekleyebilir veya var olan bir ayarı düzenleyebilirsiniz. Her ayarın her hedef türünden en fazla biri olabilir.

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

    Dekont

    Daha önce yapılandırdığınız veri havuzlarındaki (Log Analytics çalışma alanı, depolama hesabı veya olay hub'ı) yavaş sorgu günlüklerine erişebilirsiniz. Günlüklerin görünmesi 10 dakika kadar sürebilir.

  3. Azure portalının sol bölmesindeki MySQL için Azure Veritabanı esnek sunucu örneğiniz için izleme'nin altında Çalışma Kitapları'nı seçin.

  4. Denetim çalışma kitabını seçin.

    Screenshot showing all workbooks in the workbook gallery.

Çalışma kitabında aşağıdaki görselleştirmeleri görüntüleyebilirsiniz:

  • Hizmette Yönetici Eylem
  • Denetim Özeti
  • Denetim Bağlan Olayları Özeti
  • denetim Bağlan olayları
  • Tablo Erişim Özeti
  • Tanımlanan Hatalar

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

Screenshot of workbook template 'Audit Connection Events'.

Dekont

  • Ayrıca bu şablonları düzenleyebilir ve gereksinimlerinize göre özelleştirebilirsiniz. Daha fazla bilgi için Azure Çalışma Kitapları'nın "Düzenleme modu" bölümüne bakın.
  • Hızlı bir görünüm için çalışma kitaplarını veya Log Analytics sorgusunu panonuza sabitleyebilirsiniz. Daha fazla bilgi için bkz . Azure portalında pano oluşturma.

Hizmet görünümündeki Yönetici Istrative Actions, hizmette gerçekleştirilen etkinlikle ilgili ayrıntıları verir. Aboneliğinizdeki kaynaklarda gerçekleştirilen herhangi bir yazma işlemi (PUT, POST, DELETE) için ne, kim ve ne zaman gerçekleştirileceğini belirlemenize yardımcı olur.

Veritabanı etkinliğinin ayrıntılarını anlamanıza yardımcı olması için diğer görselleştirmeleri kullanabilirsiniz. Veritabanı güvenliğinin dört bölümü vardır:

  • Sunucu güvenliği: Yetkisiz personelin veritabanına erişimini engellemekten sorumludur.
  • Veritabanı bağlantısı: Yönetici, yetkili personel tarafından veritabanı güncelleştirmelerinin gerçekleştirilip gerçekleştirilmediğini denetlemelidir.
  • Tablo erişim denetimi: Yetkili kullanıcıların erişim anahtarlarını ve veritabanındaki her birinin işleme yetkisi olan tabloları gösterir.
  • Veritabanı erişim kısıtlaması: Özellikle İnternet'e veritabanı yükleyenler için önemlidir ve dış kaynakların veritabanınıza erişmesini önlemeye yardımcı olur.

Sonraki adımlar