Azure Synapse Analytics审核日志格式

Azure Synapse Analytics审计跟踪数据库事件并将其写入Azure 存储,或发送给Azure 事件中心或Azure Monitor Log Analytics进行下游处理和分析。

命名约定

Blob 审计

存储在 Azure Blob 存储 中的审计日志存储在名为 sqldbauditlogs. 的容器中。 容器内的目录层级为 <ServerName>/<DatabaseName>/<AuditName>/<Date>/。 blob 文件名格式为 <CreationTime>_<FileNumberInSession>.xel,其中 CreationTime 使用 UTC hh_mm_ss_ms 格式,当 FileNumberInSession 会话跨越多个 blob 文件时 是运行索引。

例如,以下路径适用于服务器Server1上的数据库Database1:

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

事件中心

审计事件写入了配置好的命名空间和事件中心。 事件被记录在Apache Avro 事件的正体中,并使用带有UTF-8编码的JSON格式。

Log Analytics

审计事件写入AzureDiagnostics配置后的 Log Analytics 工作区中的表格。 数据库审核事件使用SQLSecurityAuditEvents类别,Azure 支持操作使用该DevOpsOperationsAudit类别。 查询指导请参见 Log Analytics 查询。

审计日志字段

名称(blob) 名称(Event Hubs/Log Analytics) Description Blob 类型 Event Hubs/Log Analytics 类型
action_id action_id_s 操作的 ID varchar(4) string
action_name action_name_s 动作名称 N/A string
additional_information additional_information_s 关于事件的任何额外信息,存储为 XML 格式 nvarchar(4000) string
affected_rows affected_rows_d 查询影响的行数 bigint int
application_name application_name_s 客户端应用名称 nvarchar(128) string
audit_schema_version audit_schema_version_d 始终为 1 int int
class_type class_type_s 审计对象的可审计实体类型 varchar(2) string
class_type_desc class_type_description_s 审计对象的可审计实体描述 N/A string
client_ip client_ip_s 客户端应用程序的源 IP nvarchar(128) string
connection_id N/A 服务器上连接的 ID GUID N/A
data_sensitivity_information data_sensitivity_information_s 受审核查询根据数据库中分类的列返回的信息类型和敏感度标签。 欲了解更多信息,请参见 Azure Synapse Analytics 安全:威胁防护 nvarchar(4000) string
database_name database_name_s 该操作发生的数据库上下文 sysname string
database_principal_id database_principal_id_d 执行该动作的数据库用户上下文的ID int int
database_principal_name database_principal_name_s 执行该动作的数据库用户上下文名称 sysname string
duration_milliseconds duration_milliseconds_d 查询执行持续时间(以毫秒为单位) bigint int
event_time event_time_t 可审计动作触发的日期和时间 datetime2 datetime
host_name N/A 客户端主机名 string N/A
is_column_permission is_column_permission_s 指示这是否为列级权限的标志。 1 = true,0 = false bit string
N/A is_server_level_audit_s 标识该审计是否发生在服务器端 N/A string
object_ 身份证 object_id_d 被审核的实体的 ID。 这包括:服务器对象、数据库、数据库对象和模式对象。 如果实体是服务器本身,或审计未在对象层面执行,则为0 int int
object_name object_name_s 发生审核的实体的名称。 这包括:服务器对象、数据库、数据库对象和模式对象。 如果实体是服务器本身,或审计未在对象层面执行,则为0 sysname string
obo_middle_tier_app_id obo_middle_tier_app_id_s 中间层应用的应用程序ID,该应用通过OBO访问连接到Azure Synapse Analytics。 varchar(120) string
permission_bitmask permission_bitmask_s 在适用的情况下,显示已授予、已拒绝或已撤销的权限 varbinary(16) string
response_rows response_rows_d 结果集返回的行数 bigint int
schema_name schema_name_s 执行操作时所在的架构上下文。 NULL 用于模式外的审计 sysname string
N/A securable_class_type_s 可保障的对象,映射到被审计对象class_type N/A string
sequence_group_id sequence_group_id_g 唯一标识符 varbinary GUID
sequence_number sequence_number_d 跟踪单个审核记录中的记录顺序,该记录太大而无法放在写入缓冲区中以进行审核。 Azure Synapse Analytics 审计在审计记录中存储 4000 字符的字符字段数据。 当字符超过4000个字符时,超过前4000字符的数据将被截断 int int
server_instance_name server_instance_name_s 审计发生的服务器实例名称 sysname string
server_principal_id server_principal_id_d 执行操作的登录上下文的ID。 int int
server_principal_name server_principal_name_s 当前登录 sysname string
server_principal_sid server_principal_sid_s 当前登录SID varbinary string
session_id session_id_d 事件发生的会话编号 smallint int
session_server_principal_name session_server_principal_name_s 会话服务器主体 sysname string
statement statement_s 已执行的T-SQL语句(如果有的话) nvarchar(4000) string
succeeded succeeded_s 指示触发事件的操作是否成功。 对于除登录和批处理外的事件,这只报告权限检查是否成功,而不报告操作结果。 1 = 成功,0 = 失败 bit string
target_database_principal_id target_database_principal_id_d 操作执行的数据库主体GRANT//DENYREVOKE为0(如果不适用) int int
target_database_principal_name target_database_principal_name_s 操作的目标用户。 NULL 如果不适用 string string
target_server_principal_id target_server_principal_id_d 执行操作的服务器主体GRANT/DENY/REVOKE。 如果不适用,回报为0 int int
target_server_principal_name target_server_principal_name_s 操作的目标登录名。 NULL 如果不适用 sysname string
target_server_principal_sid target_server_principal_sid_s 目标用户登录的 SID。 NULL 如果不适用 varbinary string
transaction_id transaction_id_d 未为Azure Synapse Analytics填充 bigint int
user_defined_event_id user_defined_event_id_d 作为参数 sp_audit_write传递给的用户定义的事件 ID。 NULL 用于系统事件(默认值)和用户定义的事件的非零。 更多信息请参见 sp_audit_write(Transact-SQL) smallint int
user_defined_information user_defined_information_s 用户定义的信息作为参数传递给 sp_audit_write。 系统事件(默认)为NULL,用户自定义事件为非零。 更多信息请参见 sp_audit_write(Transact-SQL) nvarchar(4000) string