SQL Server 审计级别与流程概览 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SQL Server 审计级别与流程概览

以下各节提供有关服务器级和数据库级审计、审计流程、优缺点的信息。

审计级别

可以在 SQL Server 级别、数据库级别(包括记录与操作关联的事件)或两个级别执行审计。

服务器级审计

您可以使用 SQL Server Audit 对象来审计和收集要监控的操作。您可以指定服务器级操作的单个实例和一组操作。您还可以为每个 SQL Server 实例创建多个审计。

SQL Server 级别的审计涉及服务器级配置参数,例如 xp_cmdshell最大服务器内存。  有关服务器内存配置的更多信息,请参阅 Microsoft SQL Server 文档

数据库级审计

数据库级审计包括出于安全目的捕获数据库用户的操作。例如,您可以使用数据库级审计来确保未经授权的用户和进程无法访问该数据库,并验证是否应用了规则来限制任何未经授权的活动。数据库级审计的示例包括捕获数据库上的所有 INSERTUPDATEDELETETRIGGERS 操作。

本指南提供两个审计级别的说明和示例。

流程图

以下流程图展示 SQL Server 审计过程。用户或进程登录数据库系统后,系统会验证其登录凭证。如果登录信息有效,则审计流程将检查授权。如果用户或进程获得执行操作的授权,其可以完成操作,并且审计的数据将记录到数据库审计表中。

SQL Server 数据库实例的审计流程图

审计的优缺点

优势

  • 有助于减少安全违规事件或可能导致未经授权泄露机密信息的任何其他操作。

  • 帮助识别安全缺陷和漏洞,包括非法访问数据库资源、数据或操作。

  • 提供活动的审计跟踪记录,以便您可以验证和跟踪所有类型的事务和流程,并跟踪查询以分析性能。

  • 使组织问责更明确,因为其可以查看跟踪的审计信息并提供反馈以实现安全目标和绩效目标。

劣势

  • 一般而言,对性能的影响微乎其微。但如果审计包含大量交易跟踪,则可能需要额外的资源。

  • 可能会生成过多报告和文档以供查看,并可能需要向多个管理与安全团队提供反馈。

  • 存储审计文件可能会消耗大量存储资源。

  • 存档或清除旧审计数据,或者将表移动到不同的数据库文件组或存储时,需要额外的维护。