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

日期: 2009-05-12 作者:Matthew Schroeder翻译:曾少宁 来源:TechTarget中国 英文

第四步:创建/使用添加到数据库角色的用户/组。在我们所列举的例子中,我们将创建如下图所示的注册/用户”roleaccess”。      在这里,我们也可以将用户指派到数据库和已经创建的角色上,如下所示。      验证角色访问:   我们可以通过检查数据库中的数据库角色来验证访问,如下图所示。

右击数据库角色,选择属性,就会显示如下图所示的新添加角色成员的窗口。      我们可以通过查看securables来检查存储过程/其它安全对象,如下所示。      检测数据库角色的安全性   为了查看我们设置的角色访问的实际作用,我们可以使用”roleaccess……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

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

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

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

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

  验证角色访问

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

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

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

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

  检测数据库角色的安全性

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

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

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

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

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

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

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

作者

Matthew Schroeder
Matthew Schroeder

Matt在SQL Server和Oracle这两个领域具有12年的经验。他获得微软MCITP认证、是一名数据库开发人员,他还获得了计算机科学专业硕士学位是SQL Server数据库系统高级软件工程师,范围从2 GB到3+ TB、2k和40+ktrans/sec之间。目前他任职于IGT公司,同样是一名独立的咨询师、专攻覆盖自动化、电子商务、娱乐和银行业的SQL Server、Oracle以及.NET方面。Matt擅长OLTP/OLAP数据库管理系统以及用.NET语言写可升级的处理系统。

翻译

曾少宁
曾少宁

TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。

相关推荐