当前位置: 网学 > 编程文档 > SQL SERVER > 正文

DBA必读:SQL Server 2008安全概述

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/19
下载{$ArticleTitle}原创论文样式
个好处是它提供了使用证书数字化签名代码模块的功能(存储过程、函数、触发器和事件通知)。这提供了对数据库表和其它对象的访问的更细粒度的控制。像加密数据一样,你使用证书中所包含的私钥来签名代码。结果在签名的代码模块中使用的表只能通过代码来访问,而不允许从代码模块的外部访问到。换句话说,只有使用用来签名这个模块的证书才能访问到这些表。

  对于存储过程情况是一样的。例如,如果它有一个没有被破坏的所有权链,你谨慎地控制哪些用户具有对这个存储过程的EXECUTE 权限,而且你直接拒绝对后台的表的访问。但是这在一些情况下不起作用,例如当这个存储过程的所有权链被破坏了或者执行动态的SQL,要求这个用户执行存储过程具有对后台的表的权限。要实现同样目的的另一个方法是使用EXECUTE AS ,但是这会改变存储过程执行环境的安全上下文。这可能是不希望的,例如,如果你需要在表中记录哪个用户使得这个存储过程运行(需要记录作为这个存储过程参数的用户名称)。

  签名代码模块还具有保护证书免于对代码模块的未授权的改动的好处。像其它数字签名的文档一样,当代码改变时证书就无效了。代码不在证书的上下文下执行,所以任何具有对该证书的访问权限的对象将不能被访问到。

  为了做到这一点,你可以创建一个证书,将它和一个新的用户关联起来,并使用这个证书来签名这个存储过程。为这个用户授权所有执行这个存储过程所必要的权限。实际上,你将这个用户添加到了这个存储过程的安全上下文中作为第二标识。然后将执行权限授予所有需要执行这个存储过程的用户和角色。下面的代码显示了这些步骤。假设你想签名mySchema.GetSecretStuff 存储过程,而所有引用的对象都已经存在于数据库中了:

以下是引用片段:

CREATE CERTIFICATE certCodeSigning
 ENCRYPTION BY PASSWORD = ''cJI%V4!axnJXfLC''
 WITH SUBJECT = ''Code signing certificate''
GO

-- Sign the stored procedure
ADD SIGNATURE TO mySchema.GetSecretStuff BY CERTIFICATE certCodeSigning
 WITH PASSWORD = ''cJI%V4!axnJXfLC''
GO

-- Map a user to the certificate
CREATE USER certUser FOR CERTIFICATE certCodeSigning
GO

--Assign SELECT permissions to new certUser
GRANT SELECT ON SocialSecurity TO certUser
GO

-- Grant execute permission to the user who will run the code
GRANT EXECUTE ON mySchema.GetSecretStuff TO ProcedureUser
GO

 

  现在只有明确地被授予在存储过程上的EXECUTE权限的用户可以访问这个表的数据。

  6. SQL Server 2008中的审查

  任何安全解决方案的一个重要部分是具有审查责任和调整遵从性原因的活动的能力。SQL Server 2008具有一些使它可以审查活动的特性。

  6.1 所有活动审查

  SQL Server 2008具有通过审查对象对审查的支持,这使得管理员可以捕捉数据库服务器中的活动并将它存储在日志中。有了SQL Server 2008,你可以将审查信息存储在以下目的地中:

  · 文件

  · Windows应用程序日志

  · Windows安全日志

  为了写到Windows安全日志中去,SQL Server 安全必须被配置为作为本地系统、本地服务、网络服务或一个具有SeAuditPrivilege权限但不是交互的用户的域帐户来运行。

  为了创建一个审查对象,你必须使用CREATE SERVER AUDIT语句。这个语句定义了一个审查对象,并将它与一个目的地相关联。这个特定的选项习惯于配置一个依赖于审查目的地的审查对象。例如,下面的Transact-SQL代码创建了两个审查对象;一个记录活动到一个文件

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号