SQL Server安全性:通过数据库角色控制访问(下)

2009-5-13   
   | |

导读:文章主要为SQL Server安全性技巧,在本文中作者介绍了为什么通过存储过程来控制所有数据库访问是最佳方法,以及为何该方法可以帮助提高安全性/性能……

关键词:SQL Server安全性 数据库角色 验证角色访问

正在加载数据... 【TechTarget中国原创】我希望在本文中你能够学到一些东西。我已经解释了为什么通过存储过程来控制所有数据库访问是最佳方法,以及为何该方法可以帮助提高安全性/性能。同时,我还阐述了如何定义数据库角色、数据库角色是如何提高安全性/可管理性的、如何为数据库角色授予对象权限……

【TechTarget中国原创】第四步:创建/使用添加到数据库角色的用户/组。在我们所列举的例子中,我们将创建如下图所示的注册/用户"roleaccess"。

  通过数据库角色控制访问(图三)

  在这里,我们也可以将用户指派到数据库和已经创建的角色上,如下所示。

  通过数据库角色控制访问(图四)

  验证角色访问

  我们可以通过检查数据库中的数据库角色来验证访问,如下图所示。右击数据库角色,选择属性,就会显示如下图所示的新添加角色成员的窗口。

  通过数据库角色控制访问(图五)

  我们可以通过查看securables来检查存储过程/其它安全对象,如下所示。

  通过数据库角色控制访问(图六)

  检测数据库角色的安全性

  为了查看我们设置的角色访问的实际作用,我们可以使用"roleaccess"用户登陆SSMS。如下图所示,我们可以看到所有的数据库,但是无法访问它们。我们也只能看到我们拥有访问权限的表或存储过程,而无法看到所有其它的表或存储过程。

  通过数据库角色控制访问(图七)

  我们也可以右击Proc_test1并点击修改来查看代码,但是我们无法修改它,如下图所示。

  通过数据库角色控制访问(图八)

  最后,我们可以执行存储过程,但是我们无法查询Table_1表。

  通过数据库角色控制访问(图九)

  我希望在本文中你能够学到一些东西。我已经解释了为什么通过存储过程来控制所有数据库访问是最佳方法,以及为何该方法可以帮助提高安全性/性能。同时,我还阐述了如何定义数据库角色、数据库角色是如何提高安全性/可管理性的、如何为数据库角色授予对象权限、如何创建一个登陆、如何指派一个用户到数据库和数据库角色以及如何验证已定义的权限。最后,我还演示了它是如何限制用户访问数据库。请记住,在项目的一开始定义数据库安全性比在之后添加要容易得多。

 
查看全文
 
 
 
 
 

SQL Server安全

 
不同于服务器审核规范,数据库审计规范是具体到一个数据库。然而,像一个服务器审核规范,您可以添加审计活动组,但它们是特定于数据库。
 
SQL Server 2008引入了新的审计功能,这对数据库管理员来说是非常有价值的,该功能可以通过跟踪数据库的使用情况从而生成详尽的审计记录。
 
本文主要介绍了编写安全SQL数据库的技巧:确定需保护的数据、威胁建模、SQL参数、编写验证程序、人员培训、静态分析和动态分析。
 
在你创建好审计以后,你还需要创建一个审计规范。它用来告诉SQL Server审计到底捕获那些信息,你可以根据需要捕获尽可能多或少的信息。
 
SQL Server 2008引入了审计的概念,前面的版本只允许我们对基本的登录成功和失败记录错误日志,该新版本的功能远远超出了之前版本。
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录