Şunlara uygulanır:✅ Warehouse in Microsoft Fabric
Fabric Data Warehouse'de denetim, veritabanı olaylarını izleyerek ve kaydederek gelişmiş güvenlik ve uyumluluk özellikleri sağlar.
SQL denetim günlüklerini Doku portalında veya REST API aracılığıyla Doku Data Warehouse yapılandırabilirsiniz.
Önkoşullar
Fabric Data Warehouse için SQL denetim günlüklerini yapılandırmak için aşağıdaki öğelere ihtiyacınız vardır:
- Aktif kapasite veya deneme kapasitesine sahip bir Fabric çalışma alanı.
- Bir çalışma alanı içinde bir Depo öğesine erişim.
- Denetim kayıtlarını yapılandırmak ve sorgulamak için denetim izni. Daha fazla bilgi için bkz . İzinler.
SQL denetim günlüklerini Fabric portalı veya REST API'si kullanarak yapılandırabilirsiniz.
Doku çalışma alanınızda ambar öğenizin Ayarları'nı seçin.
SQL denetim günlükleri sayfasını seçin.
Olayları SQL denetim günlüklerine kaydet ayarını etkinleştirin.
Varsayılan olarak, tüm eylemler dokuz yıl boyunca etkinleştirilir ve korunur.
Kaydedilecek Olaylar bölümünden, SQL denetim kayıtlarının hangi olayları yakalayacağını seçin. Yakalamak istediğiniz etkinlik kategorilerini veya bireysel denetim eylem gruplarını seçin. Yalnızca kuruluşunuzun depolamayı ve ilgi düzeyini iyileştirmek için gerektirdiği olayları seçin.
Isteğe bağlı olarak, bilinen bir hizmet prensibinden veya otomasyon kimliğinden faaliyet hariç tutmak gibi olayları filtrelemek için bir Öncelik İfadesi girebilirsiniz.
Önlem ifade sözdizimi içinde tanımlanan sözdizimi kullanın.
Önemli
Predikat filtreleme yalnızca Kaydedilecek Olaylar altında zaten seçilmiş olaylar için geçerlidir. Örneğin, ifadeleri filtrelemek SELECT için Batch Was Completed'i de etkinleştirmeniz gerekir.
Yıl, Ay ve Gün cinsinden istenen günlük saklama süresini belirtin.
Ayarlarınızı uygulamak için Kaydet'i seçin.
Deponuz artık seçilen denetim olaylarını kaydediyor ve kayıtları OneLake'te güvenli bir şekilde saklıyor.
Visual Studio Code indirin ve yükleyin.
Visual Studio Marketplace'ten REST İstemci uzantısını yükleyin.
Bu adımları takip ederek taşıyıcı tokenı alın. Power BI taşıyıcı tokenınızı tarayıcınızın geliştirici araçlarında veya PowerShell aracılığıyla bulabilirsiniz.
Edge geliştirici araçlarını kullanarak Power BI jetonunuzu bulmak için:
- Microsoft Fabric çalışma alanınızı tarayıcıda açın (Microsoft Edge).
- Geliştirici Araçları'nı açmak için F12 tuşuna basın.
-
Konsol sekmesini seçin. Gerekirse, konsol istemini göstermek için Hızlı Görünümü Genişlet seçeneğini seçin.
- Komutunu
powerBIAccessToken yazın ve Enter tuşuna basın. Konsolda döndürülen büyük benzersiz dizeye sağ tıklayın ve Dize içeriğini kopyala'yı seçin.
- Aşağıdaki betiklerde
<bearer token> yerine yapıştırın.
Power BI bearer token'ınızı bulmak için PowerShell'i kullanın:
Microsoft Power BI Cmdlet'lerinden Windows PowerShell ve PowerShell Core için MicrosoftPowerBIMgmt modülünü yükleyin.
Install-Module -Name MicrosoftPowerBIMgmt
Power BI PowerShell'e bağlanmak ve taşıyıcı belirteci almak için Connect-PowerBIServiceAccount kullanın.
Connect-PowerBIServiceAccount
$token = (Get-PowerBIAccessToken).Authorization
Write-Output "Bearer $token"
Power BI taşıyıcı token'ı aldıktan sonra, REST Client uzantısı kullanarak bir PATCH istek gönderin. VS Code'da, uzantıyla .http yeni bir metin dosyası oluşturun.
Aşağıdaki isteği kopyalayıp yapıştırın:
PATCH https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: Bearer <BEARER_TOKEN>
{
"state": "Enabled",
"retentionDays": "0"
}
-
<workspaceId> ve <warehouseId> ilgili Fabric çalışma alanı ve depo kimlikleriyle değiştirin. Bu değerleri bulmak için Doku portalında ambarınızı ziyaret edin.
-
<workspaceID>: /groups/ bölümünden sonraki URL'de veya mevcut bir ambarda SELECT @@SERVERNAME çalıştırarak çalışma alanı GUID'sini bulun. Örneğin, 11aaa111-a11a-1111-1aaa-aa111111aaa.
/ karakterlerini eklemeyin.
-
<warehouseID>: /warehouses/ bölümünden sonraki URL'de veya mevcut bir ambarda SELECT @@SERVERNAME çalıştırarak ambar GUID'sini bulun. Örneğin, 11aaa111-a11a-1111-1aaa-aa111111aaa.
/ karakterlerini eklemeyin.
-
<BEARER_TOKEN>'yı bearer belirteciniz ile değiştirin.
- Denetlemeyi açmak için
state değerini Enabled olarak ayarlayın (kapatmak için Disabled kullanın).
- Sınırsız saklama için
retentionDays parametresini 0 olarak ayarlayın. Bu ayar varsayılandır.
Önemli
Uzantı örneği kodunda taşıyıcı belirteci sağladıktan hemen sonra boş bir satır eklemeniz gerekir. Bu boş satır, HTTP başlıklarının bittiği ve API komut gövdesinin başladığı uzantı işaret eder, böylece API ikisini doğru şekilde ayırt edebilir.
İstek Gönder seçin.
REST API ile denetim günlüğü durumunu denetleme
SQL denetim kayıtlarının etkin olup olmadığını doğrulamak için aynı REST Client uzantısı kullanarak bir GET talebi gönderin.
- VS Code'da, uzantıyla
.http yeni bir metin dosyası oluşturun.
- Kendi
workspaceId, <warehouseId>, ve <BEARER_TOKEN>’lerinizi sağlayarak aşağıdaki isteği kopyalayın ve yapıştırın.
GET https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: Bearer <BEARER_TOKEN>
Yanıt, DISABLED veya predicateExpression ile auditActionsAndGroups ve ENABLED öğelerinin geçerli yapılandırmasını döndürür.
SQL denetim günlükleri, veritabanındaki belirli olayları yakalayan önceden tanımlanmış eylem gruplarını kullanır. Denetim eylemi grupları hakkında ayrıntılı bilgi için bakınız: Fabric Data Warehouse'da SQL denetim günlükleri.
VS Code'da, uzantıyla .http yeni bir metin dosyası oluşturun.
Kendi workspaceId, <warehouseId>, ve <BEARER_TOKEN>’lerinizi sağlayarak aşağıdaki isteği kopyalayın ve yapıştırın.
POST https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: Bearer <BEARER_TOKEN>
[ "DATABASE_OBJECT_PERMISSION_CHANGE_GROUP" ]
İstek Gönder seçin.
Aynı PATCH API isteğini, bilinen bir hizmet prensibinden veya otomasyon kimliğinden gelen etkinlik gibi belirli olayların üretilmesini engelleyen bir önlem ifadesi yapılandırmak için kullanın. Tam yüklem sözdizimi için bkz. Yüklem ifade sözdizimi.
VS Code'da, uzantıyla .http yeni bir metin dosyası oluşturun.
Kendi workspaceId, <warehouseId>, ve <BEARER_TOKEN>’lerinizi sağlayarak aşağıdaki isteği kopyalayın ve yapıştırın.
PATCH https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: ******
{
"state": "Enabled",
"retentionDays": 10,
"predicateExpression": "NOT statement LIKE 'SELECT %'"
}
- Bu örnek,
statement alanına göre filtreleyerek SELECT ifadelerinin denetlenmesini hariç tutar.
- SQL denetimini ilk kez etkinleştirdiğinizde,
predicateExpression öğesini belirtmemek hiçbir yüklem uygulanmaması anlamına gelir. Daha sonraki güncellemelerde, bunun atlanması mevcut koşulu değiştirmez. Mevcut bir yüklemi kaldırmak için boş bir dize ("") belirtin.
Önemli
Öncelik filtreleme yalnızca zaten yakalanmak üzere yapılandırılmış olayları değerlendirir. Bu örnekte gösterildiği gibi ifadeleri filtrelemek SELECT için Batch Was Completed (BATCH_COMPLETED_GROUP) eylem grubunu da etkinleştirmeniz gerekir. Daha fazla bilgi için bkz. Veritabanı düzeyinde denetim eylem grupları ve eylemleri.
İstek Gönder seçin.
Denetim günlüklerini sorgulama
SQL denetim günlüğü verileri OneLake'te .XEL dosyalarında depolanır. Bu verilere sys.fn_get_audit_file_v2 Transact-SQL (T-SQL) fonksiyonunu kullanarak erişebilirsiniz. OneLake'te denetim dosyalarının nasıl saklandığına dair daha fazla bilgi için Fabric Data Warehouse'daki SQL denetim loglarına bakınız.
SQL sorgu düzenleyicisinden veya SQL Server Management Studio (SSMS) gibi herhangi bir sorgu aracından veya Visual Studio Code için MSSQL uzantısı gibi herhangi bir sorgu aracından aşağıdaki örnek T-SQL sorgularını kullanın. Kendi <workspaceId> ve <warehouseId> sağladığınızdan emin olun.
SELECT *
FROM sys.fn_get_audit_file_v2
('https://onelake.blob.fabric.microsoft.com/<workspaceId>/<warehouseId>/Audit/sqldbauditlogs/'
, default, default, default, default);
Günlükleri zaman aralığına göre filtrelemek için aşağıdaki sorguyu kullanın:
SELECT *
FROM sys.fn_get_audit_file_v2
('https://onelake.blob.fabric.microsoft.com/<workspaceId>/<warehouseId>/Audit/sqldbauditlogs/'
, default, default, '2025-03-30T08:40:40Z', '2025-03-30T09:10:40Z');
İlgili içerik