SQL-granskningsloggar i Fabric Data Warehouse

Gäller för:✅ SQL-analysslutpunkt och lager i Microsoft Fabric

Granskning i Fabric Data Warehouse ger förbättrade säkerhets- och efterlevnadsfunktioner genom att spåra och registrera databashändelser.

Genom att använda SQL-revisionsloggar kan du övervaka databasaktiviteter, upptäcka potentiella säkerhetshot och uppfylla efterlevnadskrav genom att upprätthålla en revisionsspår av viktiga åtgärder, såsom:

  • Autentiseringsförsök och ändringar i åtkomstkontroll
  • Åtgärder för dataåtkomst och ändring
  • Schemaändringar och administrativa aktiviteter
  • Behörighetsändringar och säkerhetskonfigurationer

Viktigt!

Som standardinställning är SQL-granskningsloggar OFF. Användare med behörighet för granskningsfrågor måste aktivera det för att samla in loggarna.

Kom igång genom att läsa stegen i Konfigurera SQL-granskningsloggar i Fabric Data Warehouse.

Förvaring

SQL-granskningsloggar krypteras i vila och lagras i OneLake.

För Fabric Data Warehouse skrivs granskningsloggar till .XEL filer som lagras i mappen för lagergranskning i OneLake.

Användare med följande roller kan komma åt granskningsmappen:

  • Arbetsyteadministratörer
  • Arbetsyta Medlemmar
  • Bidragsgivare arbetsyta
  • Arbetsytevisare med läsbehörighet för alla

Dessa användare kan:

  • Bläddra i mappen Granskning
  • Visa granskningsfilerna .XEL som genereras av SQL-granskning
  • Kopiera filerna för offlineanalys
  • Öppna filerna med verktyg som SQL Server Management Studio (SSMS)

Du kan också köra en fråga mot granskningsloggar med T-SQL via sys.fn_get_audit_file_v2.

Se Hur du konfigurerar SQL-granskningsloggar i Fabric Data Warehouse för instruktioner.

Tips/Råd

Om du konfigurerar granskningsloggar i Microsoft Fabric Data Warehouse kan lagringskostnaderna öka beroende på vilka åtgärdsgrupper och händelser som registrerats. Aktivera endast nödvändiga händelser för att undvika onödiga lagringskostnader.

Prestanda

Funktionen SQL audit logs är optimerad för databasens tillgänglighet och prestanda. Under perioder med mycket hög aktivitet eller hög nätverksbelastning kan granskningsfunktionen tillåta transaktioner att fortsätta utan att registrera alla händelser som markerats för granskning.

Behörigheter

Användarna måste ha behörigheten Granskningsfrågor (Granskning) för att kunna konfigurera och köra frågor mot granskningsloggar.

  • Som standard har arbetsyteadministratörer behörigheten "Audit queries" till alla objekt i arbetsytan.
  • Administratörer kan ge behörigheter för revisionsfrågor på objekt till andra användare via delningsmenyn.

Workspace-administratörer kan ge behörigheter för granskningsfrågor till ett objekt genom att använda alternativet delad meny i Fabric-portalen. För att verifiera om en användare har behörighet för Granskningsfrågor, kontrollera inställningarna för Hantera behörigheter.

  1. I ditt lagerobjekt väljer du knappen Dela .

    Eller i Fabricportalen, i din arbetsyta. ... Välj snabbmenyn för ditt lagerobjekt och välj Hantera behörigheter.

  2. I panelen Grant people access , ge behörigheter till en användare.

    Skärmbild som visar var du väljer behörigheten Granska frågor (Granskning) på objektet Dela-menyn.

Sök igenom revisionsloggar med T-SQL-behörigheter

Ge användare behörighet VIEW DATABASE SECURITY AUDIT så att de kan söka i revisionsloggar genom att använda T-SQL-behörigheter, även om de inte har administrativa roller i arbetsområdet.

När du ger följande behörighet kan en användare fråga revisionsloggar med funktionen sys.fn_get_audit_file_v2 :

GRANT VIEW DATABASE SECURITY AUDIT TO [user];

Tips/Råd

Behörigheten VIEW DATABASE SECURITY AUDIT ger endast möjlighet att söka i revisionsloggar. Den ger inte tillgång till filerna eller behörighet att ändra revisionskonfigurationen.

Granskningsåtgärdsgrupper och åtgärder på databasnivå

För att göra konfigurationen av granskningsloggar mer tillgänglig använder Fabric-portalen egna namn för att hjälpa icke-SQL-administratörer och andra användare att enkelt förstå insamlade Fabric Data Warehouse-händelser.

Nätverket mappar dessa vänliga namn till de underliggande SQL Audit-åtgärdsgrupperna. Använd följande tabell som referens.

Vänligt namn Namn på åtgärdsgrupp Beskrivning
Objektet åtkomstdes DATABASE_OBJECT_ACCESS_GROUP Loggar åtkomst till databasobjekt som meddelandetyper, sammansättningar eller kontrakt.
Objektet har ändrats DATABASE_OBJECT_CHANGE_GROUP Loggar CREATE, ALTER eller DROP-åtgärder på databasobjekt.
Objektets ägare har ändrats DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP Loggar ägarskapsändringar för databasobjekt.
Objektbehörigheten har ändrats DATABASE_OBJECT_PERMISSION_CHANGE_GROUP Loggar GRANT, REVOKE eller DENY åtgärder på databasobjekt.
Användaren har ändrats DATABASE_PRINCIPAL_CHANGE_GROUP Loggar skapande, ändring eller borttagning av databasprincipaler (användare, roller).
Användaren efterliknades DATABASE_PRINCIPAL_IMPERSONATION_GROUP Loggar personifieringsåtgärder (till exempel EXECUTE AS).
Rollmedlemmen har ändrats DATABASE_ROLE_MEMBER_CHANGE_GROUP Loggar tillägg eller borttagning av inloggningar från en databasroll.
Användaren kunde inte logga in FAILED_DATABASE_AUTHENTICATION_GROUP Registrerar misslyckade autentiseringsförsök i databasen.
Schemabehörighet användes SCHEMA_OBJECT_ACCESS_GROUP Loggar åtkomst till schemaobjekt.
Schemat har ändrats SCHEMA_OBJECT_CHANGE_GROUP Loggar CREATE, ALTER, eller DROP åtgärder på schemor.
Schemaobjektbehörigheten har kontrollerats SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP Loggar ändringar i schemaobjektägarskap.
Behörigheten för schemaobjekt ändrades SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP Loggar GRANT, REVOKE eller DENY åtgärder på schemaobjekt.
Batchen slutfördes BATCH_COMPLETED_GROUP Den här händelsen utlöses när någon batchtext, lagrad procedur eller transaktionshanteringsåtgärd slutförs.
Batch startades BATCH_STARTED_GROUP Den här händelsen utlöses när någon batchtext, lagrad procedur eller transaktionshanteringsåtgärd börjar köras.
Granskning har ändrats AUDIT_CHANGE_GROUP Den här händelsen utlöses när någon granskning skapas, ändras eller tas bort.
Utloggad användare DATABASE_LOGOUT_GROUP Den här händelsen utlöses när en databasanvändare loggar ut från en databas.
Användare som är inloggad SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP Indikerar att en huvudanvändare framgångsrikt har loggat in på en databas.

Granskningsåtgärder på databasnivå

Förutom åtgärdsgrupper kan du konfigurera enskilda granskningsåtgärder för att logga specifika databashändelser:

Granskningsåtgärd Beskrivning
SELECT Loggar uttalanden på ett angivet objekt.
INSERT Loggar INSERT åtgärder på ett angivet objekt.
UPDATE Loggar UPDATE åtgärder på ett angivet objekt.
DELETE Loggar DELETE åtgärder på ett angivet objekt.
EXECUTE Loggar körning av lagrade procedurer eller funktioner.
RECEIVE Loggar RECEIVE åtgärder i Service Broker-köer.
REFERENCES Loggar behörighetskontroller som inbegriper begränsningar för främmande nyckel.

Minska revisionsbrus med predikatfiltrering

För att filtrera vilka händelser som fångas, använd det valfria predikatuttrycksfiltret .

Använd predikatfiltrering för att minska brus från förväntad, repetitiv aktivitet, såsom automationsidentiteter, tjänsteprinciper eller schemalagda jobb, utan att behöva inaktivera de åtgärdsgrupper som din organisation behöver för efterlevnad eller utredning.

  • Endast när en händelse matchar det konfigurerade predikatet genereras SQL-revisionslogghändelsen för den åtgärden.
    • Filtreringen sker innan händelsen skrivs, så uteslutna händelser är inte tillgängliga senare för retrospektiv granskning. Behandla predikatundantag som ett medvetet revisionspolicybeslut och granska det konfigurerade predikatet periodiskt när ägande, behörigheter och riskprofiler förändras.
  • Predicat-filtrering utvärderar endast händelser som redan är konfigurerade att fångas av en aktiverad revisionsaktionsgrupp eller åtgärd.
    • Om den underliggande handlingsgruppen inte är aktiverad genereras ingen händelse för predikatet att utvärdera, och filtret har ingen effekt. Till exempel, för att filtrera SELECT satser med ett predikat på statement fältet måste du först aktivera handlingsgruppen Batch Was Completed (BATCH_COMPLETED_GROUP) åtgärdsgruppen.

Du kan konfigurera ett predikatuttryck genom att använda Fabric-portalen eller REST API:et. För steg, se Konfigurera ett predikatuttryck.

Predikatuttryckssyntax

Predikatuttryck använder samma syntax som satsen <predicate_expression> i CREATE SERVER AUDIT (Transact-SQL), utan WHERE nyckelordet:

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

<predicate_factor> ::=
    event_field_name { = | <> | != | > | >= | < | <= | LIKE }
    { number | 'string' }
  • event_field_name motsvarar en kolumn som returneras av sys.fn_get_audit_file (Transact-SQL). Du kan använda alla dokumenterade kolumner, förutom file_name, audit_file_offset, och event_time.
  • action_id och class_type är strängar, men du kan bara jämföra dem med numeriska värden i ett predikat.
  • Strängjämförelser utför inte implicit typkonvertering.
  • Den maximala uttryckslängden är 3 000 tecken.
  • En tom sträng betyder att inget predikat tillämpas.

Till exempel, för att utesluta aktivitet som genereras av en känd tjänsteprincip eller automationsidentitet, filtrera på server_principal_name. För att utesluta upprepade SELECT påståenden, filtrera på fältet statement : NOT statement LIKE 'SELECT %'.

Begränsningar

Viktigt!

Granskningsloggar lagras i lagerobjektet i OneLake. Om du tar bort förrådet tas även de associerade granskningsloggfilerna bort, och du kan inte längre komma åt dem.
Om du vill behålla granskningsloggar i efterlevnads- eller undersökningssyfte kopierar .XEL du filerna till en annan lagringsplats innan du tar bort lagret.

Begränsningar för SQL-analysslutpunkter

Följande begränsningar gäller vid granskning av SQL-analysslutpunkter:

  • DML-åtgärder registreras inte. Granskningen registrerar inte åtgärder som INSERT, UPDATE, DELETEoch MERGE eftersom datamanipulering för Lakehouse-tabeller sker via Lakehouse-körningen i stället för via SQL-analysslutpunkten.
  • Direkt åtkomst till granskningsmappen stöds inte för närvarande. Användare kan inte bläddra eller ladda ned de underliggande .XEL granskningsfilerna från lakehouse-granskningsmappen.

Du kan fortfarande fråga revisionshändelser för SQL-analysendpoints genom att använda T-SQL-funktionen sys.fn_get_audit_file_v2.

Nästa steg

Konfigurera SQL-granskningsloggar i Fabric Data Warehouse