关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第29讲 安全管理(理论+实训)

上传人:E**** 文档编号:89470000 上传时间:2019-05-25 格式:PPT 页数:31 大小:752.50KB
返回 下载 相关 举报
关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第29讲  安全管理(理论+实训)_第1页
第1页 / 共31页
关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第29讲  安全管理(理论+实训)_第2页
第2页 / 共31页
关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第29讲  安全管理(理论+实训)_第3页
第3页 / 共31页
关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第29讲  安全管理(理论+实训)_第4页
第4页 / 共31页
关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第29讲  安全管理(理论+实训)_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第29讲 安全管理(理论+实训)》由会员分享,可在线阅读,更多相关《关系数据库与SQL Server 2008 第2版 教学课件 ppt 作者 龚小勇 第29讲 安全管理(理论+实训)(31页珍藏版)》请在金锄头文库上搜索。

1、第10章 SQL Server安全管理,第29讲,复习:,存储过程含义、类型、语句格式、调用 含义:存储在服务器上的多条T-SQL语句的预编译集合。 类型:系统存储过程、用户自定义存储过程 语句格式 create procedure 存储过程名 形参 as sql语句 调用存储过程 exec 存储过程名 实参,复习:,触发器的含义、类型、作用、语句格式 含义:DML触发器是一种对表或视图执行insert、 delete、update操作时,被系统自动执行的特殊的存储过程。 类型: 按触发的时机分为:后触发器和替代触发器 按触发的事件分为:insert触发器、delete触发器、update触发

2、器 作用:对表实现复杂的数据完整性约束,以防止不正确的操作。 语句格式: create trigger 触发器名 on 表名 after insert ,delete ,update as SQL语句,复习:,存储过程和触发器的区别 相同点: 触发器和存储过程都是由多条T-SQL语句的预编译集合。 不同点: 存储过程是由用户利用execute命令执行。 触发器是通过事件进行触发而自动执行。,引:,对于一个网络数据库管理系统,安全是很重要的。 如何才能保护数据库不被破坏、偷窃和非法使用?,第10章 SQL Server安全管理 教学内容,基础知识: 安全机制 服务器级的安全管理 数据库级的安全管

3、理 权限管理,第10章 SQL Server安全管理 学习目标,认知目标: 了解安全模式 、身份验证、权限验证、登录帐户 、服务器角色 、数据库角色等概念 能力目标: 掌握登录帐户、数据库用户、数据库角色的创建(重点) 掌握数据库中权限设置管理的方法 (难点),一、安全机制,每个网络用户在访问SQL Server数据库之前,都必须经过两级安全验证: 身份验证:验证用户是否拥有服务器级的“连接权”,即是否允许访问SQL Server服务器。 权限验证:验证用户是否拥有数据库级的“访问权”,即是否可以在数据库上执行操作。,二、服务器级的安全管理 1. 身份验证 (1)两种模式,Windows身份验

4、证 使用Windows操作系统本身提供的安全机制验证用户的身份。只要用户能够通过Windows的用户帐户验证,就可连接到SQL Server,又称为“信任连接”模式。 SQL Server验证 使用SQL Server验证时,必须提供连接到SQL Server上登录帐号和口令(该帐号和口令由系统管理员事先创建并存储在SQL Server中)。 使用该模式:一是为了和7.0版以前的SQL Server相兼容;二是如果SQL Server安装在Windows 98下,必须使用该模式。,二、服务器级的安全管理 1. 身份验证(2) 模式设置,动手实验1:设置身份验证模式。 任务1:将本地服务器的身份

5、验证模式设置为 “混合模式” 右击“本地服务器”“属性” “安全性” 任务2:用“windows”身份验证连接到本地服务器上。 右击“本地服务器”“编辑SQL Server注册属性” 展开“本地服务器”即连接(因“windows”身份是信任连接) 任务3:用“SQL Server”身份验证连接到本地服务器上。 修改登录帐号“sa”的密码。 展开“本地服务器”中的“安全性”单击“登录” 右击“sa” “属性” 修改密码 设置“使用SQL Server 身份验证”。 右击“本地服务器”“编辑SQL Server注册属性” 勾选“使用SQL Server 身份验证” 输入“登录名”和“密码” 说明:

6、sa是一个超级登录帐号,具有操作服务器的一切权限。,二、服务器级的安全管理 2. 登录帐号,含义:登录者用来连接SQL server的帐号。 两种类型: windows身份验证时的登录帐号(即用户帐号)。 形式为“域(或计算机)名用户(或组)” 系统内建的本地组,采用“BUILTIN Administrators”形式 SQL server身份验证时,由系统管理员创建的登录帐号和密码。 sa是一个内置的SQL Server超级登录帐号,该账户拥有最高的管理权限,具有操作服务器的一切权限。,动手实验2:登录帐号的使用,任务1:将windows中的某个组或用户设置为登录帐号;创建个“SQL Ser

7、ver”登录帐号,登录名为st1和st2。 方法:双击“服务器” 安全性右击“登录” “新建登录” 创建“windows”登录帐号。 单击“名称”旁的“浏览”按钮 选择要加入的组或用户 创建“SQL Server”登录帐号。 在“名称”框中输入“st1” 选择“SQL Server身份验证” 输入密码,动手实验2:登录帐号的使用,任务2:使用st1登录帐号连接到SQL Server服务器,请问能否查看xscj库中的数据?为什么? 说明:普通登录帐号必须赋予了服务器角色后,才会具有服务器范围内的操作权限。 任务3:查看各登录帐号的服务器角色。 右击“登录帐号” “属性” ,二、服务器级安全性的管

8、理 3.服务器角色,含义: 系统定义的具有不同权限的组,其组成员是登录帐号。 服务器角色不能增加或删除,只能对其中的成员进行修改。 常用的服务器角色,动手实验3:服务器角色的使用,任务1:了解各服务器角色中的成员及权限。 双击“服务器” “安全性” “服务器角色” 任务2:将登录帐号st1赋予“database creators”的服务器角色,使其具有可创建和更改数据库的权限。 在“服务器角色”窗口中,右击“database creators”角色“属性” 单击“添加” 选择成员 请思考:使用st1登录帐号连接到SQL Server服务器,请问能否查看xscj库中的表对象?为什么? 说明:尽管

9、普通登录帐号已赋予了服务器角色(sysadmin除外 ),但仍没有使用其它数据库对象(表/视图/存储过程等)的权限。因为SQL Server是以数据库用户名来访问数据库的。,动手实验3:服务器角色的使用,任务3:将登录帐号st2赋予“sysadmin”的服务器角色,使其具有对系统的所有操作权。 说明:若将登录帐号st2加入到sysadmin服务器角色中,以该帐号登录的用户就拥有了对系统的所有操作权。 任务4:分别以st1和st2登录SQL Server服务器,查看xscj库中的各对象,请思考哪个登录帐号的权限大? 任务5:因某种原因,要取消登录帐号为st2所拥有的对服务器的所有操作权,但仍能登

10、录SQL Server服务器,如何设置? 在“服务器角色”窗口中,右击“sysadmin”角色“属性” 选择成员单击“删除” ,三、数据库级的安全管理 1. 数据库用户简介,含义: 如果要使登录帐号具有访问数据库的权力,必须将登录帐号映射为数据库用户名。所以,每一个登录帐号必须对应一个数据库用户名称。 登录帐号sa(或windows帐号)对应的数据库用户名为dbo,dbo用户拥有操作数据库的所有权限(权限最高)。 凡具有sysadmin服务器角色的登录帐号,自动映射为dbo。 其它登录帐号在某库中没有对应的用户名称时,就映射到guest用户帐号上,若没有guest(如xscj库),则不能查看到

11、该数据库对象。,三、数据库级的安全管理 1. 数据库用户简介,含义: 如果要使登录帐号具有访问数据库的权力,必须将登录帐号映射为数据库用户名。 登录帐号和数据库用户的区别:,(提供数据库访问),(提供SQL server访问),说明:每个登录帐号要对应一个数据库用户名称。,三、数据库级的安全管理 1. 数据库用户简介,内置的用户名称:dbo和guest 登录帐号sa(或windows帐号)对应的数据库用户名为dbo,dbo用户拥有操作数据库的最高权限。凡具有sysadmin服务器角色的登录帐号,自动映射为dbo。 其它登录帐号在某库中没有对应的用户名时,就映射到guest用户帐号上(对数据库的

12、访问权限最低)。若没有guest(如xscj库),则不能查看到该数据库对象。 例如: 在xscj库中,登录帐号st1既没有映射相应的用户名,又没有guest,所以,st1不能查看到该库中对象的信息。,动手实验4:数据库用户的创建,任务1:将登录帐号st1映射为xscj库中的一个名为“u1”的用户帐号,使“u1”能访问该库。 右击xscj库中的“用户” “新建数据库用户” 任务2:将登录帐号st1同时映射为pubs、northwind库中的一个用户帐号。 双击 “服务器” “安全性” “登录” 在“登录”窗口,双击“st1”登录帐号 单击“数据库访问”标签勾选所要访问的数据库,三、数据库级的安全

13、管理 2.管理数据库用户,修改数据库用户 主要是修改为此用户所设置的用户权限(修改所属的数据库角色)。 删除数据库用户 删除一个登录帐号在当前数据库的映射,使该登录帐号失去访问数据库的权限。 方法1:与创建类似,只是取消数据的选定。 方法2:在指定数据库的“用户”窗口中,右击要删除的用户名单击“删除”,三、数据库级的安全管理 3. 数据库角色,定义: 是在数据库级别上定义的用户权限组,存在于每个数据库中。其成员是用户帐号。 类型: 固定数据库角色 自建数据库角色,动手实验5:数据库角色的创建,任务1:将xscj库的所有者权限赋给st1用户。 在“登录”窗口,双击“st1”登录帐号 单击“数据库

14、访问”标签勾选“ db_owner” 任务2:创建一个名为“zdy”的数据库角色,使该角色具有如下的权限:可查询xsqk表、可查询和修改xs_kc表、可查询和插入kc表,但不能进行删除的权限。 右击xscj库的“角色” “新建数据库角色” 输入名称“zdy” “确定” 双击“zdy” 单击“权限”按钮设置语句权限,四、权限管理 1. 权限的分类,权限的作用: 用来控制用户如何访问数据库对象。 权限的分类: 对象权限:是指用户对数据库中的表、视图、存储过程等对象的操作权限。 语句权限:是指执行数据定义语句的权限。 隐含权限:是指系统预定义的服务器角色、数据库拥有者和数据库对象拥有者所拥有的权限。

15、该权限不能明确地赋予和撤销。,四、权限管理 2. 权限管理的内容,用户或角色的权限有三种形式: 授予权限: 能执行相应操作 拒绝权限 : 不能执行相应操作 剥夺权限 : 不允许执行相应操作,但可以通过加入角色来获得许可权。,动手实验6:管理权限,任务1:管理数据库用户的语句权限。要求:xscj库中的用户u1只能查看kc表中的数据,不能做任何更改和删除,应如何设置? 单击xscj库中的“用户” 右击“u1”用户“所有任务” “管理权限” 设置在kc表上的操作权限 任务2:管理数据库角色的语句权限。要求:xscj库中的所有用户只能查看kc表中的数据,不能做任何更改和删除,应如何设置? 右击xscj

16、库中的“角色” “新建自定义角色”(aa) 双击aa 添加所有用户单击“权限”按钮 设置在kc表上的操作权限,动手实验6:管理权限,任务3:管理数据库对象的权限。对于xscj库中的xsqk表,希望所有用户都不能删除、修改和插入记录,且不能访问“地址”字段 右击xsqk表“所有任务” “管理权限” 设置权限 单击“列” 按钮设置列权限,五、数据库备份和恢复,备份设备 备份策略 完全备份 差异备份 事务日志备份 文件或文件组备份,动手实验7:数据库备份和恢复,任务1:将xscj库备份到E盘的“数据库备份”文件夹中,并命名为“学生成绩库备份”。 任务2:对xscj库中的对象进行任意的修改或删除。 任务3:恢复数据库,并查看该数据库是否已还原。,本课小结,服务器级的安全管理 身份验证(2种模式) 登录帐号(2种) 服务器角色 数据库级的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号