SQL auditné logy v Fabric Data Warehouse

Vzťahuje sa na:✅ koncový bod analýzy SQL a sklad v službe Microsoft Fabric

Auditovanie v sklade údajov služby Fabric poskytuje vylepšené možnosti zabezpečenia a dodržiavania súladu tým, že sledujete a zaznamenávate udalosti databázy.

Použitím SQL auditných logov môžete monitorovať aktivity v databáze, odhaľovať potenciálne bezpečnostné hrozby a spĺňať požiadavky na súlad udržiavaním auditnej stopy kľúčových krokov, ako sú:

  • Pokusy o overenie a zmeny riadenia prístupu
  • Operácie prístupu k údajom a úprav
  • Zmeny schémy a aktivity správy
  • Zmeny povolení a konfigurácie zabezpečenia

Important

V predvolenom nastavení sú denníky auditu SQL vypnuté. Používatelia s povoleniami na dotazy auditu musia povoliť zachytávanie denníkov.

Na začiatok si prejdite kroky v časti Ako nastaviť SQL auditné logy v Fabric Data Warehouse.

Storage

SQL auditné logy sú šifrované v pokoji a ukladané v OneLake.

Pre Fabric Data Warehouse sa auditné logy zapisujú do .XEL súborov uložených v priečinku Audit skladu v OneLake.

Používatelia s nasledujúcimi rolami majú prístup k auditnému priečinku:

  • Administrátori pracovného priestoru
  • Členovia pracovného priestoru
  • Prispievatelia do pracovného priestoru
  • Prehliadači pracovného priestoru s povolením čítať všetko

Títo používatelia môžu:

  • Prehliadajte priečinok Audit
  • Zobraziť auditné súbory generované .XEL SQL auditom
  • Skopírujte súbory na offline analýzu
  • Otvorte súbory pomocou nástrojov ako SQL Server Management Studio (SSMS)

Auditné logy môžete tiež vyhľadávať pomocou T-SQL cez sys.fn_get_audit_file_v2.

Pokyny nájdete v téme Konfigurácia denníkov auditu SQL v sklade údajov služby Fabric.

Tip

Konfigurácia denníkov auditu v sklade údajov služby Microsoft Fabric môže zvýšiť náklady na úložisko v závislosti od skupín akcií a zaznamenaných udalostí. Ak sa chcete vyhnúť zbytočným nákladom na úložisko, povoľte iba požadované udalosti.

Výkon

Funkcia SQL auditných logov je optimalizovaná pre dostupnosť a výkon databázy, ktorá sa audituje. Počas období veľmi vysokej aktivity alebo vysokej záťaže siete môže auditovacia funkcia umožniť pokračovať v transakciách bez zaznamenávania všetkých udalostí označených na audit.

Permissions

Používatelia musia mať povolenie Audit queries (Audit) na konfiguráciu a dotazovanie auditných logov.

  • Správcovia pracovného priestoru majú predvolene povolenie na auditné dotazy pre všetky položky v pracovnom priestore.
  • Administrátori môžu udeliť oprávnenia na auditné dotazy na položky iným používateľom prostredníctvom dialógového okna zdieľania.

Administrátori pracovného priestoru môžu udeliť oprávnenia na auditné dotazy na položku pomocou možnosti zdieľaného menu v portáli Fabric. Ak chcete overiť, či má používateľ povolenia na auditovanie dotazov , skontrolujte nastavenia Spravovať povolenia .

  1. Vo vašom sklade vyberte tlačidlo Zdieľať .

    Alebo v portáli Fabric vo vašom pracovnom priestore. Vyberte ... kontextové menu pre váš skladový predmet a vyberte Spravovať oprávnenia.

  2. V paneli prístupu Grant udeľte používateľom oprávnenia.

    Snímka obrazovky ukazujúca, kde vybrať povolenie Audit queries (Audit) v menu položky Zdieľať.

Dotazovanie auditných logov pomocou T-SQL oprávnení

Udeľte používateľom oprávnenie VIEW DATABASE SECURITY AUDIT , aby mohli vyhľadávať auditné logy pomocou T-SQL oprávnení, aj keď nemajú administrátorské úlohy v pracovnom priestore.

Keď udelíte nasledujúce povolenie, používateľ môže vyhľadávať auditné logy pomocou funkcie sys.fn_get_audit_file_v2 :

GRANT VIEW DATABASE SECURITY AUDIT TO [user];

Tip

Toto VIEW DATABASE SECURITY AUDIT povolenie umožňuje iba dotazovať auditné logy. Neudeľuje prístup k súborom ani povolenie na úpravu konfigurácie auditu.

Skupiny akcií a akcie auditu na úrovni databázy

Aby bola konfigurácia denníka auditu dostupnejšia, portál Fabric používa popisné názvy, ktoré pomáhajú správcom mimo SQL a iným používateľom ľahko pochopiť zachytené udalosti Fabric Data Warehouse.

Fabric mapuje tieto priateľské názvy na základné SQL Audit akčné skupiny. Použite nasledujúcu tabuľku ako referenciu.

Popisný názov Názov skupiny akcií Description
Objekt bol sprístupnený DATABASE_OBJECT_ACCESS_GROUP Denníky získavajú prístup k objektom databázy, ako sú napríklad typy správ, zostavy alebo zmluvy.
Objekt bol zmenený DATABASE_OBJECT_CHANGE_GROUP Denníky CREATE, ALTERalebo DROP operácie s objektmi databázy.
Zmena vlastníka objektu DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP Denníky zmeny vlastníctva objektov databázy.
Povolenie objektu bolo zmenené DATABASE_OBJECT_PERMISSION_CHANGE_GROUP Denníky GRANT, REVOKEalebo DENY akcie v objektoch databázy.
Používateľ bol zmenený DATABASE_PRINCIPAL_CHANGE_GROUP Vytvorenie denníkov, zmenu zmeny alebo odstránenie objektov databázy (používatelia, roly).
Používateľ bol odcudzený DATABASE_PRINCIPAL_IMPERSONATION_GROUP Denníky operácií zosobnenia (napríklad EXECUTE AS).
Člen roly bol zmenený DATABASE_ROLE_MEMBER_CHANGE_GROUP Zaznamenáva pridanie alebo odstránenie prihlasovacích údajov z roly databázy.
Používateľovi sa nepodarilo prihlásiť FAILED_DATABASE_AUTHENTICATION_GROUP Denníky zlyhali pokusy o overenie v rámci databázy.
Bolo použité povolenie schémy SCHEMA_OBJECT_ACCESS_GROUP Denníky majú prístup k objektom schémy.
Schéma bola zmenená SCHEMA_OBJECT_CHANGE_GROUP Denníky CREATE, ALTERalebo DROP operácie so schémami.
Bolo skontrolované povolenie objektu schémy SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP Denníky sa zmenia na vlastníctvo objektu schémy.
Povolenie na objekt schémy bolo zmenené SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP Denníky GRANT, REVOKEalebo DENY akcie pre objekty schémy.
Dávka bola dokončená BATCH_COMPLETED_GROUP Táto udalosť sa vyvolá vždy, keď sa dokončí vykonávanie ľubovoľného dávkového textu, uloženej procedúry alebo operácie správy transakcií.
Dávka bola spustená BATCH_STARTED_GROUP Táto udalosť sa vyvolá vždy, keď sa začne vykonávať akýkoľvek dávkový text, uložená procedúra alebo operácia správy transakcií.
Audit bol zmenený AUDIT_CHANGE_GROUP Táto udalosť sa vyvolá pri každom vytvorení, úprave alebo odstránení auditu.
Používateľ odhlásený DATABASE_LOGOUT_GROUP Táto udalosť sa vyvolá, keď sa používateľ databázy odhlási z databázy.
Používateľ prihlásený SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP Označuje, že objekt zodpovedný sa úspešne prihlásil do databázy.

Akcie auditu na úrovni databázy

Okrem skupín akcií môžete nakonfigurovať jednotlivé auditné akcie na zaznamenávanie konkrétnych databázových udalostí:

Audítorská akcia Description
SELECT Denníky SELECT príkazov do zadaného objektu.
INSERT Denníky INSERT operácie na zadaný objekt.
UPDATE Denníky UPDATE operácie na zadaný objekt.
DELETE Denníky DELETE operácie na zadaný objekt.
EXECUTE Denníky vykonávania uložených procedúr alebo funkcií.
RECEIVE Logs operations on Service Broker queues (Denníky operácií RECEIVE sprostredkovateľa služby).
REFERENCES Zaznamenáva kontroly povolení týkajúce sa obmedzení cudzieho kľúča.

Zníženie šumu z auditu pomocou filtrovania predikátov

Na filtrovanie, ktoré udalosti sú zachytené, použite voliteľný filter predikátových výrazov .

Používajte filtrovanie predikátov na zníženie šumu z očakávaných, opakujúcich sa aktivít, ako sú identity automatizácie, servisné princípy alebo plánované úlohy, bez nutnosti deaktivovať akčné skupiny, ktoré vaša organizácia potrebuje na účely dodržiavania predpisov alebo vyšetrovania.

  • Len keď udalosť zodpovedá konfigurovanému predikátu, vygeneruje sa udalosť SQL audit log pre danú akciu.
    • Filtrovanie prebieha ešte pred zápisom udalosti, takže vylúčené udalosti nie sú neskôr dostupné na spätné skúmanie. Zaobchádzajte s vylúčeniami predikátov ako s úmyselným rozhodnutím o audite a politike a pravidelne prehodnocujte konfigurovaný predikát, keď sa menia vlastníctvo, oprávnenia a rizikové profily.
  • Filtrovanie predikátov vyhodnocuje iba udalosti, ktoré sú už nakonfigurované na zachytenie povolenou skupinou auditných akcií alebo akciou.
    • Ak základná akčná skupina nie je povolená, nevytvorí sa žiadna udalosť, ktorú by predikát mohol vyhodnotiť, a filter nemá žiadny vplyv. Napríklad na filtrovanie SELECT výrokov pomocou predikátu v statement poli musíte najprv povoliť akčnú skupinu Batch Was Completed (BATCH_COMPLETED_GROUP).

Predikátový výraz môžete nakonfigurovať pomocou portálu Fabric alebo REST API. Pre kroky pozri Konfigurácia výrazu predikátu.

Syntax predikátu výrazu

Predikáty používajú rovnakú syntax ako klauzula <predicate_expression> v CREATE SERVER AUDIT (Transact-SQL), bez kľúčového WHERE slova:

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

<predicate_factor> ::=
    event_field_name { = | <> | != | > | >= | < | <= | LIKE }
    { number | 'string' }
  • event_field_namezodpovedá stĺpcu vrátenému sys.fn_get_audit_file (Transact-SQL). Môžete použiť všetky zdokumentované stĺpce, okrem file_name, audit_file_offset, a event_time.
  • action_id a class_type sú reťazce, ale môžete ich porovnávať len s číselnými hodnotami v predikáte.
  • Porovnania reťazcov nevykonávajú implicitnú konverziu typov.
  • Maximálna dĺžka výrazu je 3 000 znakov.
  • Prázdny reťazec znamená, že sa neaplikuje žiadny predikát.

Napríklad, ak chcete vylúčiť aktivitu generovanú známym princípom služby alebo identitou automatizácie, filtrujte na server_principal_name. Na vylúčenie opakujúcich SELECT sa výrokov filtrujte v poli: statementNOT statement LIKE 'SELECT %'.

Limitations

  • Váš predvolený pracovný priestor nepodporuje SQL auditné logy.
  • SQL auditné logy nie sú podporované pre snapshoty skladu.

Important

Auditné záznamy sú uložené v skladovej položke v OneLake. Ak Warehouse vymažete, vymažete aj súvisiace auditné logy a už k nim nemáte prístup.
Na uchovávanie auditných záznamov na účely súladu alebo vyšetrovania skopírujte .XEL súbory do iného úložiska pred vymazaním skladu.

Obmedzenia koncového bodu analýzy SQL

Pri audite SQL analytických endpointov platia nasledujúce obmedzenia:

  • Operácie DML nie sú zachytené. Audit nezaznamenáva operácie ako INSERT, UPDATE, DELETE, a MERGE pretože manipulácia s dátami pre Lakehouse tabuľky prebieha cez runtime Lakehouse, nie cez SQL analytics endpoint.
  • Priamy prístup k auditnému priečinku momentálne nie je podporovaný. Používatelia nemôžu prehliadať ani sťahovať podkladové auditné .XEL súbory z auditného priečinka Lakehouse.

Stále môžete dotazovať auditné udalosti na SQL analytické endpointy pomocou funkcie sys.fn_get_audit_file_v2T-SQL .

Ďalší krok