数据库的安全性课件.ppt

上传人(卖家):晟晟文业 文档编号:4950855 上传时间:2023-01-27 格式:PPT 页数:106 大小:2.19MB
下载 相关 举报
数据库的安全性课件.ppt_第1页
第1页 / 共106页
数据库的安全性课件.ppt_第2页
第2页 / 共106页
数据库的安全性课件.ppt_第3页
第3页 / 共106页
数据库的安全性课件.ppt_第4页
第4页 / 共106页
数据库的安全性课件.ppt_第5页
第5页 / 共106页
点击查看更多>>
资源描述

1、1主讲教师 毛一梅2010.012问题的提出数据库的一大特点是数据可以共享数据共享必然带来数据库的安全性问题数据库系统中的数据共享不能是无条件的共享例:军事秘密、国家机密、新产品实验数据、市场需求分析、市场营销策略、销售计划、客户档案、医疗档案、银行储蓄数据数据库安全性数据库安全性3一、计算机安全性机制n数据安全性是指保护数据库以防止非法使用造成的数据泄露、更改或破坏。n安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,且为许多最终用户直接共享,因而其安全性问题尤为突出。4计算机系统中,安全措施是一级一级层层设置计算机系统的安全模型 5n在安全模

2、型中,用户标识与鉴定是系统提供的最外层安全保护措施。只有在DBMS成功注册了的人员才是该数据库的用户,才可以访问数据库。n用户标识与鉴定解决了检查用户是否合法的问题,但是合法用户的存取权限不尽相同。数据安全性的核心问题是DBMS的存取控制机制,确保进入系统的用户只能进行合法的操作。6数据库中的用户按其操作权限可分为三类:n数据库系统管理员:在数据库中具有全部的权限,当用户以系统管理员身份登录进行操作时,系统不对其权限进行检查。n数据库对象拥有者:创建数据库对象的用户即为数据库对象的拥有者。数据库对象拥有者对其所拥有的对象具有一切权限。n普通用户:只具有授予用户的对数据库中数据的增加、删除、更改

3、和查询的权限。n操作系统一级也有自己的保护措施。数据最后还可以以加密的形式存储到数据库中。7二、SQL Server 2005的安全策略nSQL Server 2005提供的安全策略可以划分为以下4个等级:客户机操作系统的安全性SQL Server的登录安全性数据库的安全性数据库对象的安全性8SQL Server认证模式n如果用户要访问SQL Server时,需要经过两个认证过程:一是身份验证,只验证用户是否有连接到SQL Server数据库服务器的资格;二是权限验证,检验用户是否有对指定数据库的访问权,并且当用户操作数据库中的数据或对象时验证用户是否有相应的操作权限。9两种验证模式:n在验证

4、阶段,系统对登录用户进行验证。nSQL Server和Windows是结合在一起的,因此,产生了两种验证模式:Windows身份验证模式和混合验证模式。10Windows身份验证模式n在Windows身份验证模式下,用户必须首先登录到Windows中,然后再登录到SQL Server。而且用户登录到SQL Server时,只需选择Windows身份验证模式,而无需再提供登录帐号和密码,系统会从用户登录到Windows时提供的用户名和密码中查找当前用户的登录信息,以判断该用户是否是SQL Server的合法用户。11注意:注意:如果用户在登录SQL Server时未给出用户登录名,则SQL Se

5、rver将使用Windows验证模式。如果SQL Server被设置为Windows验证模式,则用户在登录时即使输入一个具体的登录名时,SQL Server也将忽略该登录名。12混合验证模式。n混合验证模式表示SQL Server接受Windows授权用户和SQL Server授权用户。在该认证模式下,用户在连接SQL Server时必须提供登录名和密码,然后系统确定用户帐号在Winwods操作系统下是否可信,对于可信连接用户,系统直接采用Windows身份验证机制,否则采用SQL Server验证机制。nSQL Server验证机制是系统自己执行验证处理,它通过与系统表syslogins中信

6、息比较,检查输入的登录帐号是否已存在且密码是否正确。如果匹配,则表明登录成功,否则身份验证失败,用户将收到错误信息。13注意注意nWindows操作系统的用户既可以使用Windows认证,也可以使用SQL Server验证。n若不是Windows操作系统的用户只能使用SQL Server验证。14验证模式的设置验证模式的设置 n步骤步骤1:打开“SQL Server Management Studio”集成环境,在“对象资源管理器”窗口中用鼠标右击服务器,在弹出的快捷菜单中选择【属性】选项,打开【服务器属性】对话框;n步骤步骤2:在【服务器属性】对话框中,选择【安全性】选项。1516三、登录帐

7、号和用户帐号的管理n登录服务器的登录帐号,也称登录名;n操作数据库的用户帐号。n登录帐号是指能登录到SQL Server服务器的帐号,属于服务器的层面,本身并不能让用户访问服务器中的数据库。n如果登录服务器的用户要访问数据库时必须拥有用户帐号。17n在安装SQL Server后,系统默认创建两个登录帐号,即sa帐号和服务器帐号。n其中sa是超级管理员帐号,允许SQL Server的系统管理员登录。n尽管如此,在实际的使用过程中还需要用户根据应用需要对登录帐户进行必要的管理。181、创建登录帐号n(1)利用“对象资源管理器”创建登录帐号n(2)利用T-SQL语句创建登录帐号19(1)利用“对象资

8、源管理器”创建登录帐号n在“对象资源管理器”中,逐级展开“服务器”【安全性】【登录名】,右击【登录名】选择新建登录名20例例1,利用利用“对象资源管理器对象资源管理器”创建登录帐号创建登录帐号tch_admin,密码为密码为myteacher,默认数据库为默认数据库为teachingData步骤步骤1:启动“Microsoft SQL Server Management Studio”集成环境,在“对象资源管理器”中,逐级展开“服务器”【安全性】【登录名】选项;步骤步骤2:右击【登录】选项,在弹出的快捷菜单中选择【新建登录名】选项,打开【登录名新建】对话框。2122n步骤步骤3:在【登录名】右

9、侧的文本框中输入要创建的登录帐号(如stu_admin),若选择“Windows身份验证”,可以通过单击右侧的【搜索】按钮来查找并添加Windows操作系统中的用户名称;若选择“SQL Server身份验证”,则需在【密码】和【确认密码】文本框中输入登录时采用的密码。n步骤步骤4:在【默认数据库】下拉列表中选择该登录帐号对应的默认使用的数据库,选择“TeachingData”;在【默认语言】下拉列表中选择登录后使用的默认语言,一般采用默认值。然后,单击【确定】按钮即可新建一个登录帐号。23(2)利用T-SQL语句创建登录帐号CREATE LOGIN login_name WITH PASSWO

10、RD=password,|FROM WINDOWS WITH ,24参数说明nlogin_name:指定创建的登录帐号。如果从Windows域帐户映射login_name,则 login_name 必须用方括号 括起来。npassword:仅适用于SQL Server登录帐号,指定正在创建的登录帐号的密码。nsid:仅适用于 SQL Server 登录帐号。指定新 SQL Server 登录帐号的 GUID。如果未选择此选项,则 SQL Server 将自动指派 GUID。ndatabase:指定将指派给登录帐号的默认数据库,若此项缺省,默认数据库将设置为 master。nlanguage:指

11、定将指派给登录帐号的默认语言。若此选项缺省,则默认语言将设置为服务器的当前默认语言。nWINDOWS:指定将登录帐号映射到 Windows 登录名。25例2,n在SQL Server服务器上,创建stu_admin登录帐号,密码为123的,默认数据库为teachingData。CREATE LOGIN stu_admin WITH PASSWORD=123,DEFAULT_DATABASE=TeachingData26注意注意n虽然SQL Server 2005也提供了系统存储过程sp_grantlogin和sp_addlogin创建登录帐号,但由于后续的 SQL Server版本将取消此项功

12、能。因此,应避免在新的开发工作中使用该功能。272、创建数据库的用户帐号创建数据库的用户帐号 n(1)利用“对象资源管理器”创建用户帐号n(2)利用T-SQL语句创建数据库的用户帐号28(1)利用“对象资源管理器”创建用户帐号n在“对象资源管理器”窗口逐级展开“服务器”【数据库】“TeachingData”【安全性】【用户】,右击【用户】选择“新建用户”命令。29例3,n在“TeachingData”数据库中,创建一个stu_admin登录帐号下的“U1”用户,具体操作步骤为:n步骤步骤1:启动“Microsoft SQL Server Management Studio”管理器,在“对象资源

13、管理器”窗口逐级展开“服务器”【数据库】“TeachingData”【安全性】【用户】。n步骤步骤2:在【用户】项右击鼠标,在弹出的快捷菜单中选择【新建用户】选项,打开【数据库用户】对话框,30n步骤步骤3:在【用户名】右侧文本框中输入新建的用户名U1;在【登录名】文本框中直接输入已存在的登录帐号stu_admin,或单击【登录名】文本框右侧的【】按钮,选择登录帐号stu_admin。n步骤步骤5:单击【确定】按钮即可完成用户帐号的创建。3132(2)利用T-SQL语句创建数据库的用户帐号n向当前数据库添加新的用户帐号,也可使用CREATE USER语句来实现。其语法格式为:CREATE US

14、ER user_name FOR|FROM LOGIN login_name|WITHOUT LOGIN 33参数说明nuser_name:指定在此数据库中用于识别该用户的名称。nlogin_name:指定要创建数据库用户帐号的 SQL Server 登录帐号。login_name 必须是服务器中有效的登录帐号。nWITHOUT LOGIN:指定不应将用户映射到现有登录帐号。34例4,n在TeachingData数据库中为登录帐号tch_admin创建用户帐号,并取名为U2。USE TeachingData;CREATE USER U2 FOR LOGIN tch_admin35注意:注意:(

15、1)如果省略 FOR LOGIN,则新的数据库用户将被映射到同名的 SQL Server 登录名。(2)不能使用 CREATE USER 创建 guest 用户,因为每个数据库中均已存在 guest 用户。可以通过授予guest 用户 CONNECT 权限来启用该用户。363、管理登录帐号和用户帐号利用“对象资源管理器”管理利用T-SQL语句管理 37(1)利用“对象资源管理器”管理登录帐户n查看:启动“Microsoft SQL Server Management Studio”管理器,在“对象资源管理器”窗口逐级展开“服务器”【安全性】【登录名】。n修改属性:在对象资源管理器中右击需要修改

16、帐号属性的登录名。n删除:右击登录名,选择【删除】命令。38(2)利用“对象资源管理器”查看和删除用户帐号n查看:查看:启动“Microsoft SQL Server Management Studio”管理器,在“对象资源管理器”窗口逐级展开“服务器”【数据库】【用户数据库】(如TeachingData)【安全性】【用户】。即可看到当前数据库的所有用户帐号。n步骤步骤2:右击欲删除的用户名,在弹出的快捷菜单中选择【删除】选项,在打开的【删除对象】对话框中单击【确定】按钮即可。39(3)利用T-SQL语句管理利用T-SQL语句查看服务器的登录帐号n使用sp_helplogins系统存储过程可以

17、查看指定的登录帐号信息和相关用户帐号的信息。其语法格式为:sp_helplogins login_namen参数说明:login_name:指定要查看的登录名。login_name的数据类型为 sysname,默认值为 NULL。如果指定该参数,则 login_name必须存在。如果未指定 login,则返回当前数据库的所有登录帐号的信息。40说明:说明:n在该语句的结果集中将返回两个报告,第一个报告包含指定的登录帐号信息,第二个报告包含与登录帐号相关联的用户帐号信息。41利用T-SQL语句修改服务器的登录帐号格式:ALTER LOGIN login_name ENABLE|DISABLE|W

18、ITH ,.42参数说明nlogin_name:指定正在更改的 SQL Server 登录帐号。nENABLE|DISABLE:启用或禁用此登录帐号。npassword:指定正在更改的登录帐号的密码,仅适用于SQL Server登录帐号。noldpassword:要指派新密码的登录帐号的当前密码,仅适用于SQL Server登录帐号。ndatabase:指定将指派给登录帐号的默认数据库。nlanguage:指定将指派给登录帐号的默认语言。nlogin_name:正在重命名的登录帐号的新名称。SQL Server 登录的新名称不能包含反斜杠字符()。43例5禁用stu_admin登录帐号。nAL

19、TER LOGIN stu_admin DISABLE44例6n启用stu_admin登录帐号,并将帐号的登录密码更改为111222。ALTER LOGIN stu_admin ENABLE;ALTER LOGIN stu_admin WITH PASSWORD=11122245例7,将stu_admin登录帐号称更改为user1。ALTER LOGIN stu_admin WITH NAME=user146利用T-SQL语句删除服务器的登录帐号n语法格式:DROP LOGIN login_namen其中,login_name 是指定要删除的登录帐号。47例8,n将user1登录帐号删除。DR

20、OP LOGIN user1n注意:注意:不能删除正在使用的登录名,也不能删除拥有任何安全对象、服务器级别对象或 SQL 代理作业的登录名。48利用T-SQL语句查看数据库的用户帐号n使用sp_helpuser系统存储过程可以查看有关当前数据库中的用户帐号信息。其语法格式为:sp_helpuser security_account n参数说明:security_account:当前数据库中数据库用户帐号或数据库角色的名称。security_account 必须存在于当前数据库中。security_account 的数据类型为 sysname,默认值为 NULL。如果未指定 security_a

21、ccount,则 sp_helpuser返回当前数据库主体的信息。49利用T-SQL语句修改数据库的用户帐号n语法格式:ALTER USER user_name WITH ,.n n参数说明:user_name:指定在此数据库中用于识别该用户的名称。new_user_name:指定此用户的新名称,且不存在于在当前数据库。schema_name:指定服务器在解析此用户的对象名称时将搜索的第一个架构。50例9,n将数据库登录用户U1的名称更改为user_stu。ALTER USER U1 WITH NAME=user_stu51利用T-SQL语句删除数据库的用户帐号n语法格式:DROP USER

22、user_name52比较登录帐户管理登录帐户管理用户帐户管理功能命令功能命令创建登录帐户CREATE LOGIN创建登录帐户CREATE USER禁用登录帐户ALTER LOGINDISABLE禁用用户帐户ALTER USERDISABLE删除登录帐户DROP LOGIN删除用户帐户DROP USER修改登录帐户ALTER LOGIN修改用户帐户ALTER USER查看登录帐户sp_helplogins查看用户帐户sp_helpuser53四、权限管理四、权限管理n当用户成为指定数据库中的合法用户之后,除了具有一些系统表的查询权之外,对数据库中的数据和对象并不具有任何操作权限,因此,接下来就

23、需要为数据库中的用户帐号授予数据库数据及对象的操作权限。54(一)(一)SQL Server权限分类权限分类n对象权限n语句权限551、对象权限n对象权限是针对表、视图和存储过程而言的,是指用户对数据库对象中的数据能够执行哪些操作。n例如当用户U1要成功修改StuInfo表中的数据,前提是用户U1已获得StuInfo表的UPDATE权限。56对象权限表权限描述SELECT可以查询表、视图中的数据INSERT可以向表中插入行UPDATE可以在表中修改表中的数据DELETE可以从表中删除行EXECUTE可以执行存储过程ALTER可以修改表的属性REFERENCES可以通过外键引用其他表TAKE O

24、WNERSHIP可以取得表的所有权57n其中SELECT、INSERT、UPDATE和DELETE权限可以应用到整个表或视图中;nSELECT和UPDATE权限还可以有选择地应用到表或视图中的指定列上。582.语句权限语句权限n语句权限是指用户是否具有权限来执行某一语句,这些语句通常是一些具有管理性的操作,例如创建表。n这类语句的特点是在语句执行前操作的对象并不存在于数据库中,所以将其归为语句权限。59语句权限表 权限描述CREATE DATEBASE创建数据库CREATE TABLE创建表CREATE VIEW创建视图CREATE PROCEDURE创建存储过程CREATE RULE创建规则

25、CREATE DEFAULT创建默认BACKUP DATABASE备份数据库BACKUP LOG备份事务日志604.5.2权限管理操作:n授予n收回n拒绝访问61(二)权限管理的操作方法n利用“对象资源管理器”n使用T-SQL命令语句621、利用“对象资源管理器”-以给“U1”用户授予StuInfo表的SELECT、UPDATE或REFERENCE权限为例。n步骤步骤1:启动“Microsoft SQL Server Management Studio”管理器,在“对象资源管理器”窗口逐级展开“服务器”【数据库】【用户数据库】(如TeachingData)【安全性】【用户】,列出当前数据库的所

26、有用户。n步骤步骤2:右击要设置权限的用户帐号,在弹出的快捷菜单中选择【属性】选项,打开【数据库用户】对话框。n步骤步骤3:在上述对话框的【选择页】中单击【安全对象】。n步骤步骤4:单击【添加】按钮,打开【添加对象】对话框。在对话框中选取“特定对象”单选按钮。63步骤步骤5:单击【确定】按钮,打开【选择对象】对话框。单击【对象类型】按钮选择操作的对象类型“表”,单击【浏览】按钮选择操作对象的名称“StuInfo”。64n步骤步骤6:单击【确定】按钮后,返回到【数据库用户-安全对象】对话框,在该对话框的“授予”列中选取SELECT、UPDATE或REFERENCE权限,6566注意:注意:n如果

27、只允许用户查询StuInfo表的SID和Sname两列,可以单击上图所示对话框底部的【列权限】按钮,可以进一步设置用户对其中的哪些列具有操作权限。672、使用T-SQL命令语句进行权限管理nGRANT语句语句nREVOKE语句语句nDENY语句语句68(1)GRANT语句语句GRANT ALL PRIVILEGES|permission ,.n (column ,.n )ON table_name|view_name|ON table_name|view_name (column ,.n )TO security_account ,.n WITH GRANT OPTION 69参数说明:nAL

28、L:表示具有所有的语句权限或所有的对象权限;npermission:是指相应对象的有效权限的组合;ncolumn:指定表、视图中要授予对其权限的列名称,且只能授予对列的 SELECT、REFERENCES 及 UPDATE 权限。列名需要使用括号()括起来。nsecurity_account:表示被授权的一个或多个用户帐号;nWITH GRANT OPTION:表示获得某种权限的用户还可以将此权限再授予其他用户;若无此短语,表示该用户只能使用被授予的权限,不能传播权限。70例10n将StuInfo表的查询权限授予用户user_stu。GRANT SELECT ON StuInfo TO use

29、r_stu说明:执行此操作后,stu_admin登录SQL Server后,可以对StuInfo表进行SELECT的操作,但它不能将此权限授予其他用户。71例11n将表ScoreInfo的查询权授予全体用户。GRANT SELECT ON ScoreInfo TO PUBLICn执行此操作后,每个用户登录SQL Server后都可以对ScoreInfo表进行SELECT操作。72例12n将表StuInfo的插入权和修改sname的权限授予用户U2。GRANT SELECT,UPDATE(Sname)ON StuInfoTO U273例13n将表TchInfo的查询权授予用户U3,并允许它将此权

30、限再授予其他用户。GRANT SELECT ON TchInfoTO U3WITH GRANT OPTIONn执行此操作后,U3用户登录SQL Server后不仅可以对TchInfo表可以进行SELECT操作,同时还可以使用GRANT语句给其他用户授权。74(2)REVOKE语句语句REVOKE GRANT OPTION FOR ALL PRIVILEGES|permission (column ,.n ),.n TO|FROM security_account ,.n CASCADEn参数说明:GRANT OPTION FOR:指示将撤消授予指定权限的能力。CASCADE:指示当前正在撤消的

31、权限也将从其他被该主体授权的主体中撤消。75例14n撤销用户U2在StuInfo表上sname的修改权。REVOKE UPDATE(Sname)ON StuInfoFROM U276例15n撤销用户U3对TchInfo表的查询权限。REVOKE SELECT ON TchInfoFROM U3CASCADEn教材P219 例9-12-例9-14由于前面操作中U3在获得了对TchInfo表的SELECT权限后,又将该操作权授予了U4,U4又授予了U5。在执行上例的REVOKE语句后,将U3用户对TchInfo表的SELECT权限收回的同时,采用级联收回的方式自动收回U4和U5对TchInfo表的

32、SELECT权限。如果省略CASCADE,系统将拒绝执行该命令。77注意:注意:n如果用户U4和U5还从其他用户那里获得了对TchInfo表的SELECT权限,执行上例的REVOKE语句后,系统只收回直接或间接从U3处获得的权限,并没有收回从其他用户处获得的权限,因此他们仍具有此权限。78(3)DENY语句语句n使用DENY语句可以拒绝对授予用户或角色的权限,防止用户通过其组或角色成员身份继承权限。其语法格式为:DENY ALL PRIVILEGES|permission (column ,.n ),.n TO security_account ,.n CASCADE 79例16n拒绝用户us

33、er_stu拥有ScoreInfo表的查询权限。DENY SELECT ON ScoreInfoTO user_stun执行此操作后,user_stu用户登录SQL Server不能对ScoreInfo表进行SELECT操作,即使该用户被明确授予或继承得到对ScoreInfo表进行SELECT权限,仍然不允许执行相应的操作。80五、角色管理五、角色管理n在数据库中,为了简化对用户操作权限的管理,可以将具有相同权限的一组用户组织在一起,形成数据库中的角色(Role)。n对一个角色授予、撤销和拒绝的权限也适用于该角色的任何成员。使用角色来管理数据库权限可以简化授权过程。81角色n角色系统预定义的固

34、定角色用户自定义角色。82(一)系统预定义角色(一)系统预定义角色n固定服务器角色n固定数据库角色831、固定服务器角色n服务器角色是负责管理和维护SQL Server的组,一般只是设置需要管理服务器的登录帐号属于服务器角色。84固定服务器角色及权限描述 固定服务器角色权限 sysadmin该角色可以在服务器中执行任何操作。Windows BUILTINAdnimistrators组的所有成员都是sysadmin角色的成员。securityadmin管理服务器登录帐户和创建数据库的权限。serveradmin能够配置服务器的设置选项,关闭服务器setupadmin能执行某些系统存储过程,以及管

35、理链接服务器processadmin管理SQL Server实例中运行的进程diskadmin管理磁盘文件dbcreator创建、修改和删除数据库bulkadmin执行大容量数据的插入操作85利用对象资源管理器将登录帐号tch_admin添加到固定服务器角色dbcreate中 n步骤步骤1:启动“Microsoft SQL Server Management Studio”管理器,在“对象资源管理器”窗口逐级展开“服务器”【安全性】【服务器角色】,显示预定义的固定服务器角色。n步骤步骤2:右击添加登录帐号的服务器角色dbcreate,在弹出的快捷菜单中选择【属性】选项,打开【服务器角色属性】对

36、话框。n步骤步骤3:单击【添加】按钮,出现【添加成员】对话框。在该对话框中选择相应的登录帐号tch_admin。单击【确定】按钮即可选定的登录添加到服务器角色中。86利用T-SQL语句为登录帐号指定和删除服务器角色n格式sp_addsrvrolemember login_name,role_namen参数说明:login_name:指定添加到服务器角色中的登录帐号。role_name:指定服务器角色的名称。SQL Server还提供了系统存储过程sp_dropsrvrolemember为服务器角色删除登录帐户,其语法格式为:sp_dropsrvrolemember login_name,rol

37、e_name 87例17n为登录帐号tch_admin添加到固定服务器角色sysadmin中。sp_addsrvrolemember tch_admin,sysadmin882.固定数据库角色固定数据库角色n固定数据库角色是数据库级别上的一些预定义的角色。n在创建每个数据库时,都会自动添加这些角色到新创建的数据库中,每个角色对应着相应的权限。n固定的数据库角色为管理数据库一级的权限提供了方便,它的成员是来自每个数据库的用户。用户不能被添加、更改和删除固定数据库角色,但是可以将用户帐号添加到固定的数据库角色中。89(1)固定数据库角色与权限固定的数据库角色权 限db_accessadmin添加或

38、删除Windows用户、组和SQL Server登录的访问权限db_backupoperator可以进行数据库的备份和恢复操作db_datareader可以查询所有用户表中的所有数据db_datawriter可以添加、删除和更改所有用户表中的数据db_ddladmin在数据库中运行所有数据定义语句(DDL),可以建立、删除和修改数据库对象db_denydatareader禁止查询数据库的所有用户表中的任何数据db_denydatawriter禁止添加、删除和更改所有用户表中的数据db_owner在数据库中拥有全部权限db_securityadmin可以管理数据库角色和角色成员,并管理权限pub

39、lic默认不具有任何权限,但用户可以对此角色授权90public角色npublic角色是一个特殊的数据库角色,每个数据库的用户都自动是public数据库角色的成员。n用户无法在public角色中添加和删除成员,但是用户可以对这个角色进行授权,而其他的固定数据库角色的权限是固定的,用户不可改变。n如果想让数据库的所有用户都具有某个权限,则可以将该权限授予public。同时,如果没有给用户专门授予某个对象的权限,他们就只能使用授public角色的权限。91(2)为固定数据库角色添加用户帐号n对象资源管理器nT-SQL命令92利用对象资源管理器为固定数据库角色db_owner添加用户帐号U1n步骤步

40、骤1:启动“Microsoft SQL Server Management Studio”管理器,在“对象资源管理器”窗口逐级展开“服务器”【数据库】用户数据库TeachingData【安全性】【角色】【数据库角色】,这时可以看到10个默认的数据库角色。n步骤步骤2:右击添加用户帐号的数据库角色db_owner,在弹出的快捷菜单中选择【属性】选项,打开【数据库角色属性】对话框,显示db_owner角色拥有的框架和成员。n步骤步骤3:单击【添加】按钮,出现【选择数据库用户或角色】对话框,在此选择用户U1并单击【确定】按钮返回。n步骤步骤4:在完成用户帐号的添加后,单击【确定】按钮即可将所选用户帐

41、号添加到db_owner数据库角色中。93利用T-SQL语句为数据库角色添加用户帐号 n语法格式为:sp_addrolemember role,security_account n参数说明:role:当前数据库中的数据库角色的名称。role数据类型为sysname,无默认值。security_account:是添加到该角色的安全用户帐户。security_account 可以是数据库用户、数据库角色、Windows 登录或 Windows 组。94例18n为数据库角色db_accessadmin添加用户帐号U1.nsp_addrolemember db_accessadmin,U195(二)用

42、户自定义角色(二)用户自定义角色 n当为一组数据库用户在SQL Server中设置相同的一组权限时,但这些权限的集合不等同于固定数据库角色所具有的权限时,可以通过用户自定义角色来满足这一要求,轻松地管理数据库中的权限。961、创建用户自定义角色n使用对象资源管理器创建n使用T-SQL语句创建97(1)使用对象资源管理器创建用户自定义角色n步骤步骤1:启动“SQL Server Management Studio”管理器,在对象资源管理器中,逐级展开【服务器】【数据库】【TeachingData】【安全性】【角色】;n步骤步骤2:右击“角色”项,在弹出的快捷菜单中选择【新建角色】命令.n步骤步骤

43、3:单击对话框的【常规】标签,在【角色名称】对应的文本框中输入创建的数据库角色的名称R1;在“此角色拥有的架构”列表框中也可以选择当前新创建的角色要添加到哪个固定数据库角色。n步骤步骤4:单击对话框底部的【添加】按钮,直接为此角色添加成员用户帐号U1,返回【数据库角色】对话框后,单击【确定】按钮即可;也可以不添加成员,直接单击【确定】按钮完成角色的创建,此时创建的角色时无成员的,可以在以后的应用中添加。9899(2)使用T-SQL语句创建用户自定义角色n语法格式:sp_addrole role,ownern参数说明:role:要创建的数据库角色的名称。owner:数据库角色的拥有者,默认值为d

44、bo。100例19,n在TeachingData数据库中创建新的数据库角色Teacher。sp_addrole Teacher1013、为用户定义的角色授权、为用户定义的角色授权n步骤步骤1:在对象资源管理器中,右击要授权的用户自定义角色的名称,在弹出的快捷菜单中选择【属性】选项;n步骤步骤2:在出现的对话框中选择【安全对象】标签,在此界面下即可实现对角色的授权。1024.为用户自定义角色添加为用户自定义角色添加/删除成员删除成员n步骤步骤1:启动“SQL Server Management Studio”管理器,在对象资源管理器中,逐级展开【服务器】【数据库】【TeachingData】【安

45、全性】【角色】【数据角色】;n步骤步骤2:右击要添加成员的用户自定义角色名,在弹出的快捷菜单中选择【属性】选项,在打开对话框中,单击【常规】标签界面底部的【添加】按钮,打开【选择数据库用户或角色】对话框;n步骤步骤3:在对话框中单击【浏览】按钮,打开【查找对象】对话框,n步骤步骤4:在对话框中,单击用户名左侧的复选框来确定添加和删除的用户。最后单击【确定】按钮完成操作。103n使用系统存储过程来添加删除成员与为固定数据库角色添加删除成员相同.n 104小结n一、安全机制安全模型(用户、存取控制、操作系统安全保护、加密存储)操作权限(系统管理员、对象拥有者、普通用户)n二、SQL Server认证模式Windows身份验证模式混合验证模式。105n三、登录帐号和用户帐号的管理三、登录帐号和用户帐号的管理创建、修改、删除n四、权限管理四、权限管理对象权限对象权限语句权限语句权限权限管理命令(权限管理命令(GRANT、REVOKE、DENY)n五、角色管理五、角色管理固定服务器角色固定服务器角色(sp_addsrvrolemember,sp_dropsrvrolemember)固定数据库角色固定数据库角色(sp_addrolemember,sp_droprolemember)用户自定义角色用户自定义角色(sp_addrole,sp_droprole)106习题习题n完成PPT中的实验

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(数据库的安全性课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|