Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:✅Microsoft Fabric'te SQL veritabanı
Fabric'te SQL veritabanları için denetim, kuruluşların veritabanı etkinliklerini izlemesine ve günlüğe kaydetmesine olanak tanıyan kritik bir güvenlik ve uyumluluk özelliğidir. Denetim, hangi verilere, ne zaman ve nasıl eriştiği gibi soruları yanıtlamaya yardımcı olarak uyumluluk, tehdit algılama ve adli araştırma desteği sağlar.
SQL denetimi nedir?
SQL denetimi, veritabanı etkinliğiyle ilgili olayları yakalama ve depolama işlemini ifade eder. Bu olaylar veri erişimini, şema değişikliklerini, izin değişikliklerini ve kimlik doğrulama girişimlerini içerir.
Fabric'de denetim, veritabanı seviyesinde çalışır ve şunları destekler:
- Uyumluluk izleme (örneğin: HIPAA, SOX)
- Güvenlik araştırmaları
- operasyonel içgörüler
Denetim hedefi
Denetim günlükleri OneLake'te salt okunur bir klasöre yazılır ve T-SQL işlevi veya OneLake Gezgini kullanılarak sys.fn_get_audit_file_v2 sorgulanabilir.
Fabric'teki SQL veritabanı için denetim günlükleri OneLake'te depolanır: https://onelake.blob.fabric.microsoft.com/{workspace_id}/{artifact_id}/Audit/sqldbauditlogs/
Bu günlükler sabittir ve uygun izinlere sahip kullanıcılar tarafından erişilebilir. Günlükler OneLake Gezgini veya Azure Depolama Gezgini kullanılarak da indirilebilir.
Faturalandırma
Şu anda Denetim günlüklerini Fabric OneLake'e yazmak ek ücrete tabi değildir ve depolama alanı, kapasitenin bir parçası olan OneLake depolama sınırlarına dahildir.
Yapılandırma seçenekleri
Varsayılan olarak, Her şeyi denetle seçeneği toplu tamamlamalar ve başarılı ve başarısız kimlik doğrulaması dahil olmak üzere tüm olayları yakalar.
Daha seçici olmak için önceden yapılandırılmış denetim senaryoları arasından seçim yapın; örneğin: İzin Değişiklikleri ve Oturum Açma Denemeleri, Veri Okuma ve Yazma işlemleri ve/veya Şema Değişiklikleri.
Önceden yapılandırılmış her senaryo belirli denetim eylem gruplarına (örneğin, SCHEMA_OBJECT_ACCESS_GROUP, DATABASE_PRINCIPAL_CHANGE_GROUP) eşler.
Özel Olaylar'ın altında hangi olayların denetleneceğini de seçebilirsiniz. Denetimi ihtiyaçlarınıza göre uyarlamak için tek tek eylem gruplarını seçebilirsiniz. Bu seçenek, katı iç güvenlik ilkelerine sahip kuruluşlar için idealdir.
Yaygın veya bilinen erişim sorgularını filtrelemek için, denetim olaylarını koşullara göre filtrelemek için Transact-SQL (T-SQL) içinde koşul ifadeleri sağlayabilirsiniz (örneğin, SELECT deyimlerini hariç tutmak için): WHERE statement NOT LIKE '%select%'.
Permissions
Doku çalışma alanı rollerini kullanarak denetimi yönetmek için (önerilen), Doku çalışma alanı Katkıda Bulunanı rolüne veya daha yüksek izinlere sahip olmanız gerekir.
DENETIMI SQL izinleriyle yönetmek için:
- Veritabanı denetimini yapılandırmak için, ALTER ANY DATABASE AUDIT iznine sahip olmanız gerekir.
- T-SQL kullanarak denetim günlüklerini görüntülemek için VERITABANı GÜVENLİĞİ DENETİmİ GÖRÜNTÜLE iznine sahip olmanız gerekir.
Tutma
Bu süreden sonra günlükleri otomatik olarak silmek için özel bir saklama süresi yapılandırmadığınız sürece, varsayılan olarak denetim verileri süresiz olarak tutulur.
Fabric şu anda denetim günlüklerini OneLake'teki öğenin klasöründe depolar ve öğe yaşam döngüsüne göre sınırlar. Öğeyi silerseniz, denetim günlükleri Fabric tarafından da silinir. Öğenin yaşam döngüsünden bağımsız olarak bekletmeye ihtiyacınız varsa, AzCopy veya SSDT gibi araçları kullanarak denetim günlüklerini ayrı bir depolama konumuna (örneğin, başka bir Lakehouse veya Azure Depolama hesabı) taşıyın.
Geri yüklemeden sonra ayarları saklama
Geri yükleme işleminden sonra denetim ayarları korunur, ancak denetim Fabric SQL Veritabanı'nda yeniden etkinleştirilmelidir. Fabric portalında SQL denetimini yönet açın, Kaydet'i seçin.
Fabric portalından SQL veritabanı için denetim yapılandırma
Fabric SQL veritabanı denetim başlatmak için:
- Fabric portalında SQL veritabanınıza erişin ve açın.
- Ana menüden Güvenlik sekmesini ve ardından SQL denetimini yönet'i seçin.
- SQL Denetimini Yönet bölmesi açılır.
- Denetimi etkinleştirmek için Olayları SQL Denetim Günlüklerine Kaydet düğmesini seçin.
- Veritabanı Olayları bölümünde kaydedilecek olayları yapılandırın. Tüm olayları yakalamak için Her şeyi denetle (varsayılan) seçeneğini belirleyin.
- İsteğe bağlı olarak, Bekletme altında bir bekletme ilkesi yapılandırın.
- İsteğe bağlı olarak, Koşul İfadesi alanında yoksayılan T-SQL komutlarına ilişkin koşul ifadesini yapılandırın.
- Kaydetseçeneğini seçin.
Denetim günlüklerini sorgulama
Denetim günlükleri, T-SQL işlevleri sys.fn_get_audit_file ve sys.fn_get_audit_file_v2 kullanılarak sorgulanabilir.
Aşağıdaki betikte çalışma alanı kimliğini ve veritabanı kimliğini sağlamanız gerekir. Her ikisi de Fabric portalının URL'sinde bulunabilir. Örneğin: https://fabric.microsoft.com/groups/<fabric workspace id>/sqldatabases/<fabric sql database id>. URL'deki ilk benzersiz tanımlayıcı dizisi Fabric workspace ID'dir, ikinci benzersiz tanımlayıcı dizisi ise SQL veritabanı ID'sidir.
-
<fabric_workspace_id>ifadesini Fabric çalışma alanı kimliğiniz ile değiştirin. Url'de bir çalışma alanının kimliğini bulabilirsiniz ; bu, tarayıcı pencerenizde iki/karakterden sonraki/groups/benzersiz dizedir. - Fabric veritabanı kimliğindeki
<fabric sql database id>öğesini SQL veritabanınızla değiştirin. Veritabanı öğesinin kimliğini URL'de bulabilirsiniz; bu, tarayıcı pencerenizde iki/karakterden sonraki/sqldatabases/benzersiz dizedir.
Örneğin:
SELECT * FROM sys.fn_get_audit_file_v2(
'https://onelake.blob.fabric.microsoft.com/<fabric workspace id>/<fabric sql database id>/Audit/sqldbauditlogs/',
DEFAULT, DEFAULT, DEFAULT, DEFAULT );
Bu örnek, 2025-11-17T08:40:40Z ile 2025-11-17T09:10:40Z arasındaki denetim günlüklerini alır.
SELECT *
FROM sys.fn_get_audit_file_v2(
'https://onelake.blob.fabric.microsoft.com/<fabric workspace id>/<fabric sql database id>/Audit/sqldbauditlogs/',
DEFAULT,
DEFAULT,
'2025-11-17T08:40:40Z',
'2025-11-17T09:10:40Z')
Daha fazla bilgi için bkz. sys.fn_get_audit_file ve sys.fn_get_audit_file_v2.
REST API ile denetimi yönetme
Doku REST API'sini kullanarak SQL veritabanı denetim ayarlarını program aracılığıyla da görüntüleyebilir ve yapılandırabilirsiniz. REST API, PowerShell betiklerini kullanarak çalışma alanında bulunan tüm veritabanlarında denetimi tutarlı bir şekilde yönetmenizi sağlar.
Daha fazla bilgi için bkz. REST API ile SQL veritabanı denetimini yönetme.
Denetim kayıtlarında hassas bilgileri koruyun
Dinamik SQL'i giriş değerlerini doğrudan SQL ifadesine birleştirerek oluşturduğunuzda, bu değerler ifade metninin bir parçası haline gelir. Durumu denetlerseniz, denetim günlüğü bildiri metnine dahil edilen hassas bilgileri yakalayabilir.
Hassas bilgilerin ortaya çıkma riskini azaltmak için şu 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. Ayrı sunucu düzeyinde ve veritabanı düzeyinde denetim izni modelleri vardır ve Azure SQL Veritabanı, sunucu düzeyinde izinlerin bulunabilirliğinde SQL Server'dan farklıdır. Denetim verilerine erişimi kısıtlamak, kaydedilen denetim olaylarında hassas bilgilerin bulunması durumunda yetkisiz ifşa riskini azaltmaya yardımcı olur.
SQL Database Engine dışındaki denetim günlüklerine erişim, yapılandırılmış hedefteki (örneğin OneLake) izinlere bağlıdır. En az ayrıcalık ilkesine uyarak sadece denetim bilgilerini yönetmek veya incelemek için gerekli izinleri verin.