适用于:✅Microsoft Fabric 中的 SQL 数据库
在 Fabric 中审核 SQL 数据库是一项关键的安全性和符合性功能,使组织能够跟踪和记录数据库活动。 审核支持合规性、威胁检测和取证调查,帮助回答访问哪些数据、时间和方式等问题。
什么是 SQL 审核?
SQL 审核是指捕获和存储与数据库活动相关的事件的过程。 这些事件包括数据访问、架构更改、权限修改和身份验证尝试。
在 Fabric 中,审核在数据库级别实现,并支持:
- 合规性监视(例如:HIPAA、SOX)
- 安全调查
- 运营洞察
审核目标
审核日志将写入 OneLake 中的只读文件夹,可以使用 T-SQL 函数或 OneLake 资源管理器进行查询 sys.fn_get_audit_file_v2 。
对于 Fabric 中的 SQL 数据库,审核日志存储在 OneLake 中: https://onelake.blob.fabric.microsoft.com/{workspace_id}/{artifact_id}/Audit/sqldbauditlogs/
这些日志不可变且可供具有适当权限的用户访问。 还可以使用 OneLake 资源管理器或 Azure 存储资源管理器下载日志。
配置选项
默认情况下, 审核所有 选项审核将捕获所有事件,包括:批处理完成和成功和失败的身份验证。
若要更具选择性,请从预配置的审核方案中进行选择,例如: 权限更改和登录尝试、 数据读取和写入以及/或 架构更改。
每个预配置方案映射到特定的审核操作组(例如,SCHEMA_OBJECT_ACCESS_GROUP, DATABASE_PRINCIPAL_CHANGE_GROUP)。 还可以选择要在 “自定义事件”下审核的事件。 高级用户可以选择单个作组来根据自己的需求定制审核。 这非常适合采用严格的内部安全策略的客户。
若要筛选掉常见或已知的访问查询,可以在 Transact-SQL (T-SQL) 中提供谓词表达式,以便根据条件(例如,排除 SELECT 语句)筛选出审核事件: WHERE statement NOT LIKE '%select%'
Permissions
若要使用 Fabric 工作区角色(建议)管理审核,用户必须具有 Fabric 工作区 参与者 角色或更高权限的成员身份。
若要使用 SQL 权限进行审核管理,请按以下步骤操作:
- 若要配置数据库审核,用户必须具有 ALTER ANY DATABASE AUDIT 权限。
- 若要使用 T-SQL 查看审核日志,用户必须具有 VIEW DATABASE SECURITY AUDIT 权限。
Retention
默认情况下,审核数据无限期保留。 可以在 此持续时间后自动删除日志 部分中配置自定义保留期。
在 Fabric 门户中配置 SQL 数据库审核
开始对 Fabric SQL 数据库进行审计:
- 在 Fabric 门户中导航到并打开 SQL 数据库。
- 在主菜单中,选择“ 安全 ”选项卡,然后选择“ 管理 SQL 审核”。
- 此时会打开 “管理 SQL 审核 ”窗格。
- 选择“ 将事件保存到 SQL 审核日志 ”按钮以启用审核。
- 配置在 “数据库事件” 部分中要记录的事件。 选择 “审核所有内容”(默认值) 以捕获所有事件。
- (可选)在 “保留”下配置保留策略。
- (可选)将 T-SQL 命令的谓词表达式配置为在 “谓词表达式” 字段中忽略。
- 选择“保存”。
查询审核日志
可以使用 T-SQL 函数 sys.fn_get_audit_file 和 sys.fn_get_audit_file_v2查询审核日志。
在以下脚本中,需要提供工作区 ID 和数据库 ID。 两者都可以在Fabric门户的网址中找到。 例如: https://fabric.microsoft.com/groups/<fabric workspace id>/sqldatabases/<fabric sql database id>。 URL中的第一个唯一标识符字符串是Fabric工作区ID,第二个唯一标识符字符串是SQL数据库ID。
- 将
<fabric_workspace_id>替换为你的 Fabric 工作区 ID。 可以在 URL 中轻松找到工作区的 ID,它是浏览器窗口中/后两个/groups/字符内的唯一字符串。 - 将
<fabric sql database id>替换为在 Fabric 数据库 ID 中的 SQL 数据库。 你可以在 URL 中轻松找到数据库项的标识符,它是在浏览器窗口中/之后,位于两个/sqldatabases/字符内的唯一字符串。
例如:
SELECT * FROM sys.fn_get_audit_file_v2(
'https://onelake.blob.fabric.microsoft.com/<fabric workspace id>/<fabric sql database id>/Audit/sqldbauditlogs/',
DEFAULT, DEFAULT, DEFAULT, DEFAULT );
本示例检索两者之间 2025-11-17T08:40:40Z 和 2025-11-17T09:10:40Z之间的审核日志。
SELECT *
FROM sys.fn_get_audit_file_v2(
'https://onelake.blob.fabric.microsoft.com/<fabric workspace id>/<fabric sql database id>/Audit/sqldbauditlogs/',
DEFAULT,
DEFAULT,
'2025-11-17T08:40:40Z',
'2025-11-17T09:10:40Z')
有关详细信息,请参阅 sys.fn_get_audit_file 和 sys.fn_get_audit_file_v2。