资源描述
1第16章 SQL Server平安管理SQL Server 2000的平安机制SQL Server登录帐户管理数据库用户管理角色管理 权限管理2应知:应知:SQL SERVER 2000 的平安验证方式的平安验证方式登录帐号,数据库用户的作用登录帐号,数据库用户的作用角色的概念和作用角色的概念和作用应会:应会:登录帐号和用户的创建以及权限设置和登录帐号和用户的创建以及权限设置和撤销撤销角色创建和授权角色创建和授权应知应会应知应会3专业词汇专业词汇vAuthentication Mode 验证方式验证方式vSecurity 平安平安vLogin account 登录帐号登录帐号vUser 用户用户vRole 角色角色vObject permission 对象权限对象权限vStatement permission 语句权限语句权限vGrant 授权授权vRevoke 吊销吊销4SQL Server 2000的平安机制的平安机制操作系统的平安性SQL Server效力器的平安性数据库的平安性数据库对象的平安性5SQL Server验证方式验证方式nSQL Server两种验证方式两种验证方式n 1.仅仅Windows 验证验证n 2.SQL Server和和Windows的混合验证的混合验证n设置平安认证方式设置平安认证方式6问题问题1 赵教师当了赵教师当了g99402g99402班的班主任,他要能班的班主任,他要能查到全校的课程信息以及本班学生的选查到全校的课程信息以及本班学生的选课信息,如何让他有权查到这些信息。课信息,如何让他有权查到这些信息。?7平安管理平安管理一个用户要对某一个数据库进展操作一个用户要对某一个数据库进展操作,必需,必需同时满足两个条件:同时满足两个条件:能衔接到能衔接到SQL Server效力器衔接权效力器衔接权有执行该操作的权限访问权有执行该操作的权限访问权8SQL Server登录帐户管理登录帐户管理n必需有合法的登录账号才干建立与必需有合法的登录账号才干建立与SQL Server的衔接的衔接n一、运用一、运用SQL言语创建言语创建SQL Server登录帐户登录帐户n1、语法:、语法:nsp_addlogin 用户名用户名,密码密码,登录用户运登录用户运用的默许数据库用的默许数据库n【例】创建一个登录帐户:名为【例】创建一个登录帐户:名为logzhao,密,密码为码为01,运用的默许数据库为,运用的默许数据库为mydb1nEXEC sp_addlogin logzhao,01,mydb1另可以运用企业管理器创建登录帐户另可以运用企业管理器创建登录帐户9二、查看登录帐户二、查看登录帐户sp_helplogins三、修正登录帐户三、修正登录帐户sp_defaultdb,sp_defaultlauguage,sp_password四、删除登录帐户四、删除登录帐户1、语法:、语法:sp_droplogin 帐户名帐户名例:例:sp_droplogin logzhao10数据库用户管理数据库用户管理一、数据库用户名和登录名的关系一、数据库用户名和登录名的关系1、登录名是访问、登录名是访问SQL Server的通行证,但并不能访的通行证,但并不能访问效力器中的数据库;问效力器中的数据库;2、要访问特定的数据库必需求有用户名,用户名、要访问特定的数据库必需求有用户名,用户名的信息存放在该数据库的的信息存放在该数据库的sysusers表中,用户名没表中,用户名没有密码;有密码;3、数据库用户名是一个登录帐户在某个数据库中、数据库用户名是一个登录帐户在某个数据库中的映射;一个登录帐户可以同时与多个数据库发的映射;一个登录帐户可以同时与多个数据库发生关联;生关联;4、只需登录名创建完成后,才干为其创建数据库、只需登录名创建完成后,才干为其创建数据库用户名。用户名。11二、运用二、运用SQL语句创建数据库用户语句创建数据库用户1、语法:、语法:sp_grantdbaccess 登录名登录名,用户名用户名【例】在数据库中创建用户【例】在数据库中创建用户dbuserzhao,对应的,对应的登录帐号是登录帐号是logzhao。use mydb1 exec sp_grantdbaccess logzhao,dbuserzhao 2、阐明:、阐明:1在执行本存储过程前,登录名必需曾经在执行本存储过程前,登录名必需曾经存在;存在;2普通情况下,登录名和用户名一样,所普通情况下,登录名和用户名一样,所以第二个参数通常省略;以第二个参数通常省略;3在执行本存储过程前,首先确认当前运在执行本存储过程前,首先确认当前运用的数据库是要添加用户的数据库;用的数据库是要添加用户的数据库;12三、运用三、运用SQL语句查看数据库用户语句查看数据库用户 sp_helpuser四、运用四、运用SQL语句删除数据库用户语句删除数据库用户语法:语法:sp_revokedbaccess 用户名用户名例:例:sp_revokedbaccess dbuserzhao五、两个特殊数据库用户五、两个特殊数据库用户 1.dbo 2.guest13一、权限一、权限Permission类型类型:权限有三种类型:默许权限、对象权限和语句权限权限有三种类型:默许权限、对象权限和语句权限。1、默许权限:也称为暗指权限。当数据库用户被、默许权限:也称为暗指权限。当数据库用户被分配到某一角色后,这些数据库用户就获得了该角分配到某一角色后,这些数据库用户就获得了该角色的默许权限。色的默许权限。2、对象权限:用户拥有对数据库对象的访问和操、对象权限:用户拥有对数据库对象的访问和操作权限。共分为作权限。共分为5种:种:1查询查询SELECT:拥有对某个表的访问权限:拥有对某个表的访问权限。2插入插入INSERT:可以向表中插入数据。:可以向表中插入数据。3修正修正UPDATE:可以对表中的数据进展更:可以对表中的数据进展更新。新。4删除删除DELETE:可以删除表中的数据。:可以删除表中的数据。5执行执行EXECUTE:可以执行存储过程。:可以执行存储过程。权限管理权限管理143、语句权限:通常授予需求在数据库中创建或修正对象、执、语句权限:通常授予需求在数据库中创建或修正对象、执行数据库和事务日志备份的用户。假设一个用户获得了某个行数据库和事务日志备份的用户。假设一个用户获得了某个语句的权限,该用户就具有了执行该语句的权益。共包含语句的权限,该用户就具有了执行该语句的权益。共包含9种种权限:权限:1BACKUP DATABASE:备份数据库;:备份数据库;2BACKUP LOG:备份事务日志;:备份事务日志;3CREATE DATABASE:创建新的数据库;:创建新的数据库;4CREATE DEFAULT:创建缺省;:创建缺省;5CREATE PROCEDURE:创建存储过程;:创建存储过程;6CREATE FUNCTION:创建用户定义函数;:创建用户定义函数;7CREATE RULE:创建规那么;:创建规那么;8CREATE TABLE:创建表;:创建表;9CREATE VIEW:创建视图。:创建视图。15二、权限的验证过程:二、权限的验证过程:1、用户执行某项操作,相应的、用户执行某项操作,相应的SQL语句经过网络语句经过网络发送到发送到SQL Server效力器;效力器;2、SQL Server效力器收到效力器收到SQL语句,检查该用户能语句,检查该用户能否具有对操作对象的权限权限及执行这些语句的否具有对操作对象的权限权限及执行这些语句的权限;权限;3、假设、假设SQL Server效力器权限验证经过,效力器权限验证经过,SQL Server系统执行相应的操作,否那么,系统前往出系统执行相应的操作,否那么,系统前往出错信息。错信息。16三、管理权限:三、管理权限:1、管理权限的用户:、管理权限的用户:1系统管理员:有系统管理员:有sa帐户或具有一样权限的用户帐户或具有一样权限的用户;2数据库属主:当前数据库的拥有者;数据库属主:当前数据库的拥有者;3对象的属主:当前对象的拥有者;对象的属主:当前对象的拥有者;4数据库用户:不属于以上用户的其它用户。数据库用户:不属于以上用户的其它用户。2、权限的形状:、权限的形状:1授予权限:授予允许用户帐户执行某些操作的授予权限:授予允许用户帐户执行某些操作的语句权限和对象权限;语句权限和对象权限;2制止权限:制止某些用户或角色的权限。制止权限:制止某些用户或角色的权限。3吊销权限:废除以前授予或制止的权限。吊销权限:废除以前授予或制止的权限。授予、制止和吊销权限只能在当前数据库中进展。授予、制止和吊销权限只能在当前数据库中进展。173、用、用SQL语句授予语句权限:语句授予语句权限:1语法:语法:grant 权限权限 to 用户用户2例:例:grant create table,create view to dbuserzhao 4、用、用SQL语句制止语句权限:语句制止语句权限:1语法:语法:deny 权限权限 to 用户用户2例:例:deny create table to dbuserzhao 185、用、用SQL语句授予对象权限语句授予对象权限1语法:语法:grant 权限权限 ON 数据库对象数据库对象 TO 用户用户 WITH GRANT OPTION2例:例:grant select on course to dbuserzhao6、用、用SQL语句制止对象权限语句制止对象权限1语法:语法:deny 权限权限 ON 数据库对象数据库对象 TO 用户用户2例:例:deny select on course to dbuserzhao197、用、用SQL语句吊销对象权限:语句吊销对象权限:1语法:语法:revoke 权限权限 on 数据库对象数据库对象 from 用户用户 例:例:revoke select on student from dbuserzhao 8、用、用SQL语句吊销语句权限:语句吊销语句权限:1语法:语法:revoke 权限权限 from 用户用户 例:例:revoke create table from dbuserzhao20问题问题1处理方法处理方法处理赵教师能查询本班学生的选课信息处理赵教师能查询本班学生的选课信息Create view g99402xk asSelect sname,cno,gradefrom student,scWhere student.sno=sc.sno and student.clno=g99402步骤步骤1.创建创建g99402班的选课信息视图班的选课信息视图21步骤步骤2.把访问该视图的权限授予赵教师把访问该视图的权限授予赵教师步骤步骤3.验证赵教师能否访问视图以验证赵教师能否访问视图以logzhao登录登录grant select on g99402xk to dbuserzhaoSelect*from g99402xk22 假设学校新增假设学校新增10个班主任,他们都要在学生表个班主任,他们都要在学生表中添加、修正和删除学生信息,要各个设置权中添加、修正和删除学生信息,要各个设置权限,方便吗?限,方便吗?问题问题2?23一、角色一、角色 SQL Server 2000中,经过对一样权限的用户进展中,经过对一样权限的用户进展分组,然后再对组进展授权的方式来管理用户的分组,然后再对组进展授权的方式来管理用户的权限。而组是经过角色来实现的。角色分为:效权限。而组是经过角色来实现的。角色分为:效力器角色和数据库角色。力器角色和数据库角色。1、效力器角色:是效力器级的对象,只能包含登、效力器角色:是效力器级的对象,只能包含登录名。录名。2、数据库角色:是数据库级的对象,只能包含、数据库角色:是数据库级的对象,只能包含用户名。用户名。角色角色24二、固定效力器角色二、固定效力器角色 1、固定效力器角色及功能、固定效力器角色及功能sp_helpsrvrole可阅读固定效可阅读固定效力器角色力器角色角色功能sysadmin能够执行任何任务securityadmin负责系统的安全管理,能够管理和审核服务器登录名serveradmin能够配置服务器的设置setupadmin能够安装、修复processadmin能够管理SQL Server系统的进程diskadmin能够管理磁盘文件dbcreator能够创建和修改数据库bulkadmin能够执行大容量数据的插入数据操作252、为登录帐户指定效力器角色、为登录帐户指定效力器角色1语法:语法:sp_addsrvrolemember 登录名登录名,效力器角色名效力器角色名 sp_addsrvrolemember lily,sysadmin3、为登录帐户收回效力器角色、为登录帐户收回效力器角色1语法:语法:sp_dropsrvrolemember 登录名登录名,效力器角色名效力器角色名 sp_dropsrvrolemember lily,sysadmin26三、数据库角色三、数据库角色1、固定数据库角色及功能、固定数据库角色及功能角色功能db_owner数据库属主,在特定数据库内具有全部权限db_accessadmin能够添加、删除数据库用户和角色db_securityadmin可以管理全部权限、对象所有权、角色和角色成员资格db_ddladmin能够添加、删除和修改数据库对象db_backupoperator能够备份和恢复数据库db_datareader能够从任意表中读出数据db_datawriter能够对任意表插入、修改和删除数据db_denydatareader不允许从表中读数据db_denydatawriter不允许改变表中的数据 另见另见P242 特殊的数据库角色特殊的数据库角色public272、为数据库角色添加成员、为数据库角色添加成员1语法:语法:sp_addrolemember 角色名角色名,用户名用户名2例:例:sp_addrolemember db_datareader,GUEST3、为数据库角色删除成员、为数据库角色删除成员1语法:语法:sp_droprolemember 角色名角色名,用户名用户名2例:例:sp_droprolemember db_datareader,GUEST4、查看固定数据库角色:、查看固定数据库角色:sp_helpdbfixedrole28步骤步骤1:创建班主任角色:创建班主任角色 use mydb1 EXEC sp_addrole m_role步骤步骤2:对角色授权:对角色授权步骤步骤3:创建各班主任登录:创建各班主任登录 sp_addlogin logteac1,01 sp_addlogin logteac2,02处理问题处理问题 grant select,delete,update,insert on student to m_role29步骤步骤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)30n删除登录、用户、角色删除登录、用户、角色n sp_droplogin n sp_dropusern sp_droprole企业管理器管理角色创建角色、为角色授企业管理器管理角色创建角色、为角色授权、添加用户等权、添加用户等删除删除31n登录管理登录管理使得可以连到数据库效力器使得可以连到数据库效力器n用户管理用户管理使得可以连到数据库使得可以连到数据库n权限管理权限管理对用户授权对用户授权n角色管理角色管理权限的集合权限的集合本章小结本章小结
展开阅读全文