Azure SQL Managed Instance denetimini kullanmaya başlama

Şunlar için geçerlidir:Azure SQL Managed Instance

Bu makale, Azure SQL Managed Instance'ta SQL Server Denetimi ile denetimi nasıl yapılandıracağınızı öğretir. Denetim, veritabanı olaylarını izler ve bunları Azure depolama hesabınızdaki bir denetim günlüğüne yazar.

Örneğiniz için denetimi Azure Storage olarak ayarlama

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

  1. Azure portalına gidin.

  2. Denetim günlüklerinin depolandığı Azure Storage container oluşturun.

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

      • Bölgeler arası okuma/yazma işlemlerine engel olmak için SQL yönetilen örneğiyle 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ğ üzerinden erişimi ver.
      • 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 değişmez bir günlük deposu yapılandırmak isteyen müşteriler, Azure Storage tarafından sağlanan yönergeleri izlemelidir. (Sabit blob depolamayı yapılandırırken Ek eklemelere izin ver'i seçtiğinizden emin olun.)

  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: S-SQL veya SQL Server Management Studio (SSMS) kullanıcı arabirimini kullanmak:

  • 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 SQL yönetilen örneği denetim erişimi hakları vermek için bir Azure Storage 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, süresi dolan belirteci yenileyin.

        • SAS Oluştur'u seçin.

          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 SQL 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 blob depolamayı denetim günlükleri için yapılandırın:

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

    2. Object Explorer 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. Audit hedefinde 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çma işlemini 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ğini, depolama hesabını ve blob kapsayıcısını 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.

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

Sunucu denetimini etkinleştirmek için aşağıdaki T-SQL deyimini kullanın:

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

Ek bilgi için:

Microsoft Support işlemlerini denetleme

SQL Managed Instance için Microsoft Support işlemlerinin denetlenilmesi, destek isteği sırasında sunucunuza erişmeleri gerektiğinde Microsoft support mühendislerin 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 Support işlemlerinin denetimini etkinleştirmek için, SQL Yönetim Örneğinizde Create Audit under Security>Audit gidin ve Microsoft support operations öğesini seçin.

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

Not

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

Sunucunuzdaki denetimi Event Hubs veya Azure Monitor günlüklerine ayarlayın

SQL yönetilen örneğinden denetim günlükleri Azure Event Hubs veya Azure Monitor günlüklerine gönderilebilir. Bu bölümde, bu yapılandırmanın nasıl yapılacağını açıklanmaktadır:

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

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

  3. Tanılamayı aç'ı seçin. Tanılama zaten etkinse bunun yerine +Tanılama ayarı ekle kullanılabilir.

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

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

  6. Denetim olayları için bir hedef seçin: Event Hubs, Azure Monitor 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 SQL yönetilen örneğine bağlanın.

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

    CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR;
    GO
    
  10. SQL Server için yaptığınız 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 Storage'de depolanan günlükleri tüketmek

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

Event Hubs'da depolanan günlükleri tüketme

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

Azure Monitor günlüklerinde depolanan günlükleri tüketme ve analiz etme

Denetim günlükleri Azure Monitor günlüklere yazılırsa, bunlar denetim verileri üzerinde gelişmiş aramalar çalıştırabileceğiniz Log Analytics çalışma alanında kullanılabilir. 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 Monitor 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 Monitor günlük arama dili ve komutları hakkında daha fazla bilgi için bakınız Azure Monitor günlük arama başvuru rehberi.