Auditovanie SQL databázy v Fabric

Vzťahuje sa na:databáza SQL v službe Microsoft Fabric

Auditovanie SQL databáz vo Fabric je kľúčová bezpečnostná a súladová funkcia, ktorá umožňuje organizáciám sledovať a zaznamenávať databázové aktivity. Audit podporuje dodržiavanie predpisov, detekciu hrozieb a forenzné vyšetrovania tým, že pomáha odpovedať na otázky ako kto pristupoval k akým údajom, kedy a ako.

Čo je SQL audit?

SQL audit označuje proces zachytávania a ukladania udalostí súvisiacich s databázovou aktivitou. Tieto udalosti zahŕňajú prístup k dátam, zmeny schémy, úpravy oprávnení a pokusy o autentifikáciu.

Vo Fabrice audit funguje na úrovni databázy a podporuje:

  • Monitorovanie súladu (napríklad: HIPAA, SOX)
  • Bezpečnostné vyšetrovania
  • Prevádzkové poznatky

Cieľ auditu

Auditné záznamy sa zapisujú do priečinka iba na čítanie v OneLake a môžu byť dotazované pomocou sys.fn_get_audit_file_v2 funkcie T-SQL alebo OneLake Explorer.

Pre SQL databázy vo Fabrice sa auditné logy ukladajú v OneLake: https://onelake.blob.fabric.microsoft.com/{workspace_id}/{artifact_id}/Audit/sqldbauditlogs/

Tieto logy sú nemenné a prístupné používateľom s príslušnými oprávneniami. Záznamy je možné stiahnuť aj pomocou OneLake Explorer alebo Azure Storage Explorer.

Fakturácia

V súčasnosti písanie auditných záznamov do Fabric OneLake neprináša dodatočné poplatky a skladovanie je zahrnuté ako súčasť limitov kapacity OneLake.

Možnosti konfigurácie

V predvolenom nastavení možnosť Auditovať všetko zachytáva všetky udalosti, vrátane dávkových dokončení a úspešnej či neúspešnej autentifikácie.

Aby ste boli selektívnejší, vyberte si z predkonfigurovaných auditných scenárov, napríklad: Zmeny oprávnení a pokusy o prihlásenie, Čítania a zápisy dát a/alebo Zmeny schémy.

Každý predkonfigurovaný scenár mapuje na konkrétne skupiny auditných akcií (napríklad SCHEMA_OBJECT_ACCESS_GROUP, DATABASE_PRINCIPAL_CHANGE_GROUP). Môžete si tiež vybrať, ktoré udalosti auditovať v sekcii Vlastné udalosti. Môžete si vybrať jednotlivé akčné skupiny, aby ste audit prispôsobili svojim potrebám. Táto možnosť je ideálna pre organizácie s prísnymi internými bezpečnostnými politikami.

Na filtrovanie bežných alebo známych prístupových dotazov môžete v Transact-SQL (T-SQL) poskytnúť predikátové výrazy na filtrovanie auditných udalostí na základe podmienok (napríklad na vylúčenie SELECT príkazov): WHERE statement NOT LIKE '%select%'.

Povolenia

Na správu auditu pomocou rolí Fabric workspace (odporúčané) musíte mať členstvo v úlohe Fabric workspace Contributor alebo vyššie oprávnenia.

Na správu auditu pomocou SQL oprávnení:

  • Na konfiguráciu auditu databázy musíte mať povolenie UPRAVIŤ AKÝKOĽVEK AUDIT DATABÁZY.
  • Na zobrazenie auditných záznamov pomocou T-SQL musíte mať povolenie ZOBRAZIŤ BEZPEČNOSŤ DATABÁZY.

Retention

V predvolenom nastavení sú auditné dáta uchovávané na neurčito, pokiaľ si nenastavíte vlastné obdobie uchovávania, ktoré automaticky maže logy po tomto období.

Fabric momentálne uchováva auditné záznamy v priečinku položky v OneLake a prispôsobuje ich životnému cyklu položky. Ak položku vymažete, Fabric tiež vymaže svoje auditné záznamy. Ak potrebujete uchovávanie nezávislé od životného cyklu položky, presuňte auditné logy na samostatné úložisko (napríklad iný Lakehouse alebo Azure Storage účet) pomocou nástrojov ako AzCopy alebo SSDT.

Zachovanie nastavení po obnovení

Po operácii obnovy sa nastavenia auditu zachovávajú, ale auditovanie musí byť znovu povolené v Fabric SQL Database. V Fabric portáli otvorte Manage SQL auditing, vyberte Save.

Konfigurujte auditovanie SQL databázy cez portál Fabric

Na začatie auditu pre Fabric SQL databázu:

  1. Prejdite a otvorte svoju SQL databázu v portáli Fabric.
  2. V hlavnom menu vyberte záložku Bezpečnosť a potom Spravovať SQL audit. Snímka obrazovky z portálu Fabric, zobrazujúca záložku Bezpečnosť a tlačidlo Spravovať SQL audit.
  3. Otvorí sa panel Spravovať SQL audit.
  4. Vyberte tlačidlo Uložiť udalosti do SQL Audit Logs , aby ste povolili audit.
  5. Konfigurujte, ktoré udalosti sa zaznamenávajú v sekcii Udalosti databázy . Vyberte Audit everything (predvolené), aby ste zachytili všetky udalosti.
  6. Voliteľne nakonfigurujte politiku zadržania v sekcii Retention.
  7. Voliteľne nakonfigurujte predikátový výraz T-SQL príkazov, ktorý sa ignoruje v poli Predikátový výraz .
  8. Vyberte položku Uložiť.

Denníky auditu dotazu

Auditné logy je možné dotazovať pomocou T-SQL funkcií sys.fn_get_audit_file a sys.fn_get_audit_file_v2.

V nasledujúcom skripte musíte zadať ID pracovného priestoru a ID databázy. Oboje nájdete v URL z portálu Fabric. Napríklad: https://fabric.microsoft.com/groups/<fabric workspace id>/sqldatabases/<fabric sql database id>. Prvý jedinečný identifikačný reťazec v URL je ID pracovného priestoru Fabric a druhý jedinečný identifikačný reťazec je ID SQL databázy.

  • Nahraďte <fabric_workspace_id> ho identifikátorom pracovného priestoru služby Fabric. ID pracovného priestoru nájdete v URL, je to jedinečný reťazec v dvoch / znakoch v /groups/ okne prehliadača.
  • Nahraďte <fabric sql database id> databázou SQL v ID databázy Fabric. ID položky databázy nájdete v URL, je to jedinečný reťazec v dvoch / znakoch po ňom /sqldatabases/ v okne prehliadača.

Napríklad:

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

Tento príklad získava auditné záznamy medzi 2025-11-17T08:40:40Z a 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')

Pre viac informácií pozri sys.fn_get_audit_file a sys.fn_get_audit_file_v2.

Správa auditu pomocou REST API

Nastavenia auditu SQL databázy môžete tiež programovo zobraziť a konfigurovať pomocou Fabric REST API. REST API vám umožňuje konzistentne spravovať audity naprieč všetkými databázami v pracovnom priestore pomocou PowerShell skriptov.

Pre viac informácií pozri Spravovať audit SQL databáz pomocou REST API.

Chráňte citlivé informácie v auditných záznamoch

Keď konštruujete dynamické SQL spájaním vstupných hodnôt priamo do SQL príkazu, tieto hodnoty sa stanú súčasťou textu príkazu. Ak auditujete výpis, auditný denník môže zachytiť citlivé informácie obsiahnuté v texte výpisu.

Aby ste znížili riziko odhalenia citlivých informácií, dodržiavajte tieto postupy:

  • Vyhnite sa dynamickému SQL pri operáciách, ktoré obsahujú citlivé hodnoty

    Pri bezpečnostne citlivých administratívnych operáciách sa vyhnite vytváraniu príkazov spájaním citlivých hodnôt do dynamického SQL. Kde je to možné, používajte natívne SQL príkazy alebo iné prístupy, ktoré zabraňujú tomu, aby citlivé hodnoty boli priamo vložené do textu príkazu.

    Dynamické SQL príkazy, ktoré sú zostavené z používateľsky prístupných reťazcov, tiež robia vaše aplikácie zraniteľnými voči SQL injekčným útokom. SQL injekcia je útok, pri ktorom je do reťazcov vložený škodlivý kód, ktoré sú následne odoslané do databázy na analýzu a vykonanie. Musíte otestovať akýkoľvek postup, ktorý vytvára zraniteľnosti T-SQL pre SQL injection, pretože databázový engine vykonáva všetky syntakticky platné dotazy, ktoré prijíma. Používajte parametre pre dátové hodnoty a nikdy nespájajte hodnoty parametrov do textu dotazu. Správne parametrizované hodnoty sa považujú za dáta, nie za spustiteľnú SQL syntax.

  • Obmedziť prístup k auditným logom

    Obmedziť prístup k auditným logom na oprávnených používateľov a administrátorov. V SQL Database Engine riadia SQL oprávnenia prístup k auditu v SQL Database Engine a môžu sa líšiť v závislosti od platformy a rozsahu auditu. Dodržiavajte princíp najmenších privilégií a udeľujte len oprávnenia potrebné na správu alebo kontrolu auditných informácií. Existujú samostatné modely oprávnení auditu na úrovni servera a databázy a Azure SQL Database sa od SQL Server líši dostupnosťou oprávnení na úrovni servera. Obmedzenie prístupu k auditným údajom pomáha znižovať riziko neoprávneného zverejnenia, keď sú citlivé informácie prítomné v zaznamenaných auditných udalostiach.

    Prístup k auditným logom mimo SQL Database Engine závisí od oprávnení v nakonfigurovanom cieľovom zariadení (napríklad OneLake). Dodržiavajte princíp najmenších privilégií a udeľujte len oprávnenia potrebné na správu alebo kontrolu auditných informácií.