第15讲数据库的安全管理

上传人:今*** 文档编号:107557946 上传时间:2019-10-20 格式:PPT 页数:47 大小:824KB
返回 下载 相关 举报
第15讲数据库的安全管理_第1页
第1页 / 共47页
第15讲数据库的安全管理_第2页
第2页 / 共47页
第15讲数据库的安全管理_第3页
第3页 / 共47页
第15讲数据库的安全管理_第4页
第4页 / 共47页
第15讲数据库的安全管理_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《第15讲数据库的安全管理》由会员分享,可在线阅读,更多相关《第15讲数据库的安全管理(47页珍藏版)》请在金锄头文库上搜索。

1、回顾,事务 事务具有A(原子性),C(一致性),I(隔离性),D(持久性) 一条独立的SQL语句是一个事务。例如:工资表中有1000条记录,“UPDATE 工资表 SET 工资=工资+200”,执行突然停电,1000条记录要么全修改,要么全不修改。 BEGIN TRANCommit TRAN中间的操作构成一个事务。 触发器 是一种特殊的存储过程。 有INSTEAD OF触发器和AFTER触发器两种。 当进行增删改操作时,先执行INSTEAD OF触发器,再进行约束验证,再执行AFTER触发器。,数据库原理与应用,第15讲 数据库的安全管理,提纲,重点 SQL Server的安全机制 添加登录用

2、户 添加数据库用户 管理角色与角色成员 为用户和角色分配权限 难点 对SQL Server中固定角色的理解 语句权限与对象权限的区别以及授权方法,1. SQL Server 的安全机制,11.1 SQL Server 的安全机制,1.1 SQL Server 的安全机制,数据访问安全的两项基本机制 (1)身份验证确认用户的账号是否有效、口令是否正确。 (2)访问许可指定用户有哪些操作权限。 概括起来,SQL Server的安全体系描述为: (1) 要连接到SQL Server,必须拥有安全帐号. (2) 要操作数据库,必须授权安全帐号访问数据库。 (3) 用户在数据库中能进行的操作由其所拥用的

3、权限决定,权限可以从其所属的角色继承,也可以单独被授予。 (4) 操作权限包括两大类:语句权限和数据库对象权限。,例:用户Tom要Sales数据库上对Employee表进行更新操作,所需经过的安全关。,可否登录 SQL Server?,是Sales数据库 的用户么?,有对Employee 表更新权限么?,权限可以单独分配给用户,也可分配给用户所属的角色,合法的Windows用户可以登录。合法的SQL Server用户,也可登录。,接受TOM的操作指令,1.2 SQL Server的两种身份验证模式,两种模式: (1)Windows身份验证模式。适用于能够提供有效身份验证的Windows操作系统

4、。 (2)混合身份验证模式。被授权的Windows用户和合法的SQL Server账号都可以登录。 两种模式的适用场合 (1)Windows 账号验证。当应用程序与SQL Server在同一台Windows服务器上或同一个工作组/域时,适合采用Windows身份验证。 (2) SQL Server账号验证。当应用程序运行在非Windows操作系统上,或者通过远程连接访问SQL Server。,1.3 设置SQL Server身份验证模式,通过管理平台来设置验证模式。 操作提示:在管理平台的对象资源管理器中,右键单击服务器,选择“属性”,打开 “服务器属性”窗口,选择“安全性”。,2. 登录账号

5、管理,通过身份验证并不代表能够访问数据库中的数据,用户只有获取访问数据库的权限,才能操作数据库对象,如:表、视图、存储过程等。,2.1 登录用户的作用和类型,作用 用户凭借登录名和口令连接到SQL Server实例。 类型: (1)Windows用户。给一个已经存在的Windows用户/组授权连接SQL Server。 【例】anwzf/weizy是一个用户,A401/Users是一个用户组。 (2)SQL Server登录用户。 【例】sa是SQL Server的一个内置用户,sa是systemadmin的缩写,即SQL Server系统管理员。,11.2 登录账号管理,2.2 登录用户管理

6、的任务和方法,登录账号管理的任务包括 授权登录,添加SQL Server用户。 方法 方法一:使用管理平台 操作提示:启动SQL Server管理平台,在对象资源管理器中分别展开“服务器”“安全性”“登录名”。 方法二:使用系统存储过程。,2.3 通过计算机管理建新用户,创建新用户weizy 新建登录名:anwzfweizy 登录。,(1),(2-2),(2-1),(3),2.3 通过计算机管理建新用户组,创建新用户组WL,其中有用户weizy_lxl 新建登录名:anwzfweizy_lxl 登录。,(1-1),(2-1),(3),(1-2),(2-2),2.3 管理登录用户的存储过程1(了

7、解),sp_grantlogin 授权Windows用户或组连接到SQL Server。 【例】授予Windows用户ANWZFweizy连接到SQL Server的权限。 EXEC sp_grantlogin ANWZFweizy 【例】授予本地组WL中的所有用户连接SQL Server的权限(说明:ANWZF关键字代替域名和计算机名) EXEC sp_grantlogin ANWZFwL,2.3 管理登录用户的存储过程-2(了解),(2) sp_addlongin 添加SQL SERVER登录用户。 注:若要登录成功,还要映射到某数据库,重启后台服务。 【例】添加新登录名为“ZG002”,

8、密码为“002”,默认数据库为“Sales”。 EXEC sp_addlogin ZG002,002,Sales 【例】添加没有密码和默认数据库的登录,登录名为“ZG003”。 EXEC sp_addlogin ZG003 注:有些系统会提示密码有效性验证失败。该密码不够复杂,不符合Windows 策略要求。 说明:在没有指定密码和默认数据库时,登录用户使用默认密码NULL和默认数据库master。,11.2.1 创建登录账户,(3) sp_helplogins 用于查看登录用户信息。 【例】查看所有登录用户信息。 EXEC sp_helplogins 【例】查看登录用户ZG002的信息。 E

9、XEC sp_helplogins ZG002,2.3 管理登录用户的存储过程-3(了解),11.2 登录账号管理,(4) sp_password 用于修改登录用户的口令。 语法格式为: sp_password old=old_password, new=new_password , loginame=login (5) sp_defaultdb 用于修改登录用户的默认数据库。 语法格式为: sp_defaultdb logname= login, defdb=databases 【例】 给已建的登录名ZG002修改密码,修改默认数据库设置为STUDENT 。 EXEC sp_password

10、 002,123,ZG002 EXEC sp_defaultdb ZG002,STUDENT,2.2 管理登录用户的存储过程-4(了解),11.2 登录账号管理,2.3 管理登录用户的存储过程-5(了解),(6) sp_revokelogin 撤销Windows用户/组的登录权限。 【例】收回Windows用/组ANWZFweizy/ ANWZFwl的登录权。 EXEC sp_revokelogin ANWZFweizy EXEC sp_revokelogin ANWZFwl (7)sp_droplogin 删除SQL Server登录用户。 【例】 删除SQL Server用户ZG002。

11、EXEC sp_droplogin ZG002 注:登录名删除,映射于student数据库的用户名ZG002依旧存在,不过登录 不成功。同一登录名可以用已有的数据库用户名映射。,3. 数据库用户的管理,3.1 数据库用户的作用,作用: 登录用户连接到SQL Server之后,如果要在某数据库中进行操作,必须是该数据库的数据库用户。通常,数据库用户名和登录名是相同的,但也可以设置成不相同。 【例】sa是一个登录名,但在数据库中,其用户名可能是dbo.,3.2 数据库用户管理的任务和方法,任务: 授权登录用户访问数据库、撤销授权 方法 方法一:使用管理平台。 操作提示:在其“对象资源管理器”面板中

12、依次展开“服务器”“数据库”“安全性”节点。右击选择其下的“用户”对象,选择“新建用户”,打开“数据库用户-新建”窗口。 方法二: 使用系统存储过程。,3.3 数据库用户管理的存储过程(了解),(1) sp_grantdbaccess 授权登录用户访问数据库。 【例】授权登录名ZG002访问当前数据库。 EXEC sp_grantdbaccess ZG002 (2)sp_revokedbaccess 撤销登录用户访问数据库的授权。 【例】在当前数据库中删除指定的用户。 EXEC sp_revokedbaccess ZG002 (3) sp_helpuser 查看用户信息 【例】 EXEC sp

13、_helpuser,11.3 数据库用户的管理,4. 角色管理,4.1 角色的作用和类型,第11章 数据库的安全管理,角色的作用 将用户加入角色,用户就具有该角色所拥有的权限。 同一数据库的用户可以属于多个角色,从而实现权限的组合。 角色可以进行嵌套,从而实现权限的继承。 角色的类型 固定角色。是SQL Server系统中预设的角色,这些角色不能被添加、修改和删除。包括固定服务器角色和固定数据库角色。 固定服务器角色。独立于各个数据库,具有预定义的服务器操作权限。 固定数据库角色。每个数据库中有,具有相同的预定义权限。 (2) 用户定义数据库角色。用于实现固定数据库角色所不能提供的权限组合。,

14、11.4.1 SQL Server角色的类型,固定服务器角色,11.4.1 SQL Server角色的类型,固定数据库角色,4.2 角色管理的任务和方法,任务: 对自定义的数据库角色,进行增、删、改、查。 对于角色(含固定角色和自定义角色)的成员,进行增、删、查。 方法: 方法一:使用管理平台。 操作提示:对于服务器角色成员的管理, 在 “服务器角色属性”里管理。对于数据库角色的管理,在某数据库上的 “数据库角色属性”里管理。 方法二:使用系统存储过程。,4.3 角色管理的存储过程(了解),(1) sp_addrole 用于添加自定义数据库角色。 【例】在Sales数据库中创建角色“role0

15、1” Use Sales GO EXEC sp_addrole role01 (2) sp_droprole 用于删除自定义数据库角色。 【例】在Sales数据库中,删除角色“role01” 。 USE Sales GO EXEC SP_droprole role01 (3) sp_helpdbfixedrole 查看固定数据库角色信息 【例】 EXEC sp_helpdbfixedrole db_owner (4) sp_helpsrvrole 用于查看固定服务器角色信息 【例】EXEC sp_helpsrvrole sysadmin,4.4 角色成员管理的存储过程-2(了解),(1)sp_

16、addsrvrolemember 用于向固定服务器角色添加成员。 【例】将登录用户ZG002添加为固定服务器角色sysadmin的成员。 EXEC sp_addsrvrolemember ZG002,sysadmin (2) sp_dropsrvrolemember 用于删除固定服务器角色的成员。 【例】从固定服务器角色sysadmin中删除登录用户ZG002。 EXEC sp_dropsrvrolemember ZG002,sysadmin (3) sp_addrolemember 用于向数据库角色添加成员。 【例】向数据库Sales添加Windows用户“anwzfweizy”。 USE Sales GO EXEC sp_addrolemember db_ddladmin, anwzfweizy GO (4) sp

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

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

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