你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。

Azure Synapse Analytics audit log format

Tip

Microsoft Fabric Data Warehouse是数据湖基础上的企业规模关系仓库,具有未来就绪的体系结构、内置 AI 和新功能。 如果不熟悉数据仓库,请从Fabric Data Warehouse开始。 现有的指定 SQL 池工作负荷可以升级到 Fabric,以跨数据科学、实时分析和报告访问新功能。

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类别,Microsoft 支持操作也使用该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 = 真,0 = 假 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 Not populated for 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