Protokoly auditu SQL ve službě Fabric Data Warehouse

Platí pro:✅ Koncový bod analýzy SQL a datový sklad v Microsoft Fabric

Auditování v datovém skladu Fabric poskytuje vylepšené možnosti zabezpečení a dodržování předpisů sledováním a zaznamenáváním databázových událostí.

Použitím SQL auditních logů můžete monitorovat aktivity v databázi, detekovat potenciální bezpečnostní hrozby a splňovat požadavky na dodržování pravidel tím, že udržujete auditní stopu klíčových akcí, například:

  • Pokusy o ověření a změny řízení přístupu
  • Operace přístupu k datům a jejich úprav
  • Změny schématu a aktivity správy
  • Změny oprávnění a konfigurace zabezpečení

Důležité

Ve výchozím nastavení jsou protokoly auditu SQL VYPNUTÉ. Uživatelé s oprávněními pro dotazy Audit musí povolit zachytávání protokolů.

Začněte tím, že si projděte postup konfigurace protokolů auditu SQL ve službě Fabric Data Warehouse.

Storage

Protokoly auditu SQL se šifrují v klidovém stavu a ukládají se ve OneLake.

V případě datového skladu Fabric se protokoly auditu zapisují do .XEL souborů uložených ve složce Audit skladu ve OneLake.

Uživatelé s následujícími rolemi mají přístup ke složce auditování:

  • Pracovní prostor Správci
  • Členové pracovního prostoru
  • Přispěvatelé pracovních prostorů
  • Prohlížeče pracovních prostorů s oprávněním Číst vše

Tito uživatelé můžou:

  • Procházení složky Audit
  • .XEL Zobrazení souborů auditu vygenerovaných auditováním SQL
  • Kopírování souborů pro offline analýzu
  • Otevřete soubory pomocí nástrojů, jako je SQL Server Management Studio (SSMS).

Protokoly auditu můžete dotazovat také pomocí T-SQL prostřednictvím sys.fn_get_audit_file_v2.

Pokyny najdete v tématu Konfigurace protokolů auditu SQL vFabric Data Warehouse .

Návod

Konfigurace protokolů auditu v Microsoft Fabric Data Warehouse může zvýšit náklady na úložiště v závislosti na zaznamenaných skupinách akcí a událostech. Povolte pouze požadované události, abyste se vyhnuli zbytečným nákladům na úložiště.

Performance

Funkce SQL auditních logů je optimalizována pro dostupnost a výkon databáze, která je auditována. Během období velmi vysoké aktivity nebo vysokého zatížení sítě může funkce auditování umožnit transakcím pokračovat bez zaznamenávání všech událostí označených pro auditování.

Dovolení

Uživatelé musí mít oprávnění Dotazy auditu (Audit) ke konfiguraci a dotazování protokolů auditu.

  • Ve výchozím nastavení mají správci pracovního prostoru oprávnění Auditovat dotazy ke všem položkám v pracovním prostoru.
  • Administrátoři mohou udělit oprávnění k auditním dotazům na položky ostatním uživatelům prostřednictvím dialogového okna sdílení.

Správci pracovního prostoru mohou udělit oprávnění k auditním dotazům na položku pomocí možnosti sdíleného menu v portálu Fabric. Pokud chcete ověřit, jestli má uživatel oprávnění pro audit dotazů, zkontrolujte nastavení Spravovat oprávnění.

  1. V položce Sklad vyberte tlačítko Sdílet .

    Nebo na portálu Fabric v pracovním prostoru. Vyberte ... kontextovou nabídku položky Skladu a vyberte Spravovat oprávnění.

  2. V podokně Udělit lidem přístup udělte uživateli oprávnění.

    Snímek obrazovky, který ukazuje, kde vybrat oprávnění pro dotazy auditu (Audit) v nabídce Sdílení.

Dotazujte auditní logy pomocí oprávnění T-SQL

Udělte uživatelům oprávnění VIEW DATABASE SECURITY AUDIT , aby mohli dotazovat auditní logy pomocí T-SQL oprávnění, i když nemají administrátorské role v pracovním prostoru.

Když udělíte následující oprávnění, uživatel může dotazovat auditní logy pomocí sys.fn_get_audit_file_v2 funkce:

GRANT VIEW DATABASE SECURITY AUDIT TO [user];

Návod

Toto VIEW DATABASE SECURITY AUDIT oprávnění umožňuje pouze dotazovat auditní záznamy. Neuděluje přístup k souborům ani oprávnění upravovat auditní konfiguraci.

Skupiny akcí a akce auditu na úrovni databáze

Aby byla konfigurace protokolu auditu přístupnější, portál Fabric používá popisné názvy, které pomáhají správcům jiných než SQL a dalším uživatelům snadno pochopit zachycené události datového skladu Fabric.

Systém mapuje tyto přátelské názvy na podkladové skupiny akcí SQL Audit. Jako referenci použijte následující tabulku.

Přívětivý název Název skupiny akcí Popis
Byl přístup k objektu DATABASE_OBJECT_ACCESS_GROUP Protokoluje přístup k databázovým objektům, jako jsou typy zpráv, sestavení nebo kontrakty.
Objekt byl změněn. DATABASE_OBJECT_CHANGE_GROUP Zaznamenává operace CREATE, ALTERnebo DROP na databázových objektech.
Změna vlastníka objektu DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP Zaznamenává změny vlastnictví databázových objektů.
Oprávnění objektu bylo změněno. DATABASE_OBJECT_PERMISSION_CHANGE_GROUP Zaznamenává akce GRANT, REVOKEnebo DENY u databázových objektů.
Uživatel byl změněn. DATABASE_PRINCIPAL_CHANGE_GROUP Zaznamenává vytvoření, změnu nebo odstranění subjektů databáze (uživatelů, rolí).
Uživatel byl vydáván za někoho jiného DATABASE_PRINCIPAL_IMPERSONATION_GROUP Zaznamenává operace zosobnění (například EXECUTE AS).
Člen role byl změněn. DATABASE_ROLE_MEMBER_CHANGE_GROUP Zaznamená přidání nebo odebrání přihlášení z databázové role.
Přihlášení uživatele se nezdařilo. FAILED_DATABASE_AUTHENTICATION_GROUP Protokoly zaznamenávají neúspěšné pokusy o ověření v databázi.
Oprávnění ke schématu bylo použito. SCHEMA_OBJECT_ACCESS_GROUP Protokoluje přístup k objektům schématu.
Schéma bylo změněno. SCHEMA_OBJECT_CHANGE_GROUP Zaznamenává operace CREATE, ALTERnebo DROP na schématech.
Bylo zkontrolováno povolení objektu schématu. SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP Zaznamenává změny vlastnictví objektu schématu.
Došlo ke změně oprávnění objektu schématu. SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP Zaznamenává akce GRANT, REVOKEnebo DENY u objektů schématu.
Dávka byla dokončena. BATCH_COMPLETED_GROUP Tato událost se vyvolá vždy, když se spustí jakýkoli dávkový text, uložená procedura nebo operace správy transakcí.
Služba Batch byla spuštěna. BATCH_STARTED_GROUP Tato událost se vyvolá pokaždé, když se spustí jakýkoli dávkový text, uložená procedura nebo operace správy transakcí.
Audit byl změněn. AUDIT_CHANGE_GROUP Tato událost se vyvolá při každém vytvoření, změně nebo odstranění auditu.
Uživatel se odhlásil DATABASE_LOGOUT_GROUP Tato událost se vyvolá, když se uživatel databáze odhlásí z databáze.
Přihlášený uživatel SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP Označuje, že se uživatel úspěšně přihlásil k databázi.

Akce auditu na úrovni databáze

Kromě skupin akcí můžete nakonfigurovat jednotlivé akce auditu pro protokolování konkrétních databázových událostí:

Akce auditování Popis
SELECT Zaznamenává SELECT příkazy na zadaném objektu.
INSERT Protokoluje operace INSERT na zadaném objektu.
UPDATE Protokoluje operace UPDATE na zadaném objektu.
DELETE Protokoluje operace DELETE na zadaném objektu.
EXECUTE Zaznamenává spouštění uložených procedur nebo funkcí.
RECEIVE Zaznamenává operace RECEIVE ve frontách Service Broker.
REFERENCES Protokoluje kontroly oprávnění zahrnující omezení cizího klíče.

Snižte šum z auditu pomocí filtrování predikátů

Pro filtrování, které události jsou zachyceny, použijte volitelný filtr výrazů predikátů .

Používejte filtrování predikátů ke snížení šumu z očekávaných, opakujících se aktivit, jako jsou identity automatizace, principy služeb nebo plánované úlohy, aniž byste museli deaktivovat akční skupiny, které vaše organizace potřebuje pro účely souladu nebo vyšetřování.

  • Pouze když událost odpovídá konfigurovanému predikátu, je vygenerována událost SQL audit log pro tuto akci.
    • Filtrování probíhá před zápisem události, takže vyloučené události nejsou později k dispozici pro zpětné zkoumání. Považujte vyloučení predikátů za záměrné rozhodnutí auditu a politiky a pravidelně převěřujte konfigurovaný predikát, jak se mění vlastnictví, oprávnění a rizikové profily.
  • Filtrování predikátů vyhodnocuje pouze události, které jsou již nakonfigurovány k zachycení povolenou skupinou auditních akcí nebo akcí.
    • Pokud není povolena základní akční skupina, žádná událost pro predikát není generována a filtr nemá žádný účinek. Například pro filtrování SELECT příkazů pomocí predikátu v statement poli musíte nejprve povolit akční skupinu Batch Was Completed (BATCH_COMPLETED_GROUP).

Predikátový výraz můžete nakonfigurovat pomocí portálu Fabric nebo REST API. Pro kroky viz Konfigurovat výraz predikátu.

Syntaxe predikátového výrazu

Predikátové výrazy používají stejnou syntaxi jako klauzule <predicate_expression> v CREATE SERVER AUDIT (Transact-SQL), bez klíč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_name odpovídá sloupci vrácenému funkcí sys.fn_get_audit_file (Transact-SQL). Můžete použít všechny zdokumentované sloupce, kromě file_name, audit_file_offset, a .event_time
  • action_id a class_type jsou řetězce, ale můžete je porovnávat pouze s číselnými hodnotami v predikátu.
  • Porovnání řetězců neprovádí implicitní převod typů.
  • Maximální délka výrazu je 3 000 znaků.
  • Prázdný řetězec znamená, že není aplikován žádný predikát.

Například pro vyloučení aktivity generované známým principem služby nebo identitou automatizace filtrujte na server_principal_name. Chcete-li vyloučit opakující se příkazy SELECT, filtrujte podle pole statement: NOT statement LIKE 'SELECT %'.

Omezení

  • Váš výchozí pracovní prostor nepodporuje protokoly auditu SQL.
  • Protokoly auditu SQL nejsou podporované pro snímky skladu.

Důležité

Protokoly auditu se ukládají v položce Warehouse ve OneLake. Pokud odstraníte sklad, odstraníte také přidružené soubory protokolu auditu a už k nim nebudete mít přístup.
Pokud chcete zachovat protokoly auditu pro účely dodržování předpisů nebo šetření, zkopírujte .XEL soubory do jiného umístění úložiště před odstraněním skladu.

Omezení analytického koncového bodu SQL

Při auditování koncových bodů analýzy SQL platí následující omezení:

  • Operace DML nejsou zachyceny. Audit nezaznamená operace, jako INSERT, UPDATE, DELETE a MERGE, protože manipulace s daty pro tabulky Lakehouse probíhá prostřednictvím běhového prostředí Lakehouse, a ne pomocí koncového bodu analýzy SQL.
  • Přímý přístup ke složce auditu se v současné době nepodporuje. Uživatelé nemůžou procházet ani stahovat podkladové .XEL soubory auditu ze složky auditování Lakehouse.

Auditní události pro koncové body SQL Analytics můžete stále dotazovat pomocí funkce T-SQL sys.fn_get_audit_file_v2.

Další krok