8.4 数据库审核规范

8.4 数据库审核规范


8.4.1 数据库审核规范

  在数据库级别创建审核规范,可以实现数据库级别的审核。具有 ALTER ANY DATABASE AUDIT 权限的用户可以创建数据库审核规范并将其绑定到任何审核。创建数据库审核规范后,具有 CONTROL SERVER 或 ALTER ANY DATABASE AUDIT 权限的主体或 sysadmin 帐户即可查看该规范。

  数据库级别审核的操作类型可以是操作组,也可以是单个的操作(SELECT、UPDATE、INSERT、DELETE、EXECUTE、RECEIVE 和 REFERENCES 等)。

  可以在 SSMS 中查看“审核”的日志,或者使用系统函数。

  数据库级别的审核操作不适用于列。

  当查询处理器对查询进行参数化时,审核事件日志中会出现参数而不是查询的列值。

wKiom1aQrwCge9OXAAAd8X4IODY353.png



8.4.2 新建数据库审核规范

  数据库审核规范位于创建它们的数据库(tempdb 系统数据库除外)中。

  对于单个数据库而言,每一个数据库审核规范都需要绑定一个“审核”。如果某个数据库需要创建多个审核规范,那么必须绑定到多个“审核”。

  在 SSMS 中展开数据库的“安全性”,右键单击“数据库审核规范”,选择“新建数据库审核规范”。

wKioL1aQpc-hf5e_AACfB1Sx4MM570.png


wKiom1aQpaXiCX29AABs9kQg2S8265.png


  “对象类”可以是 DATABASE、SCHEME 或者 OBJECT。如果选择了“OBJECT”,则可以对表、视图、存储过程、函数、扩展存储过程、队列、同义词等进行的特定操作进行审核。单击“对象名称”下拉列表右侧的浏览按钮,出现“选择对象”对话框。

wKiom1aQpbigpgFEAAAjeTZcLhs028.png


  如果输入的对象名称遇到多个匹配结果,将出现“找到多个对象”对话框,请选择一个或多个匹配的对象。

wKioL1aQpeSCYX2gAAArdSpGLSI401.png


提示:

  在用户数据库中创建或修改数据库审核规范时,不要包括针对服务器范围对象(例如系统视图)的审核操作。如果包括服务器范围的对象,将会创建“审核”。但是,服务器范围对象将不包括,并且将不返回任何错误。若要审核服务器范围的对象,请使用 master 数据库中的数据库审核规范。


  选择“主体名称”的操作与选择“对象名称”操作方法类似,只是所选择的对象只能是用户、数据库角色或者应用程序角色。

wKiom1aQpcKQjDkvAAAhTkB7nmw492.png


  完成后,单击“确定”按钮。


  T-SQL 语法示例如下:

USE [SQLDB01]

GO

CREATE DATABASE AUDIT SPECIFICATION [DatabaseAuditSpecification-Table-Customer]

FOR SERVER AUDIT [Audit-To-File]

ADD (SELECT ON OBJECT::[dbo].[Customer] BY [public]),

ADD (INSERT ON OBJECT::[dbo].[Customer] BY [public]),

ADD (DELETE ON OBJECT::[dbo].[Customer] BY [public]),

ADD (UPDATE ON OBJECT::[dbo].[Customer] BY [public])

GO



8.4.3 启用数据库审核规范

  新创建的数据库审核规范是“禁用”状态。如果需要启用它,则需要手动启用。

wKiom1aQpmjzibE7AACTz8dzrwM708.png


  T-SQL 语法示例如下:

ALTER DATABASE AUDIT SPECIFICATION [DatabaseAuditSpecification-Table-Customer] 

WITH (STATE = ON);



本文出自 “SQL Server 管理员指南” 博客,谢绝转载!

你可能感兴趣的:(数据库,审核规范)