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í SQLSecurityAuditEvents
a 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.