数据库第16章SQLServer安全管理.ppt

上传人:牧羊曲112 文档编号:6296532 上传时间:2023-10-14 格式:PPT 页数:31 大小:225KB
返回 下载 相关 举报
数据库第16章SQLServer安全管理.ppt_第1页
第1页 / 共31页
数据库第16章SQLServer安全管理.ppt_第2页
第2页 / 共31页
数据库第16章SQLServer安全管理.ppt_第3页
第3页 / 共31页
数据库第16章SQLServer安全管理.ppt_第4页
第4页 / 共31页
数据库第16章SQLServer安全管理.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《数据库第16章SQLServer安全管理.ppt》由会员分享,可在线阅读,更多相关《数据库第16章SQLServer安全管理.ppt(31页珍藏版)》请在三一办公上搜索。

1、第16章 SQL Server安全管理,SQL Server 2000的安全机制SQL Server登录帐户管理数据库用户管理角色管理 权限管理,应知:SQL SERVER 2000 的安全验证模式登录帐号,数据库用户的作用角色的概念和作用应会:登录帐号和用户的创建以及权限设置和撤销角色创建和授权,应知应会,专业词汇,Authentication Mode 验证模式Security 安全Login account 登录帐号User 用户Role 角色Object permission 对象权限Statement permission 语句权限Grant 授权Revoke 撤消,SQL Serv

2、er 2000的安全机制,操作系统的安全性SQL Server服务器的安全性数据库的安全性数据库对象的安全性,SQL Server验证模式,SQL Server两种验证模式 1.仅Windows 验证 2.SQL Server和Windows的混合验证设置安全认证模式,问题1,赵老师当了g99402班的班主任,他要能查到全校的课程信息以及本班学生的选课信息,如何让他有权查到这些信息。,?,安全管理,一个用户要对某一个数据库进行操作,必须同时满足两个条件:能连接到SQL Server服务器(连接权)有执行该操作的权限(访问权),SQL Server登录帐户管理,必须有合法的登录账号才能建立与SQ

3、L Server的连接一、使用SQL语言创建SQL Server登录帐户1、语法:sp_addlogin 用户名,密码,登录用户使用的默认数据库【例】创建一个登录帐户:名为logzhao,密码为01,使用的默认数据库为mydb1EXEC sp_addlogin logzhao,01,mydb1,另可以使用企业管理器创建登录帐户,二、查看登录帐户sp_helplogins三、修改登录帐户sp_defaultdb,sp_defaultlauguage,sp_password四、删除登录帐户1、语法:sp_droplogin 帐户名例:sp_droplogin logzhao,数据库用户管理,一、数

4、据库用户名和登录名的关系1、登录名是访问SQL Server的通行证,但并不能访问服务器中的数据库;2、要访问特定的数据库必须要有用户名,用户名的信息存放在该数据库的sysusers表中,用户名没有密码;3、数据库用户名是一个登录帐户在某个数据库中的映射;一个登录帐户可以同时与多个数据库发生关联;4、只有登录名创建完成后,才能为其创建数据库用户名。,二、使用SQL语句创建数据库用户1、语法:sp_grantdbaccess 登录名,用户名【例】在数据库中创建用户dbuserzhao,对应的登录帐号是logzhao。use mydb1 exec sp_grantdbaccess logzhao,

5、dbuserzhao 2、说明:(1)在执行本存储过程前,登录名必须已经存在;(2)一般情况下,登录名和用户名相同,所以第二个参数通常省略;(3)在执行本存储过程前,首先确认当前使用的数据库是要增加用户的数据库;,三、使用SQL语句查看数据库用户 sp_helpuser四、使用SQL语句删除数据库用户语法:sp_revokedbaccess 用户名例:sp_revokedbaccess dbuserzhao五、两个特殊数据库用户 1.dbo 2.guest,一、权限(Permission)类型:权限有三种类型:默认权限、对象权限和语句权限。1、默认权限:也称为暗指权限。当数据库用户被分配到某一

6、角色后,这些数据库用户就获得了该角色的默认权限。2、对象权限:用户拥有对数据库对象的访问和操作权限。共分为5种:(1)查询(SELECT):拥有对某个表的访问权限。(2)插入(INSERT):可以向表中插入数据。(3)修改(UPDATE):可以对表中的数据进行更新。(4)删除(DELETE):可以删除表中的数据。(5)执行(EXECUTE):可以执行存储过程。,权限管理,3、语句权限:通常授予需要在数据库中创建或修改对象、执行数据库和事务日志备份的用户。如果一个用户获得了某个语句的权限,该用户就具有了执行该语句的权力。共包含9种权限:(1)BACKUP DATABASE:备份数据库;(2)BA

7、CKUP LOG:备份事务日志;(3)CREATE DATABASE:创建新的数据库;(4)CREATE DEFAULT:创建缺省;(5)CREATE PROCEDURE:创建存储过程;(6)CREATE FUNCTION:创建用户定义函数;(7)CREATE RULE:创建规则;(8)CREATE TABLE:创建表;(9)CREATE VIEW:创建视图。,二、权限的验证过程:1、用户执行某项操作,相应的SQL语句通过网络发送到SQL Server服务器;2、SQL Server服务器收到SQL语句,检查该用户是否具有对操作对象的权限权限及执行这些语句的权限;3、如果SQL Server服

8、务器权限验证通过,SQL Server系统执行相应的操作,否则,系统返回出错信息。,三、管理权限:1、管理权限的用户:(1)系统管理员:有sa帐户或具有相同权限的用户;(2)数据库属主:当前数据库的拥有者;(3)对象的属主:当前对象的拥有者;(4)数据库用户:不属于以上用户的其它用户。2、权限的状态:(1)授予权限:授予允许用户帐户执行某些操作的语句权限和对象权限;(2)禁止权限:禁止某些用户或角色的权限。(3)撤消权限:废除以前授予或禁止的权限。授予、禁止和撤消权限只能在当前数据库中进行。,3、用SQL语句授予语句权限:(1)语法:grant 权限 to 用户(2)例:grant creat

9、e table,create view to dbuserzhao 4、用SQL语句禁止语句权限:(1)语法:deny 权限 to 用户(2)例:deny create table to dbuserzhao,5、用SQL语句授予对象权限(1)语法:grant 权限 ON 数据库对象 TO 用户 WITH GRANT OPTION(2)例:grant select on course to dbuserzhao6、用SQL语句禁止对象权限(1)语法:deny 权限 ON 数据库对象 TO 用户(2)例:deny select on course to dbuserzhao,7、用SQL语句撤消

10、对象权限:(1)语法:revoke 权限 on 数据库对象 from 用户 例:revoke select on student from dbuserzhao 8、用SQL语句撤消语句权限:(1)语法:revoke 权限 from 用户 例:revoke create table from dbuserzhao,问题1解决方法,解决赵老师能查询本班学生的选课信息,Create view g99402xk asSelect sname,cno,gradefrom student,scWhere student.sno=sc.sno and student.clno=g99402,步骤1.创建g

11、99402班的选课信息视图,步骤2.把访问该视图的权限授予赵老师,步骤3.验证赵老师能否访问视图(以logzhao登录),grant select on g99402xk to dbuserzhao,Select*from g99402xk,假如学校新增10个班主任,他们都要在学生表中添加、修改和删除学生信息,要各个设置权限,方便吗?,问题2,?,一、角色 SQL Server 2000中,通过对相同权限的用户进行分组,然后再对组进行授权的方式来管理用户的权限。而组是通过角色来实现的。角色分为:服务器角色和数据库角色。1、服务器角色:是服务器级的对象,只能包含登录名。2、数据库角色:是数据库级

12、的对象,只能包含用户名。,角色,二、固定服务器角色 1、固定服务器角色及功能(sp_helpsrvrole可浏览固定服务器角色),2、为登录帐户指定服务器角色(1)语法:sp_addsrvrolemember 登录名,服务器角色名 sp_addsrvrolemember lily,sysadmin3、为登录帐户收回服务器角色(1)语法:sp_dropsrvrolemember 登录名,服务器角色名 sp_dropsrvrolemember lily,sysadmin,三、数据库角色1、固定数据库角色及功能,(另见P242 特殊的数据库角色public),2、为数据库角色添加成员(1)语法:sp

13、_addrolemember 角色名,用户名(2)例:sp_addrolemember db_datareader,GUEST3、为数据库角色删除成员(1)语法:sp_droprolemember 角色名,用户名(2)例:sp_droprolemember db_datareader,GUEST4、查看固定数据库角色:sp_helpdbfixedrole,步骤1:创建班主任角色 use mydb1 EXEC sp_addrole m_role,步骤2:对角色授权,步骤3:创建各班主任登录,sp_addlogin logteac1,01 sp_addlogin logteac2,02,解决问题,

14、grant select,delete,update,insert on student to m_role,步骤5:使用户成为角色成员 sp_addrolemember m_role,dbuser1 sp_addrolemember m_role,dbuser2,步骤6:验证插入权限,步骤4:创建各登录对应的用户,sp_grantdbaccess logteac1,dbuser1 sp_grantdbaccess logteac2,dbuser2,insert into student(sno,sname,ssex,clno,sdept)values(99002,holly,女,g99402,IS),删除登录、用户、角色 sp_droplogin sp_dropuser sp_droprole,企业管理器管理角色(创建角色、为角色授权、添加用户等),删除,登录管理使得可以连到数据库服务器用户管理使得可以连到数据库权限管理对用户授权角色管理权限的集合,本章小结,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号