当前位置:文档之家› 数据库安全性和完整性实验

数据库安全性和完整性实验

实验9:数据库安全性实验
一、实验目的
加深对数据库安全性的理解,并掌握SQL Server中有关用户、角色及操作权限的管理方法。

二、实验内容
1.数据库的安全性实验。

在SQL Server企业管理器中,设置SQL Server
的安全认证模式,实现对SQL Server的用户和角色的管理,设置和管理
数据操作权限。

三、实验原理和步骤
1.设置SQL Server的安全认证模式,选择混合模式。

右键服务器属性-安全性:选择SQL Server和Windows身份验证模式。

重启服务,生效。

2.账号:
sa账号登录
3.登录帐号的管理
1)将Windows帐号添加到SQL Server 2005中
创建操作系统用户-
4.数据库用户的管理
1)dbo用户;
查看banking数据库的dbo用户,查看用户权限。

2)U1用户;
创建banking数据库的U1用户,查看用户权限。

5.权限管理
1)赋予所创建的U1用户db_datareader角色,查看用户权限
2)赋予所创建的U1用户db_datawriter角色,查看用户权限
3)赋予所创建的U1用户db_owner角色,查看用户权限
4)两种方法赋予所创建的U1用户对banking数据库表customer的select
权限,验证并写出sql语句
5)两种方法赋予所创建的U1用户对banking数据库表branch的select
和对branch_name修改的权限,验证并写出sql语句
6)把对loan表的update权限授予所创建的U1用户用户,并允许将此
权限再授予其他用户,验证并写出sql语句
7)两种方法回收所创建的U1用户对banking数据库表customer的select
权限,验证并写出sql语句
8)两种方法回收所有用户对banking数据库表loan的update权限,验
证并写出sql语句
四、实验报告要求
要求写出如下设计报告:
1.用Transact-SQL写出实验操作的语句
2.实验步骤和实验结果。

3.实验中的问题和提高。

4.SQL Server中有的安全性功能。

五、注意事项
1.用户、角色和权限的职能,以及它们之间的关系。

2.两种SQL-Server的安全认证模式及特点。

参考:
1.认证模式:SQL Server 的身份验证模式有两种:Windows身份验
证和混合模式
2.
2. 账号
用户的合法身份用一个用户标识来表示,即账号。

每个账号有相应的权限,即角色。

其中账号BUILTIN\Administrator是Windows的组账号。

账号sa是SQL Server 2005的数据库管理账号,是SQL Server中的超级账号。

3.权限
SQL Server的基本权限:select、insert、delete、update、execute、alter等。

4.角色
角色类似Windows组,相同角色的账号具有相同的权限。

SQL Server 2005具有5个角色:
2)Public
3)固定服务器角色
4)固定数据库角色
5)用户定义的角色
6)应用程序角色
5. 权限操作
1) grant语句:授权
GRANT { ALL [ PRIVILEGES ] }
| permission [ ( column [ ,...n ] ) ] [ ,...n ]
[ ON [ class :: ] securable ] TO principal [ ,...n ]
[ WITH GRANT OPTION ] [ AS principal ]
eg1:把查询account表的权限授给用户U1
Grant select
on account to u1
eg2::把对account表的查询权限授予所有用户
grant select on account
to public
eg3:把查询customer表和修改学生姓名的权限授予用户U4
grant select,update(customer_name)
on customer to u4
eg4:把对borrower表的insert权限授予U5用户,并允许将此权限再授予其他用户grant insert on borrower
to u5 with grant option
eg5:把在banking建立表的权限授予用户U8
use banking
grant create table
to u8
2) revoke语句:取消以前授予或拒绝了的权限
REVOKE [ GRANT OPTION FOR ]
{
[ ALL [ PRIVILEGES ] ]|permission [ ( column [ ,...n ] ) ] [ ,...n ] }
[ ON [ class :: ] securable ]
{ TO | FROM } principal [ ,...n ]
[ CASCADE] [ AS principal ]
eg1: 撤销用户u1对account表的select权限
revoke select on account from u1
eg2: 回收所有用户对account的select权限revoke select on account from public。

相关主题