实验7数据库的安全性 实验目的 1.掌握 Windows登录名和 SQL Server登录名的建立与删除方法; 2.掌握创建和管理数据库用户的方法; 3.掌握数据库用户权限的授予、撤销等方法; 4.了解数据库角色的分类、作用及使用方法。 二、实验环境 1.硬件 每位学生配备计算机一台 2.软件 Windows server2003操作系统,安装 SQL Server2008企业版软件 3.网络 局域网环境 4.工具 、实验理论与预备知识 SQL Server的身份验证模式 2. SQL Server2008的安全性机制 3.创建和管理数据库用户的方法 4.命令方式授予、撤销权限的语法格式。 四、实验任务 1.管理数据库用户; 2.服务器角色应用; 3.数据库权限管理 五、实验内容及步骤 (一)数据库用户的管理 1.创建 Windows登录名 (1)以管理员身份登录到 Windows,选择【开始】→【控制面板】→【管理工具】→【计算 机管理】,进入【计算机管理窗口】,如图7.1所示;
实验 7 数据库的安全性 一、实验目的 1. 掌握 Windows 登录名和 SQL Server 登录名的建立与删除方法; 2. 掌握创建和管理数据库用户的方法; 3. 掌握数据库用户权限的授予、撤销等方法; 4. 了解数据库角色的分类、作用及使用方法。 二、实验环境 1. 硬件 每位学生配备计算机一台。 2. 软件 Windows Server 2003 操作系统,安装 SQL Server 2008 企业版软件。 3. 网络 局域网环境 4. 工具 无 三、实验理论与预备知识 1. SQL Server 的身份验证模式; 2. SQL Server2008 的安全性机制; 3. 创建和管理数据库用户的方法; 4. 命令方式授予、撤销权限的语法格式。 四、实验任务 1. 管理数据库用户; 2. 服务器角色应用; 3. 数据库权限管理。 五、实验内容及步骤 (一) 数据库用户的管理 1. 创建 Windows 登录名 (1) 以管理员身份登录到 Windows,选择【开始】【控制面板】【管理工具】【计算 机管理】,进入【计算机管理窗口】,如图 7.1 所示;
计算机管理 用户名Q0: zhang 文件(操作(A查看0帮动H 全名① zhang 回国回 计算机笆理本地 4系统工具 路系统工具 计算机管理体本地) O任务计划程序 存储 密码①) 园事件查器 服务和应用程序 0a共享文件夹 □户下登录时须更改密码 设新管理器 □用户不能更改密码 回密码永不过期c 盘管理 □帐户已禁用①) 帮助0 匚创健)关闭@) 图71计算机管理窗口 图72创建新用户 (2)在该窗口中选择【系统工具】→【本地用户和组】→【用户】,右击后,在弹出的快捷菜 单中选择【新用户】,打开【新用户】窗口,新建用户“ zhang”,密码为“ password”,并取消“用户 下次登录时需更改密码”选项,单击【创建】按钮创建该用户,如图72所示; 3)以管理员身份登录到 SQL Server Management Studio,在对象资源管理器中选择【安全性】 →【登录名】,右击后,在弹出的快捷菜单中选择【新建登录名】,如图7.3所示。在【新建登录名】 窗口中单击【搜索】按钮,在弹出的【选择用户或组】窗口中单击【高级】→【立即查找】,将【搜 索结果】中的用户名“ zhang”添加为登录名。选择【 Windows身份验证模式】,单击【确定】按钮 完成创建,如图74、7.5所示 查却图山出品 用户或内置安全主体 量型=Y团 象类型@), 查找位置⑦ LENDVO-PC 位置 输入要选择的对象名称您加)②) 高级 确定□取消 加问序 图73新建登录名 图74选择用户或组
图 7.1 计算机管理窗口 图 7.2 创建新用户 (2) 在该窗口中选择【系统工具】【本地用户和组】【用户】,右击后,在弹出的快捷菜 单中选择【新用户】,打开【新用户】窗口,新建用户“zhang”,密码为“password”,并取消“用户 下次登录时需更改密码”选项,单击【创建】按钮创建该用户,如图 7.2 所示; (3) 以管理员身份登录到 SQL Server Management Studio,在对象资源管理器中选择【安全性】 【登录名】,右击后,在弹出的快捷菜单中选择【新建登录名】,如图 7.3 所示。在【新建登录名】 窗口中单击【搜索】按钮,在弹出的【选择用户或组】窗口中单击【高级】【立即查找】,将【搜 索结果】中的用户名“zhang”添加为登录名。选择【Windows 身份验证模式】,单击【确定】按钮 完成创建,如图 7.4、7.5 所示。 图 7.3 新建登录名 图 7.4 选择用户或组
用户或内墨金主体 对象共型0) 登录名 查找位置① 位香4) 斟本·帮 压务器诵 签录名① 名4)已输为 身短证 立即查找a 傅止① 确认密码c) □不过期密码q) □强制密码过期 结果①D 定取消 ②映射到正书( 所在文件夹 映射到丰对称密钥① 图7.5选择用户或组 图76新建登录名 2.创建 SQL Server登录名 在对象资源管理器中单击【安全性】→【登录名】,右击后,在弹出的快捷菜单中选择【新建登 录名】,在【新建登录名】窗口中输入需创建的登录名“zhao”,并选择【 SQL Server身份验证模式】, 设置密码为“123456”,取消“用户下次登录时需更改密码”选项,单击【确定】按钮完成 SQL Server 登录名创建,如图76所示 3.创建数据库用户 在对象资源管理器中单击【数据库】→【Stu】→【安全性】→【用户】,右击后,在弹出的快 捷菜单中选择【新建用户】莱单项,在【数据库用户】窗口中输入需要新建的数据库用户的用户名 zhao”,输入登录名“zhao”,【默认架构】为“dbo”,单击【确定】按钮,完成创建,如图7.7所 7.8设置服务器角色
2. 创建 SQL Server 登录名 在对象资源管理器中单击【安全性】【登录名】,右击后,在弹出的快捷菜单中选择【新建登 录名】,在【新建登录名】窗口中输入需创建的登录名“zhao”,并选择【SQL Server 身份验证模式】, 设置密码为“123456”,取消“用户下次登录时需更改密码”选项,单击【确定】按钮完成 SQL Server 登录名创建,如图 7.6 所示。 3. 创建数据库用户 在对象资源管理器中单击【数据库】【Stu】【安全性】【用户】,右击后,在弹出的快 捷菜单中选择【新建用户】菜单项,在【数据库用户】窗口中输入需要新建的数据库用户的用户名 “zhao”,输入登录名“zhao”,【默认架构】为“dbo”,单击【确定】按钮,完成创建,如图 7.7 所 示。 图 7.5 选择用户或组 图 7.6 新建登录名 图 7.8 设置服务器角色
(二)服务器角色应用 1.添加固定服务器角色成员 以系统管理员身份登录 SQL Server,单击【安全性】→【登录名】→【zhao】,右击后,在弹出 的快捷菜单中选择【属性】,在弹出的【登录名属性】窗口中选择【服务器角色】选项卡,选择要添 加到的服务器角色,单击【确定】按钮完成添加,如图7.8所示 2.添加固定数据库角色成员 以系统管理员身份登录 SQL Server,单击【数据库】→【Stu】→【安全性】→【角色】→【数 据库角色】→【 db owner】,右击后,在弹出的快捷菜单中选择【属性】,打开【数据库角色属性】 窗口,如图79所示。单击【添加】按钮,打开【选择数据库用户或角色】窗口,单击【浏览】按 钮,在打开的【查找对象】窗口中为该固定数据库角色添加成员,如图7.10所示。 到3个匹况选类升的象 斥角色 碳定[取一[帮助 图79数据库角色属性 图710添加固定数据库角色成员 3.创建自定义数据库角色 以系统管理员身份登录 SQL Server,在对象资源管理器中单击【数据库】υ【Su】→【安全性】 →【角色】→【数据库角色】,右击后,在弹出的快捷菜单中选择【新建数据库角色】,在弹出的【数 据库角色-新建】窗口中输入要创建的角色名“Role”,所有者设为“dbo”,单击【确定】按钮,完 成创建,如图711所示
(二) 服务器角色应用 1. 添加固定服务器角色成员 以系统管理员身份登录 SQL Server,单击【安全性】【登录名】【zhao】,右击后,在弹出 的快捷菜单中选择【属性】,在弹出的【登录名属性】窗口中选择【服务器角色】选项卡,选择要添 加到的服务器角色,单击【确定】按钮完成添加,如图 7.8 所示。 2. 添加固定数据库角色成员 以系统管理员身份登录 SQL Server,单击【数据库】【Stu】【安全性】【角色】【数 据库角色】【db_owner】,右击后,在弹出的快捷菜单中选择【属性】,打开【数据库角色属性】 窗口,如图 7.9 所示。单击【添加】按钮,打开【选择数据库用户或角色】窗口,单击【浏览】按 钮,在打开的【查找对象】窗口中为该固定数据库角色添加成员,如图 7.10 所示。 3. 创建自定义数据库角色 以系统管理员身份登录 SQL Server,在对象资源管理器中单击【数据库】【Stu】【安全性】 【角色】【数据库角色】,右击后,在弹出的快捷菜单中选择【新建数据库角色】,在弹出的【数 据库角色-新建】窗口中输入要创建的角色名“Role”,所有者设为“dbo”,单击【确定】按钮,完 成创建,如图 7.11 所示。 图 7.9 数据库角色属性 图 7.10 添加固定数据库角色成员
· 图712数据库级别授权 图711创建自定义数据库角色 (三)数据库权限管理 授予数据库权限 通过界面方式和SQL命令两种方式实现数据库权限的授予。 (1)授予数据库用户Stu数据库上的 CREATE TABLE权限。 以系统管理员的身份登录到 SQL Server,在对象资源管理器中右击数据库“Stu”,在弹出的快 捷菜单中选择【属性】,打开【数据库属性】窗口,选择【权限】选项页,选择数据库用户“zhao”, 在下方的权限列表中,单击【创建表】对应【授予】列中的复选框,单击【确定】按钮,完成数据 库级别上的权限授予,如图712所示 (2)授予数据库用户在Stu数据库中 student表上的 SELECT、 INSERT、 DELETE权限。 以系统管理员的身份登录到 SQL Server,在对象资源管理器中单击【数据库】→【Stu】→【表】 【 dbo. student】,右击后,在弹出的快捷菜单中选择【属性】,打开【表属性】窗口,选择【权限】 选择页,单击【搜索】按钮,打开【选择数据库用户或角色】窗口,单击【浏览】按钮,选择要授 权的用户或角色,然后在权限列表中选择要授予的权限。 2.撤销数据库权限 (1)以命令方式撤销已授予用户的 CREATE TABLE权限; (2)以命令方式撤销对用户授予的在 student表上的 SELECT权限 六、实验分析 使用用户“ zhang”登录 Windows,启动 SQL Server Management Studio,以 Windows身份 验证模式连接,与以系统管理员身份登录有何不同? 2.如何在对象资源管理器中删除数据库角色成员Role?请试一试。 3.通过命令方式,如何撤销授予多个用户的多个语句权限?请举例说明
(三) 数据库权限管理 1. 授予数据库权限 通过界面方式和 SQL 命令两种方式实现数据库权限的授予。 (1) 授予数据库用户 Stu 数据库上的 CREATE TABLE 权限。 以系统管理员的身份登录到 SQL Server,在对象资源管理器中右击数据库“Stu”,在弹出的快 捷菜单中选择【属性】,打开【数据库属性】窗口,选择【权限】选项页,选择数据库用户“zhao”, 在下方的权限列表中,单击【创建表】对应【授予】列中的复选框,单击【确定】按钮,完成数据 库级别上的权限授予,如图 7.12 所示。 (2) 授予数据库用户在 Stu 数据库中 student 表上的 SELECT、INSERT、DELETE 权限。 以系统管理员的身份登录到 SQL Server,在对象资源管理器中单击【数据库】【Stu】【表】 【dbo.student】,右击后,在弹出的快捷菜单中选择【属性】,打开【表属性】窗口,选择【权限】 选择页,单击【搜索】按钮,打开【选择数据库用户或角色】窗口,单击【浏览】按钮,选择要授 权的用户或角色,然后在权限列表中选择要授予的权限。 2. 撤销数据库权限 (1) 以命令方式撤销已授予用户的 CREATE TABLE 权限; (2) 以命令方式撤销对用户授予的在 student 表上的 SELECT 权限。 六、实验分析 1. 使用用户“zhang”登录 Windows,启动 SQL Server Management Studio,以 Windows 身份 验证模式连接,与以系统管理员身份登录有何不同? 2. 如何在对象资源管理器中删除数据库角色成员 Role?请试一试。 3. 通过命令方式,如何撤销授予多个用户的多个语句权限?请举例说明。 图 7.11 创建自定义数据库角色 图 7.12 数据库级别授权
七、课外自主实验 以系统管理员身份登录到 SQL Server服务器,以Stu数据库为例,在 SQL Server2008界面中实 现下列操作 1.在数据库Stu中创建用户stul、stu2和stu3,登录帐号分别为stul、stu2和stu3; 2.给数据库用户stul赋予对sc表进行 INSERT、 UPDATE、 DELETE操作权限 3.给数据库用户stu2和stu3赋予对 student表、 course表所有操作权限及查询sc的操作权限 并允许再授权给其他用户; 4.收回数据库用户stu2对 student表和 course表的 DELETE操作的权限; 5.创建数据库角色 Role,并授予其在 student表上拥有 SELECT权限; 6.添加用户stul为 Role的成员 八、实验扩展资源 1.图书 (1)郑阿奇 SQL Server实用教程(第3版)( SQL Server2008版)M电子工业出版社,2009 (2)闪四清 SQL Server2008基础教程[M清华大学出版社,2010. 2.期刊论文 无 3.在线学习平台 无 4.其他资源 (1)http://msdn.microsoftcom/zh-cn/sqlserver (2)http://bbs.csdn.net
七、课外自主实验 以系统管理员身份登录到 SQL Server 服务器,以 Stu 数据库为例,在 SQL Server2008 界面中实 现下列操作。 1. 在数据库 Stu 中创建用户 stu1、stu2 和 stu3,登录帐号分别为 stu1、stu2 和 stu3; 2. 给数据库用户 stu1 赋予对 sc 表进行 INSERT、UPDATE、DELETE 操作权限; 3. 给数据库用户 stu2 和 stu3 赋予对 student 表、course 表所有操作权限及查询 sc 的操作权限, 并允许再授权给其他用户; 4. 收回数据库用户 stu2 对 student 表和 course 表的 DELETE 操作的权限; 5. 创建数据库角色 Role1,并授予其在 student 表上拥有 SELECT 权限; 6. 添加用户 stu1 为 Role1 的成员; 八、实验扩展资源 1. 图书 (1)郑阿奇.SQL Server 实用教程(第 3 版)(SQL Server 2008 版)[M].电子工业出版社,2009. (2)闪四清.SQL Server 2008 基础教程 [M]. 清华大学出版社,2010. 2. 期刊论文 无 3. 在线学习平台 无 4. 其他资源 (1)http://msdn.microsoft.com/zh-cn/sqlserver (2)http://bbs.csdn.net/