Azure SQL Veritabanı ve Azure Synapse Analytics için denetim

Şunlar için geçerlidir: Azure Synapse Analytics Azure SQL Veritabanı

Azure SQL Veritabanı ve Azure Synapse Analytics için denetim veritabanı olaylarını izler ve bunları Azure depolama hesabınızda, Log Analytics çalışma alanınızda veya Event Hubs'unuzda 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 sql veritabanı uyumluluk sertifikalarının en güncel listesini bulabileceğiniz Microsoft Azure Güven Merkezi bakın.

Not

Azure SQL Yönetilen Örneği denetimi hakkında bilgi için bkz. Azure SQL Yönetilen Örneği denetimiyle başlama.

Genel bakış

SQL Veritabanı denetimini kullanarak şunları yapabilirsiniz:

  • Seçili olayların denetim kaydını tutun . Denetlenecek veritabanı eylemi kategorilerini tanımlayabilirsiniz.
  • Veritabanı etkinliğiyle ilgili rapor . Etkinlik ve olay raporlamaya hızlı bir başlangıç yapmak için önceden yapılandırılmış raporları ve bir panoyu kullanabilirsiniz.
  • Raporları analiz etme . Şüpheli olayları, alışılmışın dışındaki etkinlikleri ve eğilimleri bulabilirsiniz.

Önemli

Azure SQL Veritabanı, Azure Synapse Analytics SQL havuzları ve Azure SQL Yönetilen Örneği denetimi, denetlenen veritabanının veya örneğin kullanılabilirliği ve performansı için iyileştirilmiştir. Çok yüksek etkinlik veya yüksek ağ yükü dönemlerinde denetim özelliği, denetim için işaretlenen tüm olayları kaydetmeden işlemlerin devam etmelerine olanak tanıyabilir.

Azure SQL Veritabanı için sunucu denetiminde performans, kullanılabilirlik ve güvenilirlik geliştirmeleri (Temmuz 2025 GA)

  • SQL Denetimi'nin ana bölümlerinin yeniden tasarlanması sunucu denetimlerinin kullanılabilirliğini ve güvenilirliğini artırdı. Ek bir avantaj olarak, SQL Server ve Azure SQL Yönetilen Örneği ile daha yakın özellik hizalaması vardır. Veritabanı denetimi değişmeden kalır.
  • Önceki denetim tasarımı bir veritabanı düzeyinde denetimi tetikler ve sunucudaki her veritabanı için bir denetim oturumu yürütür. Yeni denetim mimarisi, tüm veritabanları için denetim olaylarını yakalayan sunucu düzeyinde bir genişletilmiş olay oturumu oluşturur.
  • Yeni denetim tasarımı belleği ve CPU'yu iyileştirir ve denetimin SQL Server ve Azure SQL Yönetilen Örneği nasıl çalıştığıyla tutarlıdır.

Sunucu denetiminin yeniden mimarisindeki değişiklikler

  • Depolama hesabı için klasör yapısı değişikliği:
    • Birincil değişikliklerden biri, depolama hesabı kapsayıcılarında depolanan denetim günlükleri için klasör yapısı değişikliğini içerir. Daha önce, sunucu denetim günlükleri ayrı klasörlere yazılmıştır; her veritabanı için bir klasör, veritabanı adını klasör adı olarak kullanarak. Yeni güncelleştirmeyle, tüm sunucu denetim günlükleri etiketli mastertek bir klasörde birleştirilir. Bu davranış, Azure SQL Yönetilen Örneği ve SQL Server ile aynıdır.
  • Salt okunur çoğaltmalar için klasör yapısı değişikliği:
    • Salt okunur veritabanı çoğaltmalarının günlükleri daha önce salt okunur bir klasörde saklanıyordu. Bu günlükler artık master klasörüne yazılıyor. is_secondary_replica_trueyeni sütuna filtre uygulayarak bu günlükleri alabilirsiniz.
  • Denetim günlüklerini görüntülemek için gereken izinler:
    • VIEW DATABASE SECURITY AUDIT kullanıcı veritabanında izin

Ağır OLTP iş yükleri çalıştıran birçok veritabanının olduğu ortamlarda, varsayılan ayarlarla sunucu düzeyinde denetimin kullanılması mantıksal sunucuda çok büyük denetim birimlerine yol açabilir. Tüm veritabanlarındaki tüm olaylar aynı denetim klasörüne yazıldığından, tek bir veritabanı için denetim günlüklerini sorgulama yavaş ve işlem açısından pahalı hale gelir. Performansı artırmak ve gürültüyü azaltmak için:

  • Veritabanı düzeyinde denetime geçin. Her veritabanı, kendi denetim günlüğü klasörüne yazar ve bu, taranan toplam hacmi azaltarak alımı daha hızlı hale getirir.
  • Denetim yapılandırmasını gözden geçirin. Toplu olarak tamamlanan tüm olayları yakalamanın gerekli olup olmadığını veya özel bir filtrelenmiş yapılandırmanın güvenlik ve uyumluluk gereksinimlerinizi karşılayıp karşılamayacağını belirleyin.

Denetim kayıtlarında hassas bilgileri koruyun

Dinamik SQL, giriş değerlerinin doğrudan SQL ifadesine eklenmesiyle oluşturulduğunda, bu değerler ifade metninin bir parçası haline gelir. Eğer ifade denetlenirse, bildiri metnine dahil edilen hassas bilgiler denetim günlüğüne kaydedilebilir.

Hassas bilgilerin açığa çıkma riskini azaltmak için şu en iyi uygulamaları takip edin:

  • Hassas değerler içeren işlemler için dinamik SQL'den kaçının

    Güvenlik açısından hassas yönetici işlemler için, hassas değerleri dinamik SQL'e birleştirerek ifade oluşturmaktan kaçının. Mümkünse, hassas değerlerin doğrudan ifade metnine gömülmesini engelleyen yerel SQL ifadeleri veya diğer yaklaşımlar kullanın.

    Kullanıcı erişimine sahip dizilerle oluşturulan dinamik SQL ifadeleri, uygulamalarınızı SQL enjeksiyon saldırılarına karşı savunmasız hale getirir. SQL enjeksiyonu, zararlı kodun dizilerle ekildiği ve daha sonra veritabanına gönderilerek ayrıştırma ve yürütülme için yapılan bir saldırıdır. SQL enjeksiyon açıkları için T-SQL oluşturan herhangi bir prosedürü test etmelisiniz, çünkü veritabanı motoru aldığı tüm sözdizimi geçerli sorguları çalıştırır. Veri değerleri için parametreler kullanın ve parametre değerlerini sorgu metnine asla bağlamayın. Doğru şekilde parametrelenmiş değerler, çalıştırılabilir SQL sözdizimi yerine veri olarak kabul edilir.

  • Denetim günlüklerine erişimi kısıtla

    Denetim kayıtlarına erişimi yetkili kullanıcılar ve yöneticilerle sınırlayın. SQL Database Engine içinde, SQL izinleri SQL Database Engine içindeki denetim erişimini yönetir ve platform ile denetim kapsamına bağlı olarak değişebilir. En az ayrıcalık ilkesine uyarak sadece denetim bilgilerini yönetmek veya incelemek için gerekli izinleri verin. Microsoft, sunucu düzeyinde ve veritabanı düzeyinde denetim izni modellerini ayrı belgeler ve Azure SQL Veritabanı, sunucu düzeyinde izinlerin kullanılabilirliğinde SQL Server'dan farklıdır.

    SQL Database Engine dışındaki denetim günlüklerine erişim, yapılandırılmış hedefteki (örneğin Azure Depolama, Log Analytics veya Event Hubs gibi) izinlere bağlıdır. En az ayrıcalık ilkesine uyarak sadece denetim bilgilerini yönetmek veya incelemek için gerekli izinleri verin.

    Denetim verilerine erişimi kısıtlamak, kaydedilen denetim olaylarında hassas bilgilerin bulunması durumunda yetkisiz ifşa riskini azaltmaya yardımcı olur.

Denetim sınırlamaları

  • Duraklatılmış bir Azure Synapse SQL havuzunda denetimin etkinleştirilmesi desteklenmez. Denetimi etkinleştirmek için Synapse SQL havuzunu sürdürebilirsiniz.

  • Kullanıcı Tarafından Atanan Yönetilen Kimlik (UAMI) kullanılarak denetimin etkinleştirilmesi Azure Synapse üzerinde desteklenmez.

  • Depolama hesabı bir sanal ağın veya güvenlik duvarının arkasında olmadığı sürece, yönetilen kimlikler şu anda Azure Synapse için desteklenmez.

  • Azure Synapse Analytics için, sanal ağın (VNet) arkasındaki bir depolama hesabına denetim yapılabilmesi için sunucunun sistem tarafından atanan yönetilen kimliğineStorage Blob Data Contributor rolünün atanmış olması gerekir. Kullanıcı tarafından atanan yönetilen kimlikler (UAMI), Synapse denetimi için desteklenmez. Yalnızca Microsoft Entra kimlik doğrulaması kullanan bir depolama hesabını denetlemeniz gerekiyorsa, sunucuda sistem tarafından atanan yönetilen kimliği yapılandırın ve hedef depolama hesabında Depolama Blob Verileri Katkıda Bulunanı rolünü verin. Daha fazla bilgi için bkz. VNet ve güvenlik duvarı bulunan depolama hesabına denetim kaydı yazma.

  • Performans kısıtlamaları nedeniyle tempdbgeçici tabloları denetlemeyiz. Geçici tablolara karşı deyimleri yakalayan toplu işlem tamamlanan eylem grubu, nesne adlarını doğru bir şekilde doldurmayabilir. Ancak, kaynak tablo her zaman denetlenerek kaynak tablodan geçici tablolara yapılan tüm eklemelerin kaydedilmesi sağlanır.

  • Azure Synapse SQL havuzları için denetim varsayılan denetim eylem gruplarını only destekler.

  • Azure'da bir mantıksal sunucu veya Azure SQL Veritabanı için günlük hedefini depolama hesabı olarak belirleyerek denetimi yapılandırdığınızda, kimlik doğrulama modu bu depolama hesabının yapılandırmasıyla eşleşmelidir. Kimlik doğrulama türü olarak depolama erişim anahtarları kullanılıyorsa, hedef depolama hesabının depolama hesabı anahtarlarına erişimle etkinleştirilmesi gerekir. Depolama hesabı yalnızca kimlik doğrulamasını Microsoft Entra ID (formerly Azure Active Directory) ile kullanacak şekilde yapılandırılmışsa, denetim, kimlik doğrulaması için yönetilen kimlikleri kullanacak şekilde yapılandırılabilir.

  • Denetim, isminde ? karakteri bulunan veritabanlarında desteklenmez. server-level ve database-level denetimi için geçerlidir; adlarında olan veritabanları Azure üzerinde daha uzun süre desteklenmemektedir.

  • Azure SQL Veritabanı ve Azure Synapse denetim günlükleri ve statement alanlarında en fazla data_sensitivity_information yakalar. Denetlenebilir bir eylemin çıktısı bu sınırı aşarsa, ilk 4.000 karakteri aşan tüm içerikler kesilir ve denetim kaydından çıkarılır.

Açıklamalar

  • Etkinlik günlüğünde SQLDBControlPlaneFirstPartyApp tarafından başlatılan olaylar, Azure SQL Veritabanı kontrol düzleminin iç Azure işlevidir. SQLDBControlPlaneFirstPartyApp tarafından başlatılan olaylar, SQL altyapısı ile Azure Resource Manager arasındaki iç eşitleme işleminin bir parçasıdır. Bu olaylar Azure SQL Veritabanı yönetiminin normal bir parçasıdır ve Azure doğru kaynak gösterimi ve işlemi için gereklidir.
  • BlockBlobStorage ile premium depolama desteklenir. Standart depolama desteklenir. Ancak, denetimin sanal ağ veya güvenlik duvarının arkasındaki bir depolama hesabına yazabilmesi için genel amaçlı bir v2 depolama hesabınız olmalıdır. Genel amaçlı v1 veya Blob Depolama hesabınız varsa >> genel amaçlı v2 depolama hesabına yükseltVNet ve güvenlik duvarının arkasındaki bir depolama hesabına denetim yazma. Daha fazla bilgi için bkz . Depolama hesabı türleri.
  • Müşteriler SQL denetimini etkinleştirdiğinde ve giden kısıtlamalarını yapılandırdığında, denetim olaylarının hedefe başarılı bir şekilde ulaşabilmesi için denetim depolama hesaplarının tam etki alanı adlarının listelenmesine izin vermelidir. Depolama uç noktası izin verilenler listesine eklenmemişse denetim trafiği engellenir ve denetim olayı kaybına neden olur. Gerekli depolama hesabı FQDN'lerini izin verilenler listesine ekledikten sonra müşterilerin normal denetim olayı akışını sürdürmek için denetim yapılandırmalarını yeniden kaydetmeleri gerekir.
  • BlockBlobStorage ile her tür standart depolama hesabı ve premium depolama hesabı için hiyerarşik ad alanı desteklenir.
  • Denetim günlükleri, Azure aboneliğinizdeki bir Azure Blob Depolama Append Bloblarına yazılır
  • Denetim günlükleri .xel biçimindedir ve SQL Server Management Studio (SSMS) ile açılabilir.
  • Sunucu veya veritabanı düzeyinde denetim olayları için sabit bir günlük deposu yapılandırmak için Azure Depolama tarafından sağlanan instructions komutunu izleyin. Denetim için sabit blob depolamayı yapılandırırken Korumalı ekleme yazmalarına izin ver'inEkleme blobları veya Blok ve ekleme blobları olarak ayarlandığından emin olun. Hiçbiri seçeneği desteklenmez. Zamana bağlı saklama ilkeleri için depolama hesabının bekletme aralığı SQL Denetimi bekletme ayarından daha kısa olmalıdır. Depolama ilkesinin ayarlandığı ancak SQL Denetimi bekletmesinin 0 olduğu yapılandırmalar desteklenmez.
  • Denetim günlüklerini sanal ağın veya güvenlik duvarının arkasındaki bir Azure Depolama hesabına yazabilirsiniz.
  • Günlük biçimi, depolama klasörünün hiyerarşisi ve adlandırma kuralları hakkında ayrıntılı bilgi için denetim günlüğü biçimini SQL Veritabanı makalesine bakın.
  • Sadece okuma sorgu iş yüklerini hafifletmek için salt okunur çoğaltmaları kullanma denetimi otomatik olarak etkinleştirilir. Depolama klasörlerinin hiyerarşisi, adlandırma kuralları ve günlük biçimi hakkında daha fazla bilgi için denetim günlüğü biçimini SQL Veritabanı makalesine bakın.
  • Microsoft Entra kimlik doğrulaması kullanılırken başarısız oturum açma kayıtları SQL denetim günlüğünde görünmez. Başarısız oturum açma denetim kayıtlarını görüntülemek için, bu olayların ayrıntılarını günlüğe kaydeden Microsoft Entra yönetim merkezi adresini ziyaret etmeniz gerekir.
  • Oturum açma işlemleri ağ geçidi tarafından veritabanının bulunduğu belirli örneğe yönlendirilir. Microsoft Entra oturum açma bilgileri, istenen veritabanında oturum açmak için bu kullanıcıyı kullanmaya çalışmadan önce doğrulanır. Başarısız olması durumunda istenen veritabanına hiçbir şekilde erişilemez ve dolayısıyla hiçbir denetim gerçekleştirilmez. SQL oturum açma bilgileriyle, kimlik bilgileri istenen veriler üzerinde doğrulanır, bu nedenle bu durumda denetlenebilirler. Her iki durumda da, veritabanına ulaştığı açıkça görülen başarılı oturum açma işlemleri denetlenir.
  • Denetim ayarlarınızı yapılandırdıktan sonra yeni tehdit algılama özelliğini açabilir ve güvenlik uyarılarını almak için e-postaları yapılandırabilirsiniz. Tehdit algılamayı kullandığınızda, olası güvenlik tehditlerine işaret ediyor olabilecek anormal veritabanı etkinliklerinde proaktif uyarılar alırsınız. Daha fazla bilgi için bkz. SQL Gelişmiş Tehdit Koruması.
  • Denetimin etkinleştirildiği bir veritabanı başka bir mantıksal sunucuya kopyalandıktan sonra, denetimin başarısız olduğunu bildiren bir e-posta alabilirsiniz. Bu bilinen bir sorundur ve denetim yeni kopyalanan veritabanında beklendiği gibi çalışmalıdır.