Azure SQL 数据库和 Azure Synapse Analytics 的审核

适用于:Azure SQL 数据库Azure Synapse Analytics

Azure SQL 数据库Azure Synapse Analytics 的审核功能 用于跟踪数据库事件,并将事件记录到 Azure 存储帐户、Log Analytics 工作区或事件中心的审计日志中。

审核还可:

  • 帮助保持合规性、了解数据库活动,以及深入了解可以指明业务考量因素或疑似安全违规的偏差和异常。

  • 实现并促进遵从合规标准,但不能保证合规性。 有关详细信息,请参阅 Microsoft Azure 信任中心,可以从中找到 SQL 数据库合规认证的最新列表。

注意

有关 Azure SQL 托管实例审核的信息,请参阅 Azure SQL 托管实例审核入门

概述

可使用 SQL 数据库审核来:

  • 保留选定事件的审核日志。 可以定义要审核的数据库操作的类别。
  • 报告 数据库活动。 可以使用预配置的报告和仪表板快速开始使用活动和事件报告。
  • 分析报告。 可以查找可疑事件、异常活动和趋势。

重要

Azure SQL 数据库、Azure Synapse Analytics SQL 池和 Azure SQL 托管实例的审核针对正在审核的数据库或实例的可用性和性能进行了优化。 在活动非常频繁或网络负载非常高的时期,审计功能可能允许事务继续进行,而不记录所有标记为审核的事件。

Azure SQL 数据库服务器审核中的性能、可用性和可靠性增强(2025 年 3 月)

  • 重新构建了 SQL 审核的主要部分,从而提高了服务器审核的可用性和可靠性。 另外,该功能还实现了与 SQL Server 和 Azure SQL 托管实例更完善的功能兼容性。 数据库审核保持不变。
  • 以前的审核设计会触发数据库级审核,并为服务器中的每个数据库执行一个审核会话。 新的审核体系结构在服务器级别创建一个扩展事件会话,用于捕获所有数据库的审核事件。
  • 新的审核设计优化了内存和 CPU,并与 SQL Server 和 Azure SQL 托管实例中的审核工作原理一致。

重构服务器审核体系结构引发的变更

  • 存储帐户的文件夹结构更改:
    • 其中一项主要更改涉及存储帐户容器中存储的审核日志的文件夹结构更改。 以前,服务器审核日志已写入单独的文件夹;每个数据库都有一个,数据库名称用作文件夹名称。 使用新的更新,所有服务器审核日志都将合并到标记为 master单个文件夹中。 此行为与 Azure SQL 托管实例和 SQL Server 相同。
  • 只读副本的文件夹结构变更:
    • 以前,只读数据库副本的日志存储在只读文件夹中。 这些日志现在将写入 master 文件夹。 可以通过筛选新列 is_secondary_replica_true来检索这些日志。
  • 查看审核日志所需的权限:
    • 查看存储在文件夹中的master审核日志需要控制服务器权限

审核限制

  • 不支持在已暂停的 Azure Synapse SQL 池上启用审核。 若要启用审核,请恢复 Synapse SQL 池。
  • Azure Synapse 不支持使用用户分配的托管标识 (UAMI) 启用审核。
  • 目前,Azure Synapse 不支持托管标识,除非存储帐户位于虚拟网络或防火墙之后。
  • 由于性能限制,我们不审核 tempdb临时表。 虽然批处理已完成的操作组会捕获针对临时表的语句,但它可能无法正确填充对象名称。 但是,不断地审核源表,确保从源表到临时表的所有插入操作都会被记录。
  • Azure Synapse SQL 池审核仅支持默认审核操作组。
  • 为 Azure 或 Azure SQL 数据库中的逻辑服务器(日志目标为存储帐户)配置审核时,身份验证模式必须与该存储帐户的配置匹配。 如果使用存储访问密钥作为身份验证类型,则必须启用目标存储帐户以访问存储帐户密钥。 如果存储帐户配置为仅使用 Microsoft Entra ID(旧称 Azure Active Directory)进行身份验证,则可以将审核配置为使用托管标识进行身份验证。

备注

  • 支持使用 BlockBlobStorage 的高级存储。 支持标准存储。 但是,要使审核写入 VNet 或防火墙后面的存储帐户,必须具有常规用途 v2 存储帐户。 如果你有常规用途 v1 存储帐户或 Blob 存储帐户,请升级到常规用途 v2 存储帐户。 有关具体说明,请参阅将审核写入 VNet 和防火墙后面的存储帐户。 有关详细信息,请参阅存储帐户的类型
  • 所有类型的标准存储帐户和使用 BlockBlobStorage 的高级存储帐户,均可启用分层命名空间
  • 审核日志将写入到 Azure 订阅的 Azure Blob 存储中的追加 Blob
  • 审核日志的格式为 .xel,可以使用 SQL Server Management Studio (SSMS) 打开。
  • 若要为服务器或数据库级审核事件配置不可变的日志存储,请遵循 Azure 存储提供的说明。 确保在配置不可变 Blob 存储时,选择了“允许额外追加”。
  • 可以将审核日志写入到虚拟网络或防火墙后面的 Azure 存储帐户。
  • 有关日志格式、存储文件夹的层次结构和命名约定的详细信息,请参阅 SQL 数据库审核日志格式一文。
  • 系统自动启用对“使用只读副本卸载只读查询工作负载”的审核。 若要详细了解存储文件夹、命名约定和日志格式的层次结构,请参阅 SQL 数据库审核日志格式一文。
  • 使用 Microsoft Entra 身份验证时,失败的登录记录不会出现在 SQL 审核日志中。 要查看失败的登录审核记录,需要访问 Microsoft Entra 管理中心,那里记录了这些事件的详细信息。
  • 通过网关将登录信息路由到数据库所在的特定实例。 使用 Microsoft Entra 登录时,在尝试使用该用户登录到请求的数据库之前,系统会验证凭据。 如果失败,则绝不会访问请求的数据库,因此不会进行审核。 对于 SQL 登录,将根据请求的数据对凭据进行验证,因此在这种情况下可以对其进行审核。 在这两种情况下,到达数据库的成功登录显然都会被审核。
  • 配置审核设置后,可打开新威胁检测功能,并配置电子邮件用于接收安全警报。 使用威胁检测时,你会收到针对异常数据库活动(可能表示存在潜在的安全威胁)发出的前瞻性警报。 有关详细信息,请参阅 SQL 高级威胁防护
  • 将启用了审核的数据库复制到另一个逻辑服务器后,你可能会收到一封电子邮件,通知你审核失败。 这是一个已知问题,审核应会在新复制的数据库上按预期运行。