Fabric Veri Ambarı'nda SQL denetim günlükleri

Şunlar için geçerlidir:✅ Microsoft Fabric'te SQL analiz uç noktası ve Ambarı

Doku Veri Ambarı'nda denetim, veritabanı olaylarını izleyerek ve kaydederek gelişmiş güvenlik ve uyumluluk özellikleri sağlar.

SQL denetim günlüklerini kullanarak, veritabanı faaliyetlerini izleyebilir, potansiyel güvenlik tehditlerini tespit edebilir ve uyumluluk gereksinimlerini karşılayarak temel eylemlerin denetim izini tutabilirsiniz, örneğin:

  • Kimlik doğrulama girişimleri ve erişim denetimi değişiklikleri
  • Veri erişimi ve değişiklik işlemleri
  • Şema değişiklikleri ve yönetim etkinlikleri
  • İzin değişiklikleri ve güvenlik yapılandırmaları

Önemli

Varsayılan olarak, SQL denetim günlükleri KAPALI. Denetim sorguları izinlerine sahip kullanıcıların, günlükleri yakalamayı etkinleştirmesi gerekir.

Başlamak için Doku Veri Ambarı'nda SQL denetim günlüklerini yapılandırma'daki adımları gözden geçirin.

Depolama

SQL denetim günlükleri bekleme sırasında şifrelenir ve OneLake'te depolanır.

Doku Veri Ambarı için denetim günlükleri OneLake'teki ambar .XEL yazılır.

Aşağıdaki rollere sahip kullanıcılar denetim klasörüne erişebilir:

  • Çalışma Alanı Yöneticileri
  • Çalışma Alanı Üyeleri
  • Çalışma Alanı Katkıda Bulunanları
  • Tümünü Oku iznine sahip Çalışma Alanı Görüntüleyicileri

Bu kullanıcılar şunları yapabilir:

  • Denetim klasörüne göz atın
  • .XEL SQL denetimi tarafından oluşturulan denetim dosyalarını görüntüleme
  • Çevrimdışı çözümleme için dosyaları kopyalama
  • Dosyaları SQL Server Management Studio (SSMS) gibi araçlarla açın

Denetim günlüklerini T-SQL ile sys.fn_get_audit_file_v2 aracılığıyla da sorgulayabilirsiniz.

Yönergeler için bkz. Fabric Veri Ambarı'nda SQL denetim günlüklerini yapılandırma.

Tavsiye

Microsoft Fabric Veri Ambarı'nda denetim günlüklerinin yapılandırılması, kaydedilen eylem gruplarına ve olaylara bağlı olarak depolama maliyetlerini artırabilir. Gereksiz depolama maliyetlerinden kaçınmak için yalnızca gerekli olayları etkinleştirin.

Gösteri

SQL denetim kayıtları özelliği, denetlenen veritabanının erişilebilirliği ve performansı için optimize edilmiş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.

İzinler

Kullanıcıların denetim günlüklerini yapılandırmak ve sorgulamak için Denetim sorguları (Denetim) iznine sahip olması gerekir.

  • Varsayılan olarak, Çalışma Alanı Yöneticileri, çalışma alanındaki tüm öğeler için Denetim sorguları iznine sahiptir.
  • Yöneticiler, paylaşma iletişim kutusu aracılığıyla diğer kullanıcılara öğeler üzerinde Denetim sorguları izinleri verebilir.

Workspace yöneticileri, Fabric portalındaki paylaşılan menü seçeneğini kullanarak bir öğeye Denetim sorgusu izinleri verebilir. Kullanıcının Denetim sorguları izinlerine sahip olup olmadığını doğrulamak için İzinleri Yönet ayarlarını kontrol edin.

  1. Ambar öğenizde Paylaş düğmesini seçin.

    Ya da Fabric portalında çalışma alanınızda. ... Ambar öğenizin bağlam menüsünü seçin, İzinleri yönet'i seçin.

  2. Kişilere erişim panelinde bir kullanıcıya izinler verin.

    Öğe Paylaş menüsünde Sorguları denetle (Denetim) izninin seçileceği yeri gösteren ekran görüntüsü.

T-SQL izinleri kullanılarak denetim loglarını sorgulayın

Kullanıcılara, VIEW DATABASE SECURITY AUDIT çalışma alanı yönetici rolleri olmasa bile, T-SQL izinleriyle denetim günlüklerini sorgulayabilmeleri için izin verin.

Aşağıdaki izni verdiğinizde, bir kullanıcı şu fonksiyonu kullanarak sys.fn_get_audit_file_v2 denetim günlüklerini sorgulayabilir:

GRANT VIEW DATABASE SECURITY AUDIT TO [user];

Tavsiye

İzin VIEW DATABASE SECURITY AUDIT yalnızca denetim kayıtlarını sorgulama yeteneği verir. Dosyalara erişim veya denetim yapılandırmasını değiştirme izni vermiyor.

Veritabanı düzeyinde denetim eylem grupları ve eylemleri

Denetim günlüğü yapılandırmasını daha erişilebilir hale getirmek için Doku portalı, SQL Olmayan Yöneticilerin ve diğer kullanıcıların yakalanan Doku Veri Ambarı olaylarını kolayca anlamasına yardımcı olmak için kolay adlar kullanır.

Fabric, bu kullanıcı dostu adları temel alınan SQL Denetim eylem grupları ile eşleştirir. Referans olarak aşağıdaki tabloyu kullanın.

Dostça İsim Eylem Grubu Adı Açıklama
Nesneye Erişildi DATABASE_OBJECT_ACCESS_GROUP Veritabanı nesnelerine, örneğin ileti türleri, derlemeler veya sözleşmelere erişimi loglar.
Nesne Değiştirildi DATABASE_OBJECT_CHANGE_GROUP Veritabanı nesnelerinde CREATE, ALTER veya DROP işlemlerini günlüğe kaydeder.
Nesne Sahibi Değiştirildi DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP Veritabanı nesnelerinin sahiplik değişikliklerini günlüğe kaydeder.
Nesne İzni Değiştirildi DATABASE_OBJECT_PERMISSION_CHANGE_GROUP Veritabanı nesneleri üzerinde GRANT, REVOKE veya DENY eylemleri günlüğe kaydeder.
Kullanıcı Değiştirildi DATABASE_PRINCIPAL_CHANGE_GROUP Veritabanı sorumlularının (kullanıcılar, roller) oluşturulmasını, değiştirilmesini veya silinmesini günlüğe kaydeder.
Kullanıcı Taklit Edildi DATABASE_PRINCIPAL_IMPERSONATION_GROUP Kimliğe bürünme işlemlerini (EXECUTE AS gibi) günlüğe kaydeder.
Rol Üyesi Değiştirildi DATABASE_ROLE_MEMBER_CHANGE_GROUP Bir veritabanı rolüne girişlerin eklenmesi veya kaldırılmasını kaydeder.
Kullanıcı oturum açamadı FAILED_DATABASE_AUTHENTICATION_GROUP Veritabanı içinde başarısız kimlik doğrulama girişimlerini günlüğe kaydeder.
Şema İzni Kullanıldı SCHEMA_OBJECT_ACCESS_GROUP Şema nesnelerine erişim günlüğe kaydedilir.
Şema Değiştirildi SCHEMA_OBJECT_CHANGE_GROUP Şemalardaki CREATE, ALTER, veya DROP işlemlerini günlüğe kaydeder.
Şema Nesnesi İzni denetlendi SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP Şema nesnesi sahipliğindeki değişiklikleri günlüğe kaydeder.
Şema Nesnesi İzni Değiştirildi SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP Şema nesneleri üzerinde GRANT, REVOKE veya DENY eylemlerini kaydeder.
Toplu İşlem Tamamlandı BATCH_COMPLETED_GROUP Bu olay herhangi bir toplu iş metni, saklı yordam veya işlem yönetimi işlemi yürütülürken tetiklenmektedir.
Toplu İşlem Başlatıldı BATCH_STARTED_GROUP Herhangi bir toplu veri metni, saklı yordam veya işlem yönetimi işlemi yürütülmeye başladığında bu olay oluşur.
Denetim Değiştirildi AUDIT_CHANGE_GROUP Bu olay, herhangi bir denetim oluşturulduğunda, değiştirildiğinde veya silindiğinde tetiklenir.
Kullanıcı Oturumu Kapatıldı DATABASE_LOGOUT_GROUP Bu olay, veritabanı kullanıcısı bir veritabanının oturumunu kapattığında tetikleniyor.
Oturum Açan Kullanıcı SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP Bir sorumlusun bir veritabanında başarıyla oturum açtığını gösterir.

Veritabanı düzeyinde denetim eylemleri

Eylem gruplarına ek olarak, belirli veritabanı olaylarını günlüğe kaydetmek için tek tek denetim eylemlerini yapılandırabilirsiniz:

Denetim Eylemi Açıklama
SELECT Belirli bir nesnede SELECT deyimlerini günlüğe kaydeder.
INSERT Belirtilen nesnede INSERT işlemleri günlüğe kaydeder.
UPDATE Belirtilen nesnede UPDATE işlemleri günlüğe kaydeder.
DELETE Belirtilen nesnede DELETE işlemleri günlüğe kaydeder.
EXECUTE Saklı yordamların veya işlevlerin yürütülmesini kayıt altına alır.
RECEIVE Hizmet Aracısı kuyruklarında RECEIVE işlemlerini günlüğe kaydeder.
REFERENCES Yabancı anahtar kısıtlamaları içeren izin denetimlerini günlüğe kaydeder.

Denetim gürültüsünü predikat filtreleme ile azaltın

Hangi olayların yakalandığını filtrelemek için isteğe bağlı önlem ifade filtresini kullanın.

Otomasyon kimlikleri, hizmet prensipleri veya planlanmış işler gibi beklenen ve tekrarlanan faaliyetlerden kaynaklanan gürültüyü azaltmak için, kuruluşunuzun uyum veya soruşturma amaçları için ihtiyaç duyduğu eylem gruplarını devre dışı bırakmanıza gerek kalmadan, öncül filtreleme kullanın.

  • Yalnızca bir olay yapılandırılmış önlemle eşleştiğinde, o eylem için SQL denetim günlüğü olayı oluşturulur.
    • Filtreleme olay yazılmadan önce gerçekleşir, bu yüzden hariç tutulan olaylar daha sonra geriye dönük inceleme için kullanılabilir değildir. Öncül istisnaları kasıtlı bir denetim-politika kararı olarak ele alın ve sahiplik, izinler ve risk profilleri değiştikçe yapılandırılmış önceği periyodik olarak gözden geçirin.
  • Predikat filtreleme yalnızca etkinleştirilmiş bir denetim eylem grubu veya eylemi tarafından yakalanması üzere zaten yapılandırılmış olayları değerlendirir.
    • Altta yatan eylem grubu etkin değilse, predikatın değerlendirmesi için bir olay oluşturulmaz ve filtrenin hiçbir etkisi olmaz. Örneğin, alandaki bir önlem statement kullanarak cümleleri filtrelemek SELECT için önce Batch Was Completed (BATCH_COMPLETED_GROUP) eylem grubunu etkinleştirmeniz gerekir.

Bir önlem ifadesini Fabric portalı veya REST API'si kullanarak yapılandırabilirsiniz. Adımlar için bkz. Bir önlem ifadesi yapılandırma.

Önlem ifade sözdizimi

Önlem ifadeleri, CREATE SERVER AUDIT (Transact-SQL) içindeki cümledeki sözdizimi ile aynı sözdizimini <predicate_expression> kullanır, ancak anahtar WHERE kelime kullanılmaz:

<predicate_expression> ::=
    { [ NOT ] <predicate_factor>
    [ { AND | OR } [ NOT ] { <predicate_factor> } ] [ ,... n ] }

<predicate_factor> ::=
    event_field_name { = | <> | != | > | >= | < | <= | LIKE }
    { number | 'string' }
  • event_field_namesys.fn_get_audit_file tarafından geri dönen bir sütuna karşılık gelir (Transact-SQL). Belgelenmiş tüm sütunları kullanabilirsiniz, hariç file_name, , audit_file_offsetve event_time.
  • action_id ve class_type dizelerdir, ancak onları yalnızca bir yüklemdeki sayısal değerlerle karşılaştırabilirsiniz.
  • Dize karşılaştırmaları örtük tip dönüşümü yapmaz.
  • Maksimum ifade uzunluğu 3.000 karakterdir.
  • Boş bir dize, hiçbir yüklem uygulanmadığı anlamına gelir.

Örneğin, bilinen bir hizmet prensibi veya otomasyon kimliği tarafından üretilen faaliyeti dışlamak için, üzerinde filtreleyin server_principal_name. Tekrarlayan SELECT ifadeleri dışlamak için, alanda statement filtreleyin: NOT statement LIKE 'SELECT %'.

Sınırlamalar

  • Varsayılan çalışma alanınız SQL denetim günlüklerini desteklemiyor.
  • SQL denetim günlükleri , ambar anlık görüntüleri için desteklenmez.

Önemli

Denetim günlükleri OneLake'deki Ambar öğesinde depolanır. Ambarı silerseniz, ilişkili denetim günlüğü dosyalarını da silersiniz ve bunlara artık erişemezsiniz.
Uyumluluk veya araştırma amacıyla denetim günlüklerini korumak için, Ambarı .XEL silmeden önce dosyaları başka bir depolama konumuna kopyalayın.

SQL analytics uç nokta sınırlamaları

SQL analiz uç noktaları denetlenirken aşağıdaki sınırlamalar geçerlidir:

  • DML işlemleri kaydedilmez. Denetim, , INSERT, UPDATEve DELETE gibi MERGEişlemleri kaydetmez çünkü Lakehouse tabloları için veri işleme, SQL analiz uç noktası yerine Lakehouse çalışma zamanı üzerinden gerçekleşir.
  • Denetim klasörüne doğrudan erişim şu anda desteklenmiyor. Kullanıcılar Lakehouse denetim klasöründen temel alınan .XEL denetim dosyalarına göz atamaz veya indiremez.

T-SQL fonksiyonunu sys.fn_get_audit_file_v2kullanarak SQL analitik uç noktaları için denetim olaylarını sorgulayabilirsiniz.

Sonraki adım