SQL-revisionslogfiler i Fabric data warehouse

Gælder for:✅ SQL Analytics-slutpunkt og warehouse i Microsoft Fabric

Overvågning i Fabric data warehouse giver forbedret sikkerhed og overholdelse af angivne standarder ved at spore og registrere databasehændelser.

Ved at bruge SQL-revisionslogfiler kan du overvåge databaseaktiviteter, opdage potentielle sikkerhedstrusler og opfylde overholdelseskrav ved at opretholde et revisionsspor af nøglehandlinger, såsom:

  • Godkendelsesforsøg og ændringer af adgangskontrol
  • Dataadgangs- og ændringshandlinger
  • Skemaændringer og administrative aktiviteter
  • Ændringer af tilladelser og sikkerhedskonfigurationer

Important

Som standard er SQL-overvågningslogge slået fra. Brugere med tilladelser til overvågningsforespørgsler skal aktivere den for at registrere loggene.

For at komme i gang, gennemgå trinene i Sådan konfigurerer du SQL-revisionslogs i Fabric data warehouse.

Storage

SQL-revisionslogs krypteres i ro og gemmes i OneLake.

For Fabric data warehouse skrives revisionslogfiler til .XEL filer, der er gemt i warehouse-revisionsmappen i OneLake.

Brugere med følgende roller kan få adgang til revisionsmappen:

  • Workspace-administratorer
  • Workspace-medlemmer
  • Workspace-bidragydere
  • Workspace-viewere med Read All-tilladelse

Disse brugere kan:

  • Gennemse Audit-mappen
  • Se revisionsfilerne, der .XEL genereres af SQL-revision
  • Kopier filerne til offline analyse
  • Åbn filerne med værktøjer som SQL Server Management Studio (SSMS)

Du kan også forespørge revisionslogfiler med T-SQL via sys.fn_get_audit_file_v2.

Du kan finde en vejledning under Sådan konfigurerer du SQL-overvågningslogge i Fabric data warehouse.

Tip

Konfiguration af overvågningslogge i Microsoft Fabric data warehouse kan øge lageromkostningerne afhængigt af de handlingsgrupper og hændelser, der registreres. Aktivér kun de påkrævede hændelser for at undgå unødvendige lageromkostninger.

Ydeevne

SQL-revisionslogsfunktionen er optimeret til tilgængeligheden og ydeevnen af den database, der revideres. I perioder med meget høj aktivitet eller høj netværksbelastning kan revisionsfunktionen tillade transaktioner at fortsætte uden at registrere alle de begivenheder, der er markeret til revision.

Permissions

Brugere skal have tilladelsen til Audit Queries (Audit) for at konfigurere og forespørge auditlogs.

  • Som standard har administratorer af arbejdsområder tilladelsen Overvågning forespørgsler til alle elementer i arbejdsområdet.
  • Administratorer kan give revisionsforespørgsler på elementer til andre brugere via delingsdialogen.

Workspace Admins kan give Audit-forespørgsler til et element ved at bruge den delte menu-mulighed i Fabric-portalen. Hvis du vil kontrollere, om en bruger har tilladelser til overvågningsforespørgsler , skal du kontrollere indstillingerne for Administrer tilladelser .

  1. I dit lagerobjekt skal du vælge Del-knappen .

    Eller, i Fabric-portalen, i dit arbejdsområde. Vælg kontekstmenuen ... for din lagervare, vælg Administrer tilladelser.

  2. I panelet Grant people access giver du en bruger tilladelser.

    Skærmbillede, der viser, hvor man vælger tilladelsen Auditforespørgsler (Audit) i elementets Del-menu.

Forespørg auditlogs ved at bruge T-SQL-tilladelser

Giv brugerne tilladelsen VIEW DATABASE SECURITY AUDIT , så de kan forespørge revisionslogfiler ved at bruge T-SQL-tilladelser, selvom de ikke har administrative roller i arbejdsområdet.

Når du giver følgende tilladelse, kan en bruger forespørge revisionslogfiler ved at bruge funktionen sys.fn_get_audit_file_v2 :

GRANT VIEW DATABASE SECURITY AUDIT TO [user];

Tip

Tilladelsen VIEW DATABASE SECURITY AUDIT giver kun mulighed for at forespørge revisionslogfiler. Den giver ikke adgang til filerne eller tilladelse til at ændre revisionskonfigurationen.

Overvågningshandlingsgrupper og -handlinger på databaseniveau

For at gøre konfigurationen af overvågningsloggen mere tilgængelig bruger Fabric-portalen brugervenlige navne til at hjælpe ikke-SQL-administratorer og andre brugere med nemt at forstå registrerede Fabric data warehouse-hændelser.

Fabric mapper disse venlige navne til de underliggende SQL Audit-handlingsgrupper. Brug følgende tabel som reference.

Fuldt navn Navn på handlingsgruppe Description
Objektet blev åbnet DATABASE_OBJECT_ACCESS_GROUP Logfører adgang til databaseobjekter, f.eks. meddelelsestyper, assemblies eller kontrakter.
Objektet blev ændret DATABASE_OBJECT_CHANGE_GROUP Logfører handlingerne CREATE, ALTEReller DROP på databaseobjekter.
Objektejer ændret DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP Logfører ejerskabsændringer af databaseobjekter.
Objekttilladelsen er ændret DATABASE_OBJECT_PERMISSION_CHANGE_GROUP Logfører handlinger GRANT, REVOKEeller DENY på databaseobjekter.
Brugeren blev ændret DATABASE_PRINCIPAL_CHANGE_GROUP Logfører oprettelse, ændring eller sletning af databaseprincipaler (brugere, roller).
Brugeren blev efterlignet DATABASE_PRINCIPAL_IMPERSONATION_GROUP Logfører repræsentationshandlinger (f.eks. EXECUTE AS).
Rollemedlem blev ændret DATABASE_ROLE_MEMBER_CHANGE_GROUP Logfører tilføjelse eller fjernelse af logon fra en databaserolle.
Brugeren kunne ikke logge ind FAILED_DATABASE_AUTHENTICATION_GROUP Loggene mislykkede godkendelsesforsøg i databasen.
Skematilladelse blev brugt SCHEMA_OBJECT_ACCESS_GROUP Logfører adgang til skemaobjekter.
Skemaet blev ændret SCHEMA_OBJECT_CHANGE_GROUP Logfører handlingerne CREATE, ALTEReller DROP i skemaer.
Tilladelse til skemaobjekt blev kontrolleret SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP Logfører ændringer af skemaobjektejerskabet.
Tilladelsen til skemaobjekt er ændret SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP Logfører handlinger GRANT, REVOKEeller DENY på skemaobjekter.
Batch blev afsluttet BATCH_COMPLETED_GROUP Denne hændelse udløses, når en batchtekst, en gemt procedure eller en transaktionsstyringshandling fuldfører udførelsen.
Batch blev startet BATCH_STARTED_GROUP Denne hændelse udløses, når en batchtekst, en lagret procedure eller en transaktionsstyringshandling begynder at blive udført.
Revisionen blev ændret AUDIT_CHANGE_GROUP Denne hændelse udløses, når en overvågning oprettes, ændres eller slettes.
Bruger logget ud DATABASE_LOGOUT_GROUP Denne hændelse udløses, når en databasebruger logger af en database.
Bruger logget ind SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP Angiver, at en principal er logget på en database.

Overvågningshandlinger på databaseniveau

Ud over handlingsgrupper kan du konfigurere individuelle revisionshandlinger til at logge specifikke databasebegivenheder:

Overvågning af handling Description
SELECT Logfører SELECT sætninger på et angivet objekt.
INSERT Logfører INSERT handlinger på et angivet objekt.
UPDATE Logfører UPDATE handlinger på et angivet objekt.
DELETE Logfører DELETE handlinger på et angivet objekt.
EXECUTE Logfører udførelsen af lagrede procedurer eller funktioner.
RECEIVE Logfører RECEIVE handlinger på servicemæglerkøer.
REFERENCES Logfører tilladelseskontrol, der involverer begrænsninger for fremmede nøgler.

Reducer revisionsstøj med prædikatfiltrering

For at filtrere hvilke begivenheder der fanges, brug det valgfrie predikatudtryksfilter .

Brug prædikatfiltrering til at reducere støj fra forventet, gentagen aktivitet, såsom automatiseringsidentiteter, serviceprincipper eller planlagte jobs, uden at skulle deaktivere de handlingsgrupper, din organisation har brug for til overholdelse eller undersøgelse.

  • Kun når en begivenhed matcher det konfigurerede prædikat, genereres SQL-revisionslog-begivenheden for den handling.
    • Filtrering sker før begivenheden skrives, så udelukkede begivenheder er ikke tilgængelige senere til retrospektiv undersøgelse. Behandl prædikatundtagelser som en bevidst revisionspolitikbeslutning, og gennemgå det konfigurerede prædikat periodisk, efterhånden som ejerskab, tilladelser og risikoprofiler ændrer sig.
  • Prædikatfiltrering evaluerer kun begivenheder, der allerede er konfigureret til at blive fanget af en aktiveret revisionsaktionsgruppe eller handling.
    • Hvis den underliggende handlingsgruppe ikke er aktiveret, genereres der ingen begivenhed, som prædikatet kan evaluere, og filteret har ingen effekt. For eksempel, for at filtrere SELECT sætninger ved hjælp af et prædikat på feltet statement , skal du først aktivere handlingsgruppen Batch Was Completed (BATCH_COMPLETED_GROUP) til.

Du kan konfigurere et prædikatudtryk ved at bruge Fabric-portalen eller REST API'en. For trin, se Konfigurér et prædikatudtryk.

Prædikatudtrykssyntaks

Prædikatudtryk bruger samme syntaks som klausulen <predicate_expression> i CREATE SERVER AUDIT (Transact-SQL), uden WHERE nøgleordet:

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

<predicate_factor> ::=
    event_field_name { = | <> | != | > | >= | < | <= | LIKE }
    { number | 'string' }
  • event_field_name svarer til en kolonne, der returneres af sys.fn_get_audit_file (Transact-SQL). Du kan bruge alle dokumenterede kolonner, undtagen file_name, audit_file_offset, og event_time.
  • action_id og class_type er strenge, men du kan kun sammenligne dem med numeriske værdier i et prædikat.
  • Strengsammenligninger udfører ikke implicit typekonvertering.
  • Den maksimale udtrykslængde er 3.000 tegn.
  • En tom streng betyder, at der ikke anvendes noget prædikat.

For eksempel, for at udelukke aktivitet genereret af en kendt serviceprincipal eller automatiseringsidentitet, filtreres på server_principal_name. For at udelukke gentagne SELECT udsagn, filtrer på feltet statement : NOT statement LIKE 'SELECT %'.

Limitations

  • Dit standardarbejdsområde understøtter ikke SQL-revisionslogfiler.
  • SQL-revisionslogs understøttes ikke for warehouse-snapshots.

Important

Revisionslogs gemmes i lagerposten i OneLake. Hvis du sletter Warehouse, sletter du også de tilknyttede revisionslogfiler og kan ikke længere få adgang til dem.
For at bevare revisionslogfiler til overholdelse eller undersøgelsesformål, kopier filerne .XEL til et andet lagersted, før du sletter lageret.

Begrænsninger for SQL-analyseslutpunkt

Følgende begrænsninger gælder, når SQL-analyseendepunkter revideres:

  • DML-operationer bliver ikke fanget. Revisionen registrerer ikke operationer som INSERT, UPDATE, DELETE, og MERGE fordi datamanipulation for Lakehouse-tabeller foregår gennem Lakehouse-runtime i stedet for gennem SQL-analyse-endpointet.
  • Direkte adgang til audit-mappen understøttes ikke i øjeblikket. Brugere kan ikke gennemse eller downloade de underliggende .XEL revisionsfiler fra Lakehouse-revisionsmappen.

Du kan stadig forespørge revisionsbegivenheder for SQL-analyse-endpoints ved at bruge T-SQL-funktionen sys.fn_get_audit_file_v2.

Næste trin