首页 理论教育 SQLServer数据库权限管理指南

SQLServer数据库权限管理指南

时间:2023-10-21 理论教育 版权反馈
【摘要】:SQL Server 2005使用权限作为访问数据库设置的最后一道安全设施。固定角色的所有成员自动继承角色的默认权限。其中前4个权限用于表和视图,EXECUTE权限用于存储过程。表9-3 对象权限及其描述表9-4 语句权限及其描述1.使用对象资源管理器管理权限 使用对象资源管理器管理Cj表的权限。1)启动SQL Server对象资源管理器,依次展开“数据库”结点、“Teaching”数据库结点,“表”结点。用户或角色仍然能继承其他角色的授予权限。

SQLServer数据库权限管理指南

权限用来制定授权用户可以使用的数据库对象以及可以对这些数据库对象执行的操作。SQL Server 2005使用权限作为访问数据库设置的最后一道安全设施。用户在登录到SQL Server服务器后,其用户账号所归属的角色被赋予的权限决定了该用户能够对哪些数据库对象执行查询、修改、插入或删除等操作。

在SQL Server中包括3种类型的权限:默认权限、对象权限和语句权限。

●默认权限是指系统安装以后固定服务器角色、固定数据库角色和数据库对象所有者具有的默认权限。固定角色的所有成员自动继承角色的默认权限。SQL Server中包含很多对象,每个对象都有一个属主。一般情况下,对象的属主是创建该对象的用户。如果系统管理员创建了一个数据库,那么他就是这个数据库的属主;如果用户A创建了一个表,用户A就是这个表的属主。默认情况下,系统管理员具有这个数据库的全部操作权限,用户A具有这个表的全部操作权限,这就是数据库对象的默认权限。

●对象权限是指基于数据库层次上的访问操作权限。这里的对象包括表、视图、列和存储过程等。常用的对象权限包括SELECT、INSERT、UPDATE、DELETE和EXE⁃CUTE等。其中前4个权限用于表和视图,EXECUTE权限用于存储过程。对象权限决定了能对表、视图等数据库对象执行哪些操作。对象及其可以有的权限如表9-3所示。

●语句权限是用于控制创建数据库或数据库对象所涉及的权限。语句权限应用于语句本身,而不是数据库对象。只有sysadmin、db_owner和db_securityadmin角色的成员才能授予用户语句权限。语句权限及其描述如表9-4所示。

表9-3 对象权限及其描述

978-7-111-33494-1-Chapter09-33.jpg

表9-4 语句权限及其描述

978-7-111-33494-1-Chapter09-34.jpg

1.使用对象资源管理器管理权限

【例9-7】 使用对象资源管理器管理Cj表的权限。

1)启动SQL Server对象资源管理器,依次展开“数据库”结点、“Teaching”数据库结点,“表”结点。

2)鼠标右键单击Cj表,选择“属性”命令,打开“表属性-Cj”窗口,选择“权限”标签页,如图9-30所示。

978-7-111-33494-1-Chapter09-35.jpg

图9-30 “表属性-Cj”窗口

3)单击“添加”按钮,打开“选择用户或角色”对话框,单击“浏览”按钮,选择匹配的对象,这里选中“teachuser”数据库用户和“public”数据库角色,如图9-31所示。

978-7-111-33494-1-Chapter09-36.jpg

图9-31 选择“teachuser”数据库用户和“public”数据库角色

4)单击“确定”按钮,回到“表属性-Cj”窗口,则可以看到刚刚添加的“public”角色和“teachuser”用户,选择“teachuser”用户。

5)在下面“teachuser的显式权限”列表中给该用户设置“授予”、“具有授予权限”和“拒绝”的权限,如图9-32所示。

6)单击“确定”按钮,则成功地给“teachuser”用户设置了权限。(www.xing528.com)

978-7-111-33494-1-Chapter09-37.jpg

图9-32 “表属性-Cj”窗口

2.使用T⁃SQL管理权限

使用T⁃SQL语句GRANT、DENY和REVOKE可以设置用户或角色的3种状态,即授予、拒绝和撤销。

●GRANT授予权限以执行相关的操作。如果是角色,则所有该角色的成员继承此权限。

●DENY显式地拒绝执行操作的权限,并阻止用户或角色继承权限,该语句优先于其他受权。

●REVOKE撤销授予的权限,但不会显式地阻止用户或角色执行操作。用户或角色仍然能继承其他角色的授予权限。管理权限的基本语法格式如下。

978-7-111-33494-1-Chapter09-38.jpg

在上述数据参数中:

●GRANT|DENY|REVOKE:授予|拒绝|撤销操作。

●permission:可以是相应对象的有效权限组合,可以使用All关键字表示所有权限。

●object:被授予的对象,可以是表、视图、列或存储过程。

●user:被授予的一个或多个用户或角色。

【例9-8】 使用T-SQL语句授予用户“teachuser”对“Teaching”数据库中Js表的查询和添加权限。

978-7-111-33494-1-Chapter09-39.jpg

【例9-9】 使用T-SQL语句拒绝用户“teachuser”对“Teaching”数据库中Js表的修改和删除权限。

978-7-111-33494-1-Chapter09-40.jpg

【例9-10】 使用T-SQL语句撤销用户“teachuser”对“Teaching”数据库中Js表的添加权限。

978-7-111-33494-1-Chapter09-41.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈