面向数据库管理员的SQL Server 2008安全性概述
2010-03-06 15:43:13 来源:WEB开发网所有动作审核
SQL Server 2008通过Audit对象提供审核支持,这使管理员能够捕获数据库服务器中的活动并将其存储在日志中。使用SQL Server 2008,您可以将审核信息存储在以下目标中:
文件
Windows应用程序日志
Windows安全日志
要写入Windows安全日志,必须将SQL Server服务配置为作为Local System、Local Service、Network Service或拥有SeAuditPrivilege权限且不是交互用户的域帐户运行。
要创建Audit对象,必须使用CREATE SERVER AUDIT语句。该语句定义Audit对象并将其与目标关联。用于配置Audit对象的特定选项取决于审核目标。例如,以下Transact-SQL代码创建了两个Audit对象;一个将活动记录到文件,另一个将活动记录到 Windows应用程序日志。
CREATE SERVER AUDIT HIPAA_File_Audit
TO FILE ( FILEPATH=’SQLPROD_1Audit’ );
CREATE SERVER AUDIT HIPAA_AppLog_Audit
TO APPLICATION_LOG
WITH ( QUEUE_DELAY = 500, ON_FAILURE = SHUTDOWN);
注意当记录到文件目标时,文件名没有在 CREATE SERVER AUDIT 语句中指定。审核文件名采用
AuditName_AuditGUID_nn_TS.sqlaudit 的形式,其中 AuditName 是 Audit 对象的名称,AuditGUID 是与该 Audit 对象相关的惟一标识符,nn 是用于分区文件集的分区号,而 TS 是时间戳的值。例如,通过前面的代码样例创建的 HIPAA_FILE_Audit Audit 对象可以生成一个与以下名称类似的日志文件:
HIPAA_File_Audit_{95A481F8-DEF3-40ad-B3C6-126B68257223}_00_29384.sqlaudit
可以使用 QUEUE_DELAY 审核选项实现出于性能原因的异步审核,可以使用 ON_FAILURE 选项确定无法向目标写入审核信息时采取的操作。在前面展示的 HIPAA_AppLog_Audit 示例中,ON_FAILURE选项被配置为在无法写入日志时关闭 SQL Serve r实例;在这种情况下,执行CREATE SERVER AUDIT 语句的用户必须拥有 SHUTDOWN 权限。
在创建 Audit 对象之后,可以通过使用 CREATE SERVER AUDIT SPECIFICATION 和 CREATE DATABASE AUDIT SPECIFICATION 语句对其添加事件。CREATE SERVER AUDIT SPECIFICATION 向 Audit 添加服务器级的操作组(即可以在服务器级发生的预定义的相关操作集合)。例如,以下代码将 FAILED_LOGIN_GROUP 操作组(它记录了失败的登录尝试)添加到HIPAA_File_Audit Audit。
CREATE SERVER AUDIT SPECIFICATION Failed_Login_Spec
FOR SERVER AUDIT HIPAA_File_Audit
ADD (FAILED_LOGIN_GROUP);
CREATE DATABASE AUDIT SPECIFICATION 语句向 Audit 添加数据库级的操作组和单个数据库事件。添加单个操作使您能根据对象筛选记录的操作以及操作涉及的用户。例如,以下代码样例向HIPAA_AppLog_Audit Audit 添加了 DATABASE_OBJECT_CHANGE_GROUP 操作组(它记录数据库中的任何 CREATE、ALTER 或 DROP 操作)以及在 Sales 架构中由 SalesUser 或 SalesAdmin 用户对对象执行的 INSERT、UPDATE 或 DELETE 语句。
CREATE DATABASE AUDIT SPECIFICATION Sales_Audit_Spec
FOR SERVER AUDIT HIPAA_AppLog_Audit
ADD (DATABASE_OBJECT_CHANGE_GROUP),
ADD (INSERT, UPDATE, DELETE
ON Schema::Sales
BY SalesUser, SalesAdmin);
Audit 对象提供了一个可管理的审核框架,该框架使定义应记录的事件和事件应存储的位置变得很容易。SQL Server 添加的这个功能帮助您实现综合的审核解决方案以确保数据库的安全并满足法规遵从性的要求。
- ››数据库大型应用解决方案总结
- ››面向对象的JavaScript (一、对象基础,使用函数来...
- ››面向对象数据库 db4o 之旅,第 4 部分: 使用 dRS
- ››面向 Java Web 应用程序的 OpenID,第 2 部分: 为...
- ››面向 Java 开发人员的 db4o 指南: 简介和概览
- ››面向 Java 开发人员的 db4o 指南: 查询,更新和一...
- ››面向 Java 开发人员的 db4o 指南: db4o 中的数据库...
- ››面向 Java 开发人员的 db4o 指南: 超越简单对象
- ››面向 Java 开发人员的 db4o 指南: 结构化对象和集...
- ››面向 Java 开发人员的 db4o 指南: 事务、分布和安...
- ››面向 Java Web 应用程序的 OpenID,第 1 部分:在...
- ››面向数据库管理员的SQL Server 2008安全性概述
更多精彩
赞助商链接