登录账号、用户账号和角色都是围绕权限展开的,其最终目的是控制用户对数据库的访问权限。用户通过登录账号可以登录到SQL Server服务器,但不一定能访问数据库对象。只有拥有授权的用户账号才可以访问数据库对象,为用户账号授权是通过角色来实现的。角色是权限的载体,角色是为了管理权限而引入的。权限具有继承性、累加性等,另外SQL Server规定拒绝权限总是优先于允许权限。
可以通过两种方法进行权限的设置:
●使用企业管理器。
●使用Transact-SQL语句。
这里只介绍如何在企业管理器中进行对象级权限和语句级权限设置。
1.利用企业管理器设置语句级权限
使用企业管理器设置语句级权限的步骤如下:
1)打开企业管理器,展开服务器至“数据库”文件夹,右键单击“学生管理数据库”。
2)打开“学生管理数据库属性”对话框,选择“权限”选项卡,如图2-163所示。
图2-163 设置语句级权限
3)该对话框列出了该数据库的用户角色及其语句级权限,可以单击用户对应的权限空白方格进行设置,分别对应3种不同的状态:
●当空白方格内打“√”时,表示执行了授权(Grant)语句,也就表示该用户能执行相应的操作。
●当空白方格内打“×”时,表示执行了拒绝(Deny)语句,即禁止用户对该对象执行相应的操作。
●当不对空白方格做任何标记时,表示执行了撤销(Revoke)语句,也就是说在这种情况下,该用户继承角色本身所具有的权限。
4)最后单击“确定”按钮完成。
2.利用企业管理器设置对象级权限
在企业管理器中设置对象级权限又分成两大类:面向数据库用户和面向数据库对象。
(1)面向数据库用户的权限设置
面向数据库用户权限设置主要针对数据库的用户设置权限,其步骤如下:
1)展开“学生管理数据库”,选择“用户”,在右边的窗格中显示的是该数据库的所有用户。右键单击选择“db_user”用户,从弹出的快捷菜单中选择“所有任务”中的“管理权限”选项,如图2-164所示。
图2-164 面向数据库用户的权限设置
2)弹出的“数据库用户属性—学生管理数据库”对话框中列出了6种基本的对象级权限,如图2-165所示。
图2-165 面向数据库用户的权限设置
3)单击“列”按钮,弹出“列权限”对话框,如图2-166所示,显示的是“基本课程表”中的所有列字段及其权限,单击“确定”按钮完成此用户的权限设置。
(2)面向数据库对象的权限设置
面向数据库对象的权限设置主要针对数据库的对象设置权限,其步骤如下:
1)展开“学生管理数据库”的“表”对象,选择“基本课程表”,右击它并从弹出的快捷菜单中选择“所有任务”中的“管理权限”选项,弹出如图2-167所示“对象属性—学生管理数据库”对话框。
(www.xing528.com)
图2-166 “列权限”对话框
图2-167 面向数据库对象的权限设置
2)设置可以进行操作的权限,设置完成后,单击“确定”按钮。
读一读
1.SQL Server内置用户登录账号
SQL Server内置了3个默认用户登录账号:sa(system administrator)、builtin\administra-tors和guest。
●sa:系统管理员的简称,是一个特殊用户,拥有数据库的所有权限。
●builtin\administrators:SQL Server为每个Windows操作系统管理员提供一个默认的用户账号。同样也拥有数据库的所有权限。
●guest:系统为来宾用户建立的特殊的用户账号。
2.SQL Server内建角色
固定服务器角色是建立在服务器级别上的角色,是用来设置服务器自身操作权限的;固定数据库角色是建立在数据库级别上的,是用来设置对数据库的各项操作权限的。表2-15与表2-16分别列出了8种固定服务器角色和10种固定数据库角色以及它们的具体含义。
表2-15 固定服务器角色
表2-16 固定数据库角色
其中,public是一个特殊的数据库角色,含在每个数据库中,包括master、msdb、temp-db、model和所有用户数据库,每个数据库用户都属于它,它捕获数据库中用户的所有默认权限。
3.SQL Server 2005权限类型
在SQL Server 2005中,除了系统预设的固定服务器角色和数据库角色所拥有的默认权限外,还包含以下两种类型权限:对象级权限和语句级权限。
●对象级权限:用户对数据库对象进行操作的权限。表2-17列出了SQL Server中的对象级权限及其所作用的数据对象。
表2-17 对象级权限及其所作用的数据对象
●语句级权限:用户是否拥有权限来执行某一语句。表2-18列出了SQL Server中的语句级权限及其含义。
表2-18 语句级权限及其含义
对权限的设置主要是针对对象级权限和语句级权限的设置,包含以下3个方面内容。
●授予访问权限(Grant):授予用户某种操作权限。
●撤销访问权限(Revoke):收回某种操作权限。
●拒绝访问权限(Deny):拒绝用户进行某种操作。归纳总结
通过这次任务的实践,了解了数据库的安全性管理的知识,掌握了验证模式的设置,熟悉了数据库账号的管理,掌握了角色管理和对用户的权限分配,为数据库的安全管理打下了基础。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。