Revision af SQL-database i Fabric

Gælder for:SQL-database i Microsoft Fabric

Revision af SQL-databaser i Fabric er en kritisk sikkerheds- og compliance-funktion, der gør det muligt for organisationer at spore og logge databaseaktiviteter. Revision understøtter overholdelse, trusselsdetektion og retsmedicinske undersøgelser ved at hjælpe med at besvare spørgsmål som, hvem der fik adgang til hvilke data, hvornår og hvordan.

Hvad er SQL-revision?

SQL-revision refererer til processen med at indfange og gemme begivenheder relateret til databaseaktivitet. Disse hændelser omfatter dataadgang, ændringer af skemaer, ændringer af tilladelser og forsøg på autentificering.

I Fabric fungerer revision på databaseniveau og understøtter:

  • Overholdelsesovervågning (for eksempel: HIPAA, SOX)
  • Sikkerhedsundersøgelser
  • Operationelle indsigter

Revisionsmål

Auditlogs skrives til en skrivebeskyttet mappe i OneLake og kan forespørges ved hjælp af sys.fn_get_audit_file_v2 T-SQL-funktionen eller OneLake Explorer.

For SQL-databaser i Fabric gemmes revisionslogs i OneLake: https://onelake.blob.fabric.microsoft.com/{workspace_id}/{artifact_id}/Audit/sqldbauditlogs/

Disse logfiler er uforanderlige og tilgængelige for brugere med passende tilladelser. Logfiler kan også downloades via OneLake Explorer eller Azure Storage Explorer.

Fakturering

I øjeblikket medfører det ingen ekstra omkostninger ved at skrive revisionslogbøger til Fabric OneLake, og lagring er inkluderet som en del af kapacitetens OneLake-lagringsgrænser.

Konfigurationsmuligheder

Som standard opfanger Audit everything-indstillingen alle hændelser, inklusive batch-fuldførelser samt vellykket og mislykket autentificering.

For at være mere selektiv, vælg blandt forudkonfigurerede revisionsscenarier, for eksempel: Tilladelsesændringer & Loginforsøg, Datalæsninger og -skrivninger og/eller Skemaændringer.

Hvert forudkonfigureret scenarie mappes til specifikke revisionsaktionsgrupper (for eksempel SCHEMA_OBJECT_ACCESS_GROUP, DATABASE_PRINCIPAL_CHANGE_GROUP). Du kan også vælge, hvilke begivenheder du vil revidere under Brugerdefinerede begivenheder. Du kan vælge individuelle aktionsgrupper for at tilpasse auditen til dine behov. Denne mulighed er ideel for organisationer med strenge interne sikkerhedspolitikker.

For at filtrere almindelige eller kendte adgangsforespørgsler fra kan du angive prædikatudtryk i Transact-SQL (T-SQL) for at filtrere auditbegivenheder fra baseret på betingelser (for eksempel for at udelukke SELECT-sætninger): WHERE statement NOT LIKE '%select%'.

Tilladelser

For at administrere revision ved brug af Fabric-arbejdsområder-roller (anbefalet), skal du have medlemskab i Fabric workspace Contributor-rollen eller højere tilladelser.

For at håndtere revision med SQL-tilladelser:

  • For at konfigurere databaseauditen skal du have tilladelse til AT ÆNDRE ENHVER DATABASEAUDIT.
  • For at se revisionslogfiler med T-SQL skal du have tilladelsen VIEW DATABASE SECURITY AUDIT.

Fastholdelse

Som standard opbevares revisionsdata på ubestemt tid, medmindre du konfigurerer en tilpasset opbevaringsperiode, der automatisk sletter logfiler efter denne periode.

Fabric gemmer i øjeblikket revisionslogs i varens mappe i OneLake og tilpasser dem til varelivscyklussen. Hvis du sletter genstanden, sletter Fabric også sine revisionslogfiler. Hvis du kræver opbevaring uafhængigt af elementets livscyklus, så flyt revisionslogfiler til en separat lagringsplacering (for eksempel en anden Lakehouse- eller Azure Storage-konto) ved hjælp af værktøjer som AzCopy eller SSDT.

Indstillingsbevarelse efter gendannelse

Efter en gendannelsesoperation bevares revisionsindstillingerne, men auditering skal genaktiveres i Fabric SQL Database. I Fabric-portalen åbn Manage SQL auditing, vælg Save.

Konfigurér revision for SQL-database fra Fabric-portalen

For at begynde revision af en Fabric SQL-database:

  1. Navigér til og åbn din SQL-database i Fabric-portalen.
  2. Fra hovedmenuen vælger du fanen Sikkerhed , og vælg derefter Administrer SQL-auditing. Tag et screenshot fra Fabric-portalen, der viser fanen Sikkerhed, og knappen Administrer SQL-audit.
  3. Panelet Manage SQL Auditing åbner.
  4. Vælg knappen 'Gem begivenheder i SQL Audit Logs' for at aktivere revision.
  5. Konfigurer hvilke begivenheder der skal registreres i sektionen Databasebegivenheder . Vælg Audit everything (standard) for at fange alle hændelser.
  6. Eventuelt kan du konfigurere en opbevaringspolitik under Retention.
  7. Eventuelt kan du konfigurere et prædikatudtryk af T-SQL-kommandoer, som ignoreres i feltet Prædikatudtryk .
  8. Vælg Save.

Forespørgselsovervågningslogge

Auditlogs kan forespørges ved hjælp af T-SQL-funktionerne sys.fn_get_audit_file og sys.fn_get_audit_file_v2.

I følgende script skal du angive arbejdsområde-id'et og database-id'et. Begge kan findes i URL'en fra Fabric-portalen. Eksempel: https://fabric.microsoft.com/groups/<fabric workspace id>/sqldatabases/<fabric sql database id>. Den første unikke identifikatorstreng i URL'en er Fabric workspace ID, og den anden unikke identifikatorstreng er SQL-database-ID'et.

  • Erstat <fabric_workspace_id> med dit Fabric-arbejdsområde-id. Du kan finde ID'et for et arbejdsområde i URL'en, det er den unikke streng inden for to / tegn i /groups/ dit browservindue.
  • Erstat <fabric sql database id> med din SQL-database i Fabric-database-id. Du kan finde ID'et på databaseelementet i URL'en, det er den unikke streng inde to / tegn efter /sqldatabases/ i dit browservindue.

For eksempel:

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 );

Dette eksempel henter revisionslogs mellem 2025-11-17T08:40:40Z og 2025-11-17T09:10:40Z.

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')

For mere information, se sys.fn_get_audit_file og sys.fn_get_audit_file_v2.

Styr revision med REST API'en

Du kan også se og konfigurere SQL-databaseauditing-indstillinger programmatisk ved hjælp af Fabric REST API'en. REST API'en gør det muligt at administrere revision konsekvent på tværs af alle databaser i et arbejdsområde ved hjælp af PowerShell-scripts.

For mere information, se Administrer SQL-databaserevision med REST API'en.

Beskyt følsomme oplysninger i revisionslogfiler

Når du konstruerer dynamisk SQL ved at sammenkæde inputværdier direkte i SQL-sætningen, bliver disse værdier en del af sætningsteksten. Hvis du reviderer kontoudtoget, kan revisionsloggen fange følsomme oplysninger, der er inkluderet i opgørelsesteksten.

For at mindske risikoen for at eksponere følsomme oplysninger, følg disse metoder:

  • Undgå dynamisk SQL for operationer, der indeholder følsomme værdier

    For sikkerhedsfølsomme administrative operationer bør du undgå at konstruere statements ved at sammenkæde følsomme værdier til dynamisk SQL. Brug hvor muligt native SQL-sætninger eller andre tilgange, der forhindrer følsomme værdier i at blive indlejret direkte i sætningsteksten.

    Dynamiske SQL-sætninger, der er konstrueret af brugertilgængelige strenge, gør også dine applikationer sårbare over for SQL-injektionsangreb. SQL-injektion er et angreb, hvor ondsindet kode indsættes i strenge, som senere sendes til databasen til parsing og eksekvering. Du skal teste enhver procedure, der konstruerer T-SQL for SQL-injektionssårbarheder, fordi databasemotoren udfører alle syntaktisk gyldige forespørgsler, den modtager. Brug parametre til dataværdier, og sammensæt aldrig parameterværdier i forespørgselstekst. Korrekt parametriserede værdier behandles som data i stedet for eksekverbar SQL-syntaks.

  • Begræns adgangen til revisionslogs

    Begræns adgangen til revisionslogfiler til autoriserede brugere og administratorer. Inde i SQL databaseprogram styrer SQL-tilladelser auditadgangen inden for SQL databaseprogram og kan variere afhængigt af platformen og revisionsomfanget. Følg princippet om mindste privilegium og giv kun de tilladelser, der kræves for at administrere eller gennemgå revisionsinformation. Der findes separate serverniveau- og databaseniveau-revisionstilladelsesmodeller, og Azure SQL Database adskiller sig fra SQL Server ved tilgængeligheden af serverniveau-tilladelser. Begrænsning af adgangen til revisionsdata hjælper med at reducere risikoen for uautoriseret videregivelse, når følsomme oplysninger er til stede i registrerede revisionsbegivenheder.

    Adgang til auditlogs uden for SQL databaseprogram afhænger af tilladelser i den konfigurerede destination (såsom OneLake). Følg princippet om mindste privilegium og giv kun de tilladelser, der kræves for at administrere eller gennemgå revisionsinformation.