Sdílet prostřednictvím


Formát protokolu auditu služby SQL Database

Platí pro: Azure SQL Database Azure SQL Managed InstanceAzure Synapse Analytics

Auditování služby Azure SQL Database sleduje události databáze a zapisuje je do protokolu auditu ve vašem účtu úložiště Azure nebo je odesílá do centra událostí nebo Log Analytics pro zpracování a analýzu podřízeného zpracování a analýzy.

Zásady vytváření názvů

Audit objektů blob

Protokoly auditu uložené ve službě Azure Blob Storage se ukládají do kontejneru pojmenovaného sqldbauditlogs v účtu úložiště Azure. Hierarchie adresářů v rámci kontejneru je ve formuláři <ServerName>/<DatabaseName>/<AuditName>/<Date>/. Formát názvu souboru objektu blob je <CreationTime>_<FileNumberInSession>.xel, kde CreationTime je ve formátu UTC hh_mm_ss_ms a FileNumberInSession je spuštěný index v případě, že protokoly relací pokrývají více souborů objektů blob.

Například pro databázi Database1 na Server1 následující cestě je možná platná cesta:

Server1/Database1/SqlDbAuditing_ServerAudit_NoRetention/2019-02-03/12_23_30_794_0.xel

Protokoly auditu replik jen pro čtení se ukládají do stejného kontejneru. Hierarchie adresářů v rámci kontejneru je ve formuláři <ServerName>/<DatabaseName>/<AuditName>/<Date>/RO/. Název souboru objektu blob sdílí stejný formát. Protokoly auditu replik jen pro čtení se ukládají do stejného kontejneru.

Centrum událostí

Události auditu se zapisují do oboru názvů a centra událostí definovaných během konfigurace auditování, zachytávají se v textu událostí Apache Avro a ukládají se ve formátu JSON s kódováním UTF-8. Ke čtení protokolů auditu můžete použít nástroje Avro nebo podobné nástroje, které dokáží tento formát zpracovat.

Log Analytics

Události auditu se zapisují do pracovního prostoru služby Log Analytics definovaného během konfigurace auditování do AzureDiagnostics tabulky s kategorií SQLSecurityAuditEventsa do tabulky s kategorií DevOpsOperationsAudit pro podpora Microsoftu Operations. Další užitečné informace o jazyku a příkazech pro vyhledávání v Log Analytics najdete v referenčních informacích o vyhledávání v Log Analytics.

Pole protokolu auditu

Název (objekt blob) Název (Event Hubs/Log Analytics) Popis Typ objektu blob Event Hubs /Log Analytics – typ
action_id action_id_s ID akce varchar(4) string
action_name action_name_s Název akce string
additional_information additional_information_s Všechny další informace o události uložené jako XML nvarchar(4000) string
affected_rows affected_rows_d Počet řádků ovlivněných dotazem bigint int
application_name application_name_s Název klientské aplikace nvarchar(128) string
audit_schema_version audit_schema_version_d Vždy 1 int int
class_type class_type_s Typ auditovatelné entity, u které probíhá audit varchar(2) string
class_type_desc class_type_description_s Popis auditovatelné entity, u které probíhá audit string
client_ip client_ip_s Zdrojová IP adresa klientské aplikace nvarchar(128) string
connection_id ID připojení na serveru Identifikátor GUID
data_sensitivity_information data_sensitivity_information_s Typy informací a popisky citlivosti vrácené auditovaným dotazem na základě klasifikovaných sloupců v databázi. Další informace o zjišťování a klasifikaci dat Azure SQL Database nvarchar(4000) string
database_name database_name_s Kontext databáze, ve kterém došlo k akci sysname string
database_principal_id database_principal_id_d ID kontextu uživatele databáze, ve které se akce provádí int int
database_principal_name database_principal_name_s Název kontextu uživatele databáze, ve kterém se akce provádí sysname string
duration_milliseconds duration_milliseconds_d Doba trvání provádění dotazů v milisekundách bigint int
event_time event_time_t Datum a čas, kdy se aktivuje auditovatelná akce datetime2 datetime
host_name Název hostitele klienta string
is_column_permission is_column_permission_s Příznak označující, jestli se jedná o oprávnění na úrovni sloupce. 1 = pravda, 0 = nepravda bitové string
is_server_level_audit_s Příznak označující, jestli je tento audit na úrovni serveru string
ID object_ object_id_d ID entity, na které došlo k auditu. Patří sem objekty serveru, databáze, databázové objekty a objekty schématu. 0, pokud je entita samotným serverem nebo pokud se audit neprovádí na úrovni objektu int int
object_name object_name_s Název entity, na které došlo k auditu. Patří sem objekty serveru, databáze, databázové objekty a objekty schématu. 0, pokud je entita samotným serverem nebo pokud se audit neprovádí na úrovni objektu sysname string
obo_middle_tier_app_id obo_middle_tier_app_id_s ID aplikace střední vrstvy, která se připojila ke službě SQL Database pomocí přístupu OBO. varchar(120) string
permission_bitmask permission_bitmask_s Pokud je to možné, zobrazí se oprávnění udělená, zamítnutá nebo odvolaná. varbinary(16) string
response_rows response_rows_d Počet řádků vrácených v sadě výsledků bigint int
schema_name schema_name_s Kontext schématu, ve kterém došlo k akci. NULL pro audity, ke kterým dochází mimo schéma sysname string
securable_class_type_s Zabezpečitelný objekt, který se mapuje na auditovaný class_type string
sequence_group_id sequence_group_id_g Jedinečný identifikátor varbinary Identifikátor GUID
sequence_number sequence_number_d Sleduje posloupnost záznamů v rámci jednoho záznamu auditu, který byl příliš velký, aby se vešl do vyrovnávací paměti zápisu pro audity. Všimněte si, že Azure SQL Database a Azure Synapse Audit ukládají 4000 znaků dat pro pole znaků v záznamu auditu. Pokud je více než 4 000 znaků, zkrátí se všechna data nad rámec prvních 4 000 znaků. int int
server_instance_name server_instance_name_s Název instance serveru, ve které došlo k auditu sysname string
server_principal_id server_principal_id_d ID přihlašovacího kontextu, ve kterém se akce provádí int int
server_principal_name server_principal_name_s Aktuální přihlášení sysname string
server_principal_sid server_principal_sid_s SiD aktuálního přihlášení varbinary string
session_id session_id_d ID relace, na které došlo k události smallint int
session_server_principal_name session_server_principal_name_s Instanční objekt serveru pro relaci sysname string
příkaz statement_s Příkaz T-SQL, který byl proveden (pokud existuje) nvarchar(4000) string
uspěl succeeded_s Určuje, jestli akce, která aktivovala událost, byla úspěšná. U událostí jiných než přihlášení a dávky se hlásí pouze to, jestli byla kontrola oprávnění úspěšná nebo neúspěšná, ne operace. 1 = úspěch, 0 = selhání bitové string
target_database_principal_id target_database_principal_id_d Objekt zabezpečení databáze, na které se provádí operace GRANT/DENY/REVOKE. 0, pokud není k dispozici int int
target_database_principal_name target_database_principal_name_s Cílový uživatel akce. Pokud není k dispozici, hodnota NULL string string
target_server_principal_id target_server_principal_id_d Objekt zabezpečení serveru, na který se provádí operace GRANT/DENY/REVOKE. Vrátí hodnotu 0, pokud není k dispozici. int int
target_server_principal_name target_server_principal_name_s Cílové přihlášení k akci. Pokud není k dispozici, hodnota NULL sysname string
target_server_principal_sid target_server_principal_sid_s IDENTIFIKÁTOR SID cílového přihlášení. Pokud není k dispozici, hodnota NULL varbinary string
transaction_id transaction_id_d Pouze SQL Server (od roku 2016) – 0 pro Azure SQL Database bigint int
user_defined_event_id user_defined_event_id_d ID události definované uživatelem předané jako argument sp_audit_write. HODNOTA NULL pro systémové události (výchozí) a nenulu pro událost definovanou uživatelem. Další informace najdete v tématu sp_audit_write (Transact-SQL) smallint int
user_defined_information user_defined_information_s Uživatelem definované informace předané jako argument sp_audit_write. HODNOTA NULL pro systémové události (výchozí) a nenulu pro událost definovanou uživatelem. Další informace najdete v tématu sp_audit_write (Transact-SQL) nvarchar(4000) string

Další kroky

Přečtěte si další informace o auditování služby Azure SQL Database.