Azure SQL Yönetilen Örneği denetimini kullanmaya başlama

Şunlar için geçerlidir: Azure SQL Yönetilen Örneği

Azure SQL Yönetilen Örneği denetimi veritabanı olaylarını izler ve bunları Azure depolama hesabınızdaki bir denetim günlüğüne yazar. Denetim şunları da sağlar:

  • Mevzuatla uyumluluk, veritabanı etkinliğini anlama ve işletme sorunlarını veya şüpheli güvenlik ihlallerini işaret edebilecek farklılıklar ve anormal durumlar hakkında içgörü sahip olmanıza yardımcı olur.
  • Uyumluluğu garanti etmese bile uyumluluk standartlarına uymayı sağlar ve kolaylaştırır. Daha fazla bilgi için, en güncel SQL Yönetilen Örneği uyumluluk sertifikalarının listesini bulabileceğiniz Microsoft Azure Güven Merkezi'ne bakın.

Önemli

Azure SQL Veritabanı, Azure Synapse ve Azure SQL Yönetilen Örneği için denetim, kullanılabilirlik ve performans için iyileştirilmiştir. Çok yüksek etkinlik veya yüksek ağ yükü sırasında Azure SQL Veritabanı, Azure Synapse ve Azure SQL Yönetilen Örneği işlemlerin devam etmelerine izin verir ve bazı denetlenen olayları kaydetmeyebilir.

Sunucunuz için Azure Depolama'ya denetimi ayarlama

Aşağıdaki bölümde yönetilen örneğinizde denetimin yapılandırması açıklanmaktadır.

  1. Azure portalına gidin.

  2. Denetim günlüklerinin depolandığı bir Azure Depolama kapsayıcısı oluşturun.

    1. Denetim günlüklerinizi depolamak istediğiniz Azure depolama hesabına gidin.

      • Bölgeler arası okumaları/yazmaları önlemek için yönetilen örnekle aynı bölgede bir depolama hesabı kullanın.
      • Depolama hesabınız bir Sanal Ağ veya Güvenlik Duvarının arkasındaysa bkz. Sanal ağdan erişim verme.
      • Bekletme süresini 0 'dan (sınırsız saklama) başka bir değere değiştirirseniz, bekletme yalnızca bekletme değeri değiştirildikten sonra yazılan günlüklere uygulanır (bekletmenin sınırsız olarak ayarlandığı süre boyunca yazılan günlükler, bekletme etkinleştirildikten sonra bile korunur).
    2. Depolama hesabında Genel Bakış'a gidin ve Bloblar'ı seçin.

      Azure Blobları pencere öğesini gösteren ekran görüntüsü.

    3. Üstteki menüde + Kapsayıcı'yı seçerek yeni bir kapsayıcı oluşturun.

      Blob kapsayıcısı oluştur simgesini gösteren ekran görüntüsü.

    4. Kapsayıcı Adı sağlayın, Genel erişim düzeyini Özel olarak ayarlayın ve ardından Tamam'ı seçin.

      Blob kapsayıcısı oluşturma yapılandırmasını gösteren ekran görüntüsü.

    Önemli

    Sunucu veya veritabanı düzeyinde denetim olayları için sabit bir günlük deposu yapılandırmak isteyen müşteriler Azure Depolama tarafından sağlanan yönergeleri izlemelidir. (Lütfen seçtiğinizden emin olunSabit blob depolamayı yapılandırırken ek eklemelere izin verin.)

  3. Denetim günlükleri için kapsayıcıyı oluşturduktan sonra, denetim günlükleri için hedef olarak yapılandırmanın iki yolu vardır: T-SQL veya SQL Server Management Studio (SSMS) kullanıcı arabirimini kullanma:

    • T-SQL kullanarak denetim günlükleri için blob depolamayı yapılandırma:

      1. Kapsayıcılar listesinde yeni oluşturulan kapsayıcıyı ve ardından Kapsayıcı özellikleri'ni seçin.

        Blob kapsayıcı özellikleri düğmesini gösteren ekran görüntüsü.

      2. Kopyala simgesini seçerek kapsayıcı URL'sini kopyalayın ve gelecekte kullanmak üzere URL'yi (örneğin, Not Defteri'nde) kaydedin. Kapsayıcı URL'si biçimi https://<StorageName>.blob.core.windows.net/<ContainerName>

        Blob kapsayıcısı kopyalama URL'sini gösteren ekran görüntüsü.

      3. Depolama hesabına yönetilen örnek denetimi erişim hakları vermek için bir Azure Depolama SAS belirteci oluşturun:

        • Önceki adımda kapsayıcıyı oluşturduğunuz Azure depolama hesabına gidin.

        • Depolama Ayarları menüsünde Paylaşılan erişim imzası'nı seçin.

          Depolama ayarları menüsünde paylaşılan erişim imzası simgesi.

        • SAS'yi aşağıdaki gibi yapılandırın:

          • İzin verilen hizmetler: Blob

          • Başlangıç tarihi: Saat dilimiyle ilgili sorunlardan kaçınmak için dünkü tarihi kullanın

          • Bitiş tarihi: Bu SAS belirtecinin süresinin dolmasına neden olan tarihi seçin

            Not

            Denetim hatalarını önlemek için belirteci süresi dolmak üzere yenileyin.

          • SAS Oluştur'a tıklayın.

            SAS yapılandırmasını gösteren ekran görüntüsü.

        • SAS belirteci en altta görünür. Kopyala simgesini seçerek belirteci kopyalayın ve gelecekte kullanmak üzere kaydedin (örneğin, Not Defteri'nde).

          SAS belirtecinin nasıl kopyalanmasını gösteren ekran görüntüsü.

          Önemli

          Belirtecin başından soru işareti (?) karakterini kaldırın.

      4. SQL Server Management Studio veya desteklenen başka bir araç aracılığıyla yönetilen örneğine bağlanın.

      5. Önceki adımlarda oluşturduğunuz kapsayıcı URL'sini ve SAS belirtecini kullanarak yeni bir kimlik bilgisi oluşturmak için aşağıdaki T-SQL deyimini yürütebilirsiniz:

        CREATE CREDENTIAL [<container_url>]
        WITH IDENTITY='SHARED ACCESS SIGNATURE',
        SECRET = '<SAS KEY>'
        GO
        
      6. Yeni bir sunucu denetimi oluşturmak için aşağıdaki T-SQL deyimini yürütebilirsiniz (kendi denetim adınızı seçin ve önceki adımlarda oluşturduğunuz kapsayıcı URL'sini kullanın). Belirtilmezse, RETENTION_DAYS varsayılan değer 0'dır (sınırsız bekletme):

        CREATE SERVER AUDIT [<your_audit_name>]
        TO URL (PATH ='<container_url>', RETENTION_DAYS = <integer>);
        GO
        
      7. Sunucu denetim belirtimi veya veritabanı denetim belirtimi oluşturarak devam edin.

    • SQL Server Management Studio 18 ve sonraki sürümleri kullanarak denetim günlükleri için blob depolamayı yapılandırın:

      1. SQL Server Management Studio kullanıcı arabirimini kullanarak yönetilen örneğe bağlanın.

      2. Nesne Gezgini kök notunu genişletin.

      3. Güvenlik düğümünü genişletin, Denetimler düğümüne sağ tıklayın ve Yeni Denetim'i seçin:

        Güvenlik ve denetim düğümünü genişletmeyi gösteren ekran görüntüsü.

      4. Denetim hedefi'nde URL'nin seçili olduğundan emin olun ve Gözat'ı seçin:

        Azure Depolama'ya gözatma işlemini gösteren ekran görüntüsü.

      5. (İsteğe bağlı) Azure hesabınızda oturum açın:

        Azure'da oturum açmayı gösteren ekran görüntüsü.

      6. Açılan listelerden bir abonelik, depolama hesabı ve blob kapsayıcısı seçin veya Oluştur'u seçerek kendi kapsayıcınızı oluşturun. İşiniz bittiğinde Tamam'ı seçin:

        Azure aboneliği, depolama hesabı ve blob kapsayıcısı'yı seçin.

      7. Denetim Oluştur iletişim kutusunda Tamam'ı seçin.

        Not

        Denetim oluşturmak için SQL Server Management Studio kullanıcı arabirimi kullanılırken, SAS anahtarına sahip kapsayıcı için otomatik olarak bir kimlik bilgisi oluşturulur.

      8. Blob kapsayıcısını denetim günlükleri için hedef olarak yapılandırdıktan sonra, SQL Server'da olduğu gibi bir sunucu denetim belirtimi veya veritabanı denetim belirtimi oluşturup etkinleştirin:

    • Sunucu denetim belirtimi oluşturma T-SQL kılavuzu

    • Veritabanı denetim belirtimi oluşturma T-SQL kılavuzu

  4. 3. adımda oluşturduğunuz sunucu denetimini etkinleştirin:

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

Ek bilgi için:

Microsoft Desteği işlemlerini denetleme

SQL Yönetilen Örneği için Microsoft Desteği işlemlerinin denetlenilmesi, Microsoft destek mühendislerinin destek isteği sırasında sunucunuza erişmesi gerektiğinde işlemlerini denetlemenize olanak tanır. Denetiminizle birlikte bu özelliğin kullanımı, işgücünüze yönelik daha fazla şeffaflık sunmanın yanı sıra anomali algılama, eğilim görselleştirme ve veri kaybı önlemeye de olanak verir.

Microsoft Desteği işlemlerinin denetimini etkinleştirmek için SQL Yönetim Örneğinizdeki Güvenlik>Denetimi altında Denetim Oluştur'a gidin ve Microsoft destek işlemleri'ne tıklayın.

Denetim oluştur simgesini gösteren ekran görüntüsü.

Not

Microsoft işlemlerini denetlemek için ayrı bir sunucu denetimi oluşturmanız gerekir. Bu onay kutusunu mevcut bir denetim için etkinleştirirseniz denetim üzerine yazılır ve yalnızca destek işlemlerini günlüğe kaydeder.

Sunucunuz için Event Hubs veya Azure İzleyici günlüklerine denetimi ayarlama

Yönetilen örnekteki denetim günlükleri Azure Event Hubs veya Azure İzleyici günlüklerine gönderilebilir. Bu bölümde bunun nasıl yapılandırıldığı açıklanmaktadır:

  1. Azure portalında yönetilen örneğe gidin.

  2. Tanılama ayarları'nı seçin.

  3. Tanılamayı aç'ı seçin. Tanılama zaten etkinse bunun yerine +Tanılama ayarı ekle seçeneği gösterilir.

  4. Günlük listesinde SQLSecurityAuditEvents öğesini seçin.

  5. Microsoft destek işlemlerini yapılandırıyorsanız, günlük listesinde DevOps işlemleri Denetim Günlükleri'ni seçin.

  6. Denetim olayları için bir hedef seçin: Event Hubs, Azure İzleyici günlükleri veya her ikisi. Her hedef için gerekli parametreleri (örneğin Log Analytics çalışma alanı) yapılandırın.

  7. Kaydet'i seçin.

    Tanılama ayarlarını yapılandırmayı gösteren ekran görüntüsü.

  8. SQL Server Management Studio (SSMS) veya desteklenen başka bir istemci kullanarak yönetilen örneğe bağlanın.

  9. Sunucu denetimi oluşturmak için aşağıdaki T-SQL deyimini yürütür:

    CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR;
    GO
    
  10. SQL Server'da olduğu gibi bir sunucu denetim belirtimi veya veritabanı denetim belirtimi oluşturun ve etkinleştirin:

  11. 8. adımda oluşturulan sunucu denetimini etkinleştirin:

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

T-SQL kullanarak denetimi ayarlama

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

Denetim günlüklerini kullanma

Azure Depolama'da depolanan günlükleri kullanma

Blob denetim günlüklerini görüntülemek için kullanabileceğiniz çeşitli yöntemler vardır.

  • Denetim günlüğü verilerini tablo biçiminde döndürmek için sistem işlevini sys.fn_get_audit_file (T-SQL) kullanın. Bu işlevi kullanma hakkında daha fazla bilgi için sys.fn_get_audit_file belgelerine bakın.

  • Azure Depolama Gezgini gibi bir araç kullanarak denetim günlüklerini inceleyebilirsiniz. Azure Depolama'da denetim günlükleri, denetim günlüklerini depolamak için tanımlanan bir kapsayıcı içinde blob dosyaları koleksiyonu olarak kaydedilir. Depolama klasörünün hiyerarşisi, adlandırma kuralları ve günlük biçimi hakkında daha fazla bilgi için bkz . Blob Denetim Günlüğü Biçimi Başvurusu.

  • Denetim günlüğü tüketim yöntemlerinin tam listesi için bkz. Azure SQL Veritabanı denetimi kullanmaya başlama.

Event Hubs'da depolanan günlükleri kullanma

Event Hubs'dan denetim günlükleri verilerini kullanmak için olayları kullanacak ve bunları bir hedefe yazacak bir akış ayarlamanız gerekir. Daha fazla bilgi için Azure Event Hubs belgelerine bakın.

Azure İzleyici günlüklerinde depolanan günlükleri kullanma ve analiz etme

Denetim günlükleri Azure İzleyici günlüklerine yazılırsa, bunlar Log Analytics çalışma alanında kullanılabilir ve burada denetim verileri üzerinde gelişmiş aramalar çalıştırabilirsiniz. Başlangıç noktası olarak Log Analytics çalışma alanına gidin. Genel bölümünde Günlükler'i seçin ve denetim günlüklerini görüntülemek için: search "SQLSecurityAuditEvents" gibi temel bir sorgu girin.

Azure İzleyici günlükleri, tüm iş yükleriniz ve sunucularınız genelinde milyonlarca kaydı kolayca analiz etmek için tümleşik arama ve özel panoları kullanarak gerçek zamanlı operasyonel içgörüler sağlar. Azure İzleyici günlükleri arama dili ve komutları hakkında daha fazla bilgi için bkz . Azure İzleyici günlükleri arama başvurusu.

Not

Bu makale kısa süre önce Log Analytics yerine Azure İzleyici günlükleri terimini kullanacak şekilde güncelleştirildi. Günlük verileri hala bir Log Analytics çalışma alanında depolanır ve yine de aynı Log Analytics hizmeti tarafından toplanır ve analiz edilir. Azure İzleyici'deki günlüklerin rolünü daha iyi yansıtacak şekilde terminolojiyi güncelleştiriyoruz. Ayrıntılar için bkz . Azure İzleyici terminolojisi değişiklikleri .

Azure SQL Yönetilen Örneği veritabanları ile SQL Server'daki veritabanları arasındaki farkları denetleme

Azure SQL Yönetilen Örneği veritabanlarında denetim ile SQL Server'daki veritabanları arasındaki temel farklar şunlardır:

  • Azure SQL Yönetilen Örneği ile denetim sunucu düzeyinde çalışır ve günlük dosyalarını Azure Blob depolamada depolar.xel.
  • SQL Server'da denetim sunucu düzeyinde çalışır, ancak olayları dosya sisteminde ve Windows olay günlüklerinde depolar.

Yönetilen örneklerde XEvent denetimi, Azure Blob depolama hedeflerini destekler. Dosya ve Windows günlükleri desteklenmez.

Azure Blob depolamada denetim söz dizimindeki CREATE AUDIT temel farklar şunlardır:

  • Yeni bir söz dizimi TO URL sağlanır ve dosyaların yerleştirildiği Azure Blob depolama kapsayıcısının URL'sini belirtmenizi .xel sağlar.
  • Event Hubs ve Azure İzleyici günlük hedeflerini etkinleştirmek için yeni bir söz dizimi TO EXTERNAL MONITOR sağlanır.
  • Azure SQL Yönetilen Örneği Windows dosya paylaşımlara erişemediğinden söz dizimi TO FILE desteklenmiyor.
  • Kapatma seçeneği desteklenmiyor.
  • queue_delay0 desteklenmez.

Sonraki adımlar