数据库安全性(上海电力学院)

上传人:tian****1990 文档编号:74696334 上传时间:2019-01-29 格式:PPT 页数:48 大小:1.19MB
返回 下载 相关 举报
数据库安全性(上海电力学院)_第1页
第1页 / 共48页
数据库安全性(上海电力学院)_第2页
第2页 / 共48页
数据库安全性(上海电力学院)_第3页
第3页 / 共48页
数据库安全性(上海电力学院)_第4页
第4页 / 共48页
数据库安全性(上海电力学院)_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《数据库安全性(上海电力学院)》由会员分享,可在线阅读,更多相关《数据库安全性(上海电力学院)(48页珍藏版)》请在金锄头文库上搜索。

1、第七章 数据库安全性,7.1计算机安全性概述,数据库的数据保护主要包括数据的安全性和数据的完整性。 数据库的安全性:指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 计算机的安全性问题分为三大类: 技术安全类、管理安全类和政策法律类。,7.2数据库安全性控制,(一级一级层层设置),用户,DBMS,OS,DB,用户标识和鉴别 (Identification & Authentication),存取控制,操作系统安全保护,数据密码存储,计算机系统的安全模型,存取控制机制: 、定义用户权限 、合法权限检查 两类方法: 、自主存取控制(DAC)方法 大型数据库管理系统几乎支持自主存取控制,

2、主通过SQL的GRANT语句和REVOKE语句实现。(授权Authorization),2、强制存取控制(AC)方法 常用于数据有严格而固定密级分类的部门,如军事部门或政府部门等。(更高程序的安全性),DAC检查 MAC检查,SQ语法分析&语义检查,安全检查,继续,DAC+MAC安全检查示意图,其它安全机制: 、视图机制:把保密的数据对无权存取的用户隐藏起来,间接地实现了支持存取谓词的用户权限定义。 、审计:把用户对数据库的所有操作自动记录下来放入审计日志(Audit Log)。DBA通过审计跟踪。 、数据加密:明文(plain text)、密文(Cipher text) 加密两种方法: )替

3、换方法:使用密钥(Encryption Key) )置换方法:将明文的字符按不同的顺序重新排列。,7.3 SQL Server数据库的安全性措施,SQL Server2000的安全管理通常分为个等级: )SQL server2000的登录安全性。 )数据库的使用安全性。 )数据库对象的使用安全性。 、登录安全性管理 SQL server2000安全验证模式: )Windows NT安全验证模式 )混合验证模式,1、设置SQLServer2000登录的身份验证模式的方法: -打开企业管理器-右击(需设置身份验证的服务器)属性 单击“安全性”选项卡,如图:,、管理SQLServer2000登录帐户

4、的方法: 实例:利用企业管理器添加一帐户名zw的SQLServer身份验证的登录帐户,再删除! -打开企业管理器-右击(需设置身份验证的服务器)安全性分支 ,如图:,特殊帐户,查询分析器中登录方法!,删除帐户!,实例:修改登录密码,如修改帐户名zw帐户密码。,)使用-SQL语句创建两种登录帐户 语法格式: Sp_addlogin 登录名,登录密码,默认数据库,默认语言 例:创建一个名为stu04,使用SQL server身份验证的登录帐户,其密码为stu04,默认数据库为student,默认语言不变。 Sp_addlogin stu04,stu04,student Sp_grantlogin

5、登录名 (了解) 将一个Windows 2000系统客户映射为一个使用Windows身份验证的SQL Server登录帐户。 登录名格式:域名用户 sp_grantlogin BUILTINadministrators,例:删除SQL server身份验证的登录帐户。 Sp_droplogin stu04 删除一个Windows身份验证的登录帐户。 登录名格式:域名用户 sp_revokelogin BUILTINadministrators,、角色管理 管理者可将某些用户设置为某一角色,只对角色进行权限设置便可实现对属于该角色的用户的权限设置,大大减少了管理员的工作量。 SQL Server

6、2000中,主要有两种角色类型: 服务器角色和数据库角色。 )服务器角色 查看固定服务器角色:企业管理器-展开服务器-“安全性”文件夹-“服务器角色”节点。,固定服务器角色,添加删除服务器角色的登录帐户:,添加登录帐户!,删除添加的登录帐户!,)数据库角色 数据库角色是为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限。 两种数据库角色:固定数据库角色和用户自定义的数据库角色。,特殊public数据库角色,数据库中的所有用户都属于public角色。 )创建用户自定义的数据库角色 方法一:企业管理器-选中“服务器”-选中数据库 -角色-新建数据库角色,删除自定义数据库角色!

7、,修改自定义数据库角色!,添加自定义数据库角色权限!,)使用-SQL语句创建角色 语法格式: Sp_addrole rolename=角色名,ownername=角色的所有者 角色的所有者:默认为dbo 例:将名为manager的新角色添加到当前数据库中。 use student go sp_addrole manager,例:将数据库用户dzw增加到数据库角色manager中。 Use student Go sp_addrolemember manager,dzw 例:将数据库用户dzw从数据库角色manager中移除。 sp_droprolemember manager,dzw 例:将名为

8、manager的新角色删除。 use student go sp_droprole manager,、数据库用户管理 )利用企业管理器创建新用户: 给student数据库添加数据库用户dzw 展开“数据库”文件夹-右击“用户”-新建数据库用户,数据库用户dzw已添加!,)使用-SQL语句创建数据库用户,Sp_grantdbaccess 登录名,用户名 为一个登录帐户在当前数据库中映射一个数据库用户。 例:将guset用户添加到数据库student中。 sp_grantdbaccess guest 注:guest用户允许没有帐户的用户登录访问数据库。 将guest用户从数据库student中移除

9、。 sp_revokedbaccess guest 例:向student数据库中添加新的用户dzw Use student go sp_grantdbaccess zw,dzw 注:zw须是已存在的登录帐户。,对同一个登录帐户映射另一个访问数据库st的用户dzz!,例:将st数据库中数据库用户dzw删除。 Use st go sp_revokedbaccess dzz,4、权限管理 一、种类型:对象权限、语句权限和隐含权限。 )对象权限 处理数据和执行过程。 select、insert、update和delete,可应用到整个基本表或视图中。 select、insert可以应用到基本表或视图中

10、的单个列上。 select可以应用到用户定义函数。 insert和delete,不能用于单个列上,将影响的是整行。 execute,应用于存储过程和函数。,)语句权限 创建数据库或数据库中的对象。 Backup database Backup log Create database Create default Create function Create procedure Create rule Create table Create view 3)隐含权限 利用授予预定义的权限。,二、授权(数据控制功能DCL语言) 标准SQL语句通过GRANT语句向用户授予操作权限,GRANT语句的格式

11、为: GRANT , ON TO , WITH GRANT OPTION; 语义:将某作用在指定操作对象上的操作权限,限授予指定的用户。(即数据库对象的访问权限的管理) 如果指定WITH GRANT OPTION子句,则获得某种权限的用户可以把这种权限在授予其他用户。如没有指定该子句,获得授权的用户将不能传播权限。(转授) 授权的用户可以是一个或多个具体用户,也可以是PUBLIC即全体用户。,例1、在数据库student中将创建基本表的权限授予用户dZW。(设用户已存在) 标准SQL语句: GRANT CREATTAB ON DATABASE student TO dZW; T-SQL中为:

12、USE student GRANT CREATE TABLE TO dZW;,思考1:创建数据库的权限,应该在哪个数据库下授权? 须用T-SQL语句: USE master GRANT CREATE DATABASE TO 用户名 思考2:在数据库student中将创建基本表、备份数据库的权限授予用户ZW。 T-SQL: USE student GRANT CREATE TABLE, BACKUP DATABASE TO dZW;,例2、将查询Student表的权限授予全体用户。 标准SQL为: GRANT SELECT ON TABLE Student TO public; T-SQL中为:

13、 grant select on student to public,例3、将在SC表上进行UPDATE的权限授予用户dZW,并允许他传播该权限。 标准SQL中: Use student GRANT UPDATE ON TABLE SC TO ZW WITH GRANT OPTION; T-SQL中为: GRANT UPDATE ON SC TO dZW WITH GRANT OPTION; 注:dZW获得该权限后,其可以在将此权限授予s2。 Use student GRANT UPDATE ON TABLE SC TO s2; T-SQL中为: GRANT UPDATE ON SC TO S

14、2;,例4、把对Student表的全部操作权限授予用户 dZW和dbo。 标准SQL: GRANT ALL PRIVILEGS ON TABLE Student TO dZW,dbo; T-SQL中为: GRANT ALL ON Student TO dZW,dbo;,On后对象可以为表、视图、表或视图的某一列、存储过程、用户自定义类型!,例5、把查询Student表和修改学生学号的权限授给用户dZW。 标准SQL: GRANT UPDATE(Sno),SELECT ON TABLE Student TO dZW; T-SQL中为: GRANT UPDATE(Sno),SELECT ON St

15、udent TO dZW;,例6、SQL用 AS 选项授予权限 向角色duck授予对表student的 SELECT 权限,并可授予其它用户。 通过角色向用户dzw授予对表 student的 SELECT 权限。 use student go GRANT SELECT ON student TO duck WITH GRANT OPTION GRANT SELECT ON student TO dzw AS duck,三、回收权限 标准SQL语句通过REVOKE语句向用户授予操作权限,REVOKE语句的格式为: REVOKE , ON FROM ,; 说明:当涉及多个用户传播权限时,收回上级用

16、户某权限的同时也收回所有下级的该权限。,SQL的REVOKE语句的格式为: REVOKE , ON FROM , CASCADE AS 用户组角色;,CASCADE当指定删除相应安全帐户的权限时,也将删除由这些安全帐户授权的任何其它安全帐户。,例6、将用户dzw查询student表的权限收回。 标准SQL: REVOKE SELECT ON TABLE student FROM dzw; T-SQL: REVOKE SELECT ON student FROM dZW CASCADE,例7、将用户dZW更新SC表的权限收回,同时s2的更新权也被收回。(若 s2由dZW 授权的) T-SQL: Revoke update on sc

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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