第14章安全管理辩析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
14.4 权限管理 14.4.1 权限概述 1.预先定义的权限和预先未定义的权限 预先定义的权限是指系统安装之后,不必通过授权即拥有的权限。如14.5节中将讲到的固定服务器角色和固定数据库角色所拥有的权限,即属于预先定义的权限,对象的所有者也拥有该对象的所有权限以及该对象所包含的对象的所有权限。 预先未定义的权限是指那些需要经过授权或继承才能得到的权限。大多数的安全主体都需要经过授权才能获得对安全对象的使用权限。 2.针对所有对象的权限和针对特殊对象的权限 针对所有对象的权限表示针对SQL Server 2012中的所有对象,如CONTROL权限是对所有对象都有的权限。针对特殊对象的权限是指某些权限只能在特定的对象上起作用,例如,INSERT仅可以用作表的权限,不可以用作存储过程的权限;而EXECUTE只可以用作存储过程的权限,不能用作表的权限。 对于表和视图,所有者可以授予数据库用户INSERT,UPDATE,DELETE,SELECT和REFERENCES五种权限。在数据库用户对表执行相应操作之前,必须事先获取相应的操作权限。例如,用户想浏览表中的数据,则必须首先获得所有者授予的SELECT权限。 14.4.2 权限操作 在SQL Server 2012中,用户和角色的权限以记录的形式存储在各个数据的sysprotects系统表中。权限分为三种状态:授予(Grant)、撤销(Revoke)、拒绝(Deny)。 授予:授予权限以执行相关的操作。如果是角色,则所有该角色的成员继承此权限。 撤销:撤销授予的权限,但不会显示阻止用户或角色执行操作。用户或角色仍然能继承其他角色的Grant权限。 拒绝:拒绝执行操作的权限,并组织用户或角色继承权限,该语句优先于其他授予的权限。 1.授予权限 可以使用GRANT语句授予权限。其语法格式如下: GRANT {ALL|statement [,…n]} TO security_account [,…n] 其中: ALL:授予所有可以应用的权限。 statement:表示授予权限的命令,如SELECT,UPDATE。 security_account:定义被授予权限的用户单位。security_account可以是SQL Server的数据库用户或SQL Server的角色,也可以是Windows的用户或工作组。 【例14-1】授予tom对jw数据中Class表的SELECT,DELETE和UPDATE权限。 USE jw GO GRANT SELECT,DELETE,UPDATE ON Class TO tom 2.撤销权限 REVOKE语句可以撤销以前授予或拒绝的权限。REVOKE语句的基本语法与授予权限大致相同。 【例14-2】撤销tom对jw数据中Class表的DELETE权限。 USE jw GO REVOKE DELETE ON Class TO tom 3.拒绝权限 在授予用户对象权限以后,数据库管理员可以根据实际情况在不撤销用户访问权限的情况下,拒绝用户访问数据库对象。 【例14-3】拒绝tom对jw数据中Class表的UPDATE权限。 USE jw GO DENY UPDATE ON Class TO tom 结合例14-1和例14-2,此时,当以tom用户身份登录jw数据库时,可以对Class表执行SELECT权限。需要注意的是,DENY语句具有覆盖性,如果使用DENY命令拒绝了某用户的某项操作,即使该用户后来又加入了具有该权限的某个角色,该用户依然无法使用该项权限。 14.5 角色管理 14.5.1 固定角色 1.固定服务器角色 SQL Server 2012的服务器角色具有授予服务器管理的能力。右表描述了固定服务器角色的功能。 可以通过系统存储过程sp_helpsrvrole或在SQL Server Management Studio“对象资源管理器”窗格中,通过“安全性”→“服务器角色”节点查看到系统预定义的固定服务器角色,如右图所示。 2.固定数据库角色 每个数据库都有一些固定数据库角色。数据库中的角色的作用域只限于其对应的数据库内。下表描述了固定数据库角色的功能。 可以通过系统存储过程sp_helpdbfixedrole或在SQL Server Management Studio的“对象资源管理器”窗格中,通过“数据库”→“jw”数据库→“安全性”→“角色”→“数据库角色”节点查看到系统预定义的固定数据库角色,如右图所示。 14.5.2 用户自定义角色 1.标准角色 【例14-4】使用SQL Server Management Studio创建数据库角色jw_role。 1)连接SQL Server Management Stu

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档