《系统安全管理》PPT课件

上传人:公**** 文档编号:578230223 上传时间:2024-08-23 格式:PPT 页数:53 大小:1.68MB
返回 下载 相关 举报
《系统安全管理》PPT课件_第1页
第1页 / 共53页
《系统安全管理》PPT课件_第2页
第2页 / 共53页
《系统安全管理》PPT课件_第3页
第3页 / 共53页
《系统安全管理》PPT课件_第4页
第4页 / 共53页
《系统安全管理》PPT课件_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《《系统安全管理》PPT课件》由会员分享,可在线阅读,更多相关《《系统安全管理》PPT课件(53页珍藏版)》请在金锄头文库上搜索。

1、1第第9 9章章 系统安全管理系统安全管理劳东青信息工程学院2011年6月2011劳东青2主要内容9.1 SQL SERVER20089.1 SQL SERVER2008的安全机制的安全机制9.2 9.2 建立和管理用户账户建立和管理用户账户9.3 9.3 角色管理角色管理9.4 9.4 数据库权限的管理数据库权限的管理9.5 9.5 数据库架构的定义和使用数据库架构的定义和使用2011劳东青39.1SQLSERVER的安全机制pSQLSERVER的安全管理体现在两个方面:对用户登录进行身份验证。用户登录DBMS时,系统对用户的账户和口令进行验证,检查用户账户是否有效或能够访问DBS。对用户进

2、行的操作进行权限管理。用户登录DB时,只能对DB中的数据在允许的权限内进行操作。2011劳东青4pSQLServer的身份验证模式是指系统确认用户的方式。SQLServer身份验证模式有两种:Windows验证模式:用户登录Windows时进行身份验证,登录SQLServer时就不再进行身份。注意:(1)采用Windows账户登录SQLServer,必须先将Windows账户加入到SQLServer中;(2)如果使用Windows账户登录到另一个网络的SQLServer,则必须在Windows中设置彼此的托管权限。SQLServer验证模式:SQLServer服务器要对登录的用户进行身份验证。

3、当采用混合模式时,SQLServer系统既允许使用Windows登录名登录,也允许使用SQLServer登录名登录。9.1.1SQLSERVER的身份验证模式2011劳东青59.1.1SQLSERVER的身份验证模式Windows身份验证模式身份验证模式 混合模式混合模式 用户连接请求用户连接请求 身份验证模式?身份验证模式? 使用使用SQL Server账户连接吗?账户连接吗? 是有效账户吗?是有效账户吗? SQL ServerSQL Server拒绝连接拒绝连接 有效的有效的NTNT帐户吗帐户吗 SQL Server接受用户连接接受用户连接 是是 是是 是是 否否 否否 否否 2011劳东

4、青6pSQLSERVER的安全性机制主要通过安全主体和安全对象来实现。pSQLSERVER有三个级别的安全性主体:服务器级别:包含的安全对象有登录名、固定服务器角色等。其中,登录名用于登录数据库服务器,而固定服务器角色用于给登录名赋予相应的服务器权限。数据库级别:包含的安全对象主要有用户、角色、应用程序角色、证书、对称密钥、非对称密钥、程序集、全文目录、DDL事件、架构等。架构级别:包含的安全对象主要有表、视图、函数、存储过程、类型、同义词、聚合函数等。9.1.2SQLSERVER的安全性机制2011劳东青7p架构的作用是将数据库中的所有对象分成不同的集合,这些集合没有交集,每一个集合就称为一

5、个架构。p数据库中的每一个用户都会有自己的默认架构。这个默认架构可以在创建数据库用户时由创建者设定,若不设定则系统默认架构为dbo。p数据库用户只能对属于自己架构中的数据库对象执行相应的数据操作。操作的权限则由数据库角色决定。9.1.2SQLSERVER的安全性机制2011劳东青8p一个数据库使用者,要登录服务器上的SQLServer数据库,并对数据库中的表执行数据更新操作,则该使用者必须经过如图所示的安全验证。9.1.1SQLSERVER的身份验证模式2011劳东青9pSQLSERVER有两个常用的默认登录名:Sa,系统管理员,在SQLSERVER中拥有系统和数据库的所有权限。计算机名Win

6、dows管理员帐户名:SQLSERVER为每个Windows系统管理员提供的默认用户帐户,在SQLSERVER中拥有系统和数据库的所有权限。9.2建立和管理用户帐户2011劳东青10p建立Windows验证模式的登录名创建Windows用户:单击控制面板|“性能和维护”|“管理工具”|“计算机管理”,进入“计算机管理”窗口,创建一个Windows用户将Windows用户帐户加入到SQLSERVER中。9.2.1界面方式管理用户帐户2011劳东青11p建立SQLSERVER验证模式的登录名要创建SQLSERVER验证模式的登录名,首先应将验证模式设置为混合模式。建立登录名验证登录名9.2.1界面

7、方式管理用户帐户输入登录名输入登录名输入登输入登录密码录密码2011劳东青12p管理数据库用户登录名用于限制能不能登录SQL服务器。若要限制访问数据库的权限,则必须通过用户帐户。每一个用户帐户都关联一个登录名。一个登录名可以对应多个用户帐户。登录名是服务器级的安全机制;用户帐户是数据库级的安全机制,具体到某一个数据库。创建用户帐户9.1.1SQLSERVER的身份验证模式单击,选择登录名单击,选择登录名新建一个用户帐新建一个用户帐户,该账户名字户,该账户名字可与登录名不同可与登录名不同给该用户帐户给该用户帐户指定一种角色指定一种角色2011劳东青13p创建登录名(1)创建Windows身份验证

8、模式登录名sp_grantlogin登录名称说明明:创建windows登录名之前,首先要确认该windows用户是否已创建。Windows登录名必须用Windows域名限定,格式为“域名用户名”。此处的域名为本地计算机名。只有sysadmin或securityadmin固定服务器角色的成员可以执行sp_grantlogin。9.1.2命令方式管理用户帐户2011劳东青14p创建登录名(2)创建SQLServer身份验证模式的登录名sp_addlogin登录名称,登录密码,默认数据库,默认语言说明明:SQLServer登录名称和密码不能含有反斜线();不能是保留的登录名称,例如sa或public

9、,或者已经存在的登录名称;不能为NULL;不能为空字符串()。9.1.2命令方式管理用户帐户2011劳东青15【例1】为windows账户xx授予SQLSERVER登录访问权。sp_grantloginEllaxx【例2】创建SQLSERVER身份验证模式的登录账户sql_login,密码为123,默认登录数据库为master。sp_addloginsql_login,123,master9.1.2命令方式管理用户帐户2011劳东青16p修改和删除Windows身份验证模式的登录名(1)拒绝Windows账户访问SQLSERVER实例sp_denylogin域名用户名说明明:sp_denylo

10、gin只能和Windows账户一起使用;sp_denylogin和sp_grantlogin是对应的一对存储过程,分别用于拒绝和允许windows账户登录sqlserver实例。(2)删除Windows身份验证模式的登录名sp_revokelogin域名用户名说明:sp_revokelogin只能删除通过sp_grantlogin来创建的用户。9.1.2命令方式管理用户帐户2011劳东青17【例3】拒绝用户Ellaxx访问SQLSERVER实例。sp_denyloginEllaxx【例4】删除Windows身份验证模式的登录名Ellaxx,废除其登录访问权。sp_revokeloginElla

11、xx9.1.2命令方式管理用户帐户2011劳东青18p修改和删除SQLSERVER身份验证模式的登录名(1)修改SQLSERVER登录的密码sp_password旧密码,新密码,登录账户名(2)删除SQLSERVER登录名sp_droplogin登录名称9.1.2命令方式管理用户帐户2011劳东青19【例5】将SQLSERVER登录账户sql_login的密码修改为456。sp_password123,456,sql_login【例6】删除SQLSERVER登录账户sql_login。sp_droploginsql_login9.1.2命令方式管理用户帐户2011劳东青20p创建和删除数据库用

12、户(1)创建数据库用户sp_grantdbaccess登录名,数据库用户名说明明:如果没有指定数据库用户名,则默认为与“登录名”相同(2)删除数据库用户sp_revokedbaccess数据库用户名9.1.2命令方式管理用户帐户2011劳东青21【例7】为SQLSERVER登录账户sql_login创建一个同名的xscj数据库用户账户。usexscjgosp_grantdbaccesssql_login【例8】为Windows登录账户Ellass创建一个名为xscj_user的xscj数据库用户账户。usexscjgosp_grantdbaccessEllass,xscj_user【例9】删除

13、数据库用户账户sql_login。sp_revokedbaccesssql_login9.1.2命令方式管理用户帐户2011劳东青22p角色是SQLSERVER中一类用户的统称。角色只有包含了用户后才有存在的意义p对一个角色授予、拒绝或废除的权限对该角色的任何成员也适合。p通过对角色进行权限设置,可实现对所有用户的权限设置,减少管理员的工作量。9.3角色管理角色固定服务器角色数据库角色固定的数据库角色用户自定义的数据库角色2011劳东青23pSysadmin:系统管理员,可以在SQLServer中执行任何活动pServeradmin:服务器管理员,可以设置服务器范围的配置选项,关闭服务器pSe

14、tupadmin:设置管理员,可以管理链接服务器和启动过程pSecurityadmin:安全管理员,可以管理登录和CREATEDATABASE权限,还可以读取错误日志和更改密码pProcessadmin:进程管理员,可以管理在SQLServer中运行的进程pDbcreator:数据库创建者,可以创建、更改和除去数据库pDiskadmin:可以管理磁盘文件pBulkadmin:可以执行BULKINSERT(大容量数据插入)语句9.3.1固定服务器角色2011劳东青24p通过企业管理器为登录名指定服务器角色右键单击登录名,选“属性”p通过系统存储过程sp_addsrvrolemember为登录名指

15、定服务器角色sp_addsrvrolememberloginame=登录名,rolename=角色名【例10】为登录名sql_login指定dbcreator角色。sp_addsrvrolemembersql_login,dbcreator9.3.1固定服务器角色2011劳东青25p通过系统存储过程sp_dropsrvrolemember将登录名从服务器角色中删除sp_dropsrvrolememberloginame=登录名,rolename=角色名【例11】删除登录名sql_login的dbcreator角色。sp_dropsrvrolemembersql_login,dbcreator9

16、.3.1固定服务器角色2011劳东青26(1)db_owner:数据库所有者,可执行数据库的所有管理操作。(2)db_accessadmin:数据库访问权限管理者,角色成员具有添加、删除数据库使用者、数据库角色和组的权限。(3)db_securityadmin:数据库安全管理员,角色成员可管理数据库中的权限,如设置数据库表的增加、删除、修改和查询等存取权限。(4)db_ddladmin:数据库DDL管理员,角色成员可增加、修改或删除数据库中的对象。(5)db_backupoperator:数据库备份操作员,角色成员具有执行数据库备份的权限。9.3.2固定数据库角色2011劳东青27(6)db_

17、datareader:数据库数据读取者,角色成员可以从所有用户表中读取数据。(7)db_datawriter:数据库数据写入者,角色成员具有对所有用户表进行增加、删除、修改的权限。(8)db_denydatareader:数据库拒绝数据读取者,角色成员不能读取数据库中任何表的内容。(9)db_denydatawriter:数据库拒绝数据写入者,角色成员不能对任何表进行增加、删修、修改操作。(10)public:特殊的数据库角色,每个数据库用户都是public角色的成员,因此不能将用户、组或角色指派为public角色的成员,也不能删除public角色的成员。通常将一些公共的权限赋给public角

18、色。9.3.2固定数据库角色2011劳东青28p通过企业管理器为数据库用户指定固定数据库角色选择数据库,展开,右击用户对象,单击“属性”p通过系统存储过程sp_addrolemember为数据库用户指定固定数据库角色sp_addrolememberrolename=角色,membername=DB用户或角色【例12】为xscj数据库账户xx指定db_datareader角色。usexscjgosp_addrolememberdb_datareader,xx9.3.2固定数据库角色2011劳东青29p使用系统存储过程删除固定数据库角色成员sp_droprolememberrolename=角色,

19、membername=DB用户或角色【例13】将xscj数据库账户xx从db_datareader角色中删除。usexscjgosp_droprolememberdb_datareader,xx9.3.2固定数据库角色2011劳东青30p自定义角色包括标准的数据库角色和应用程序角色两种。p通过企业管理器来创建/删除自定义角色p通过命令来创建/删除自定义角色创建标准数据库角色sp_addrole数据库角色名创建应用程序角色sp_addapprole应用程序角色名删除标准数据库角色sp_droprole数据库角色名删除应用程序角色sp_dropapprole应用程序角色名9.3.3自定义角色201

20、1劳东青31p权限决定了用户在数据库中可以进行的操作。p一个用户所拥有的权限取决于该用户账户的权限和该用户所在的角色。pSQLSERVER有三种类型的权限:对象权限、语句权限和暗示性权限。p对象权限:表示一个用户对特定的数据库对象,如表、视图、字段等的操作权限,如用户能否进行查询、删除、插入和修改一个表中的行,或能否执行一个存储过程。9.4数据库权限管理2011劳东青32pSELECT、INSERT、UPDATE和DELETE语句权限,它们可以应用到整个表或视图中。pSELECT和UPDATE语句权限,它们可以有选择性地应用到表或视图中的单个列上。pSELECT权限,它们可以应用到用户定义函数

21、。pINSERT和DELETE语句权限,它们会影响整行,因此只可以应用到表或视图中,不能应用到列上。pEXECUTE语句权限,它们可以影响存储过程和函数。对象权限2011劳东青33p语句权限表示一个用户对数据库的操作权限,如能否执行创建和建和删除除对象的象的语句句,能否执行备份和恢复数据库的语句等。包括:BACKUPDATABASE。BACKUPLOG。CREATEDATABASE。CREATEDEFAULT。CREATEFUNCTION。CREATEPROCEDURE。CREATERULE。CREATETABLE。CREATEVIEW。语句权限2011劳东青34p暗示性权限指系统安装以后有些

22、用户和角色不必授权就有的权限。例如,sysadmin固定服务器角色成员自动继承在SQLServer安装中进行操作或查看的全部权限。p数据库对象所有者拥有暗示性权限,可以对所拥有的对象执行一切活动。例如,拥有表的用户可以查看、添加或删除数据,更改表定义,或控制允许其他用户对表进行操作的权限。暗示性权限2011劳东青35p暗示性权限是数据库角色和用户默认拥有的权限,不需设置。对象权限和语句权限可以进行设置。p设置权限包括:授予权限:授予用户、组或角色的语句权限和对象权限,使数据库用户在当前数据库中具有执行活动或处理数据的权限。拒绝权限:包括删除以前授予用户、组或角色的权限,停用从其他角色继承的权限

23、,确保用户、组或角色将来不继承更高级别的组或角色的权限。废除权限:废除以前授予或拒绝的权限。废除类似于拒绝,因为二者都是在同一级别上删除已授予的权限。但是,废除权限是删除已授予的权限,并不妨碍用户、组或角色从更高级别继承已授予的权限。设置权限2011劳东青36p管理对象权限右键单击数据库逻辑对象(包括表、视图、存储过程等),选择“所有任务|管理权限”注意:打对号表示授予权限,打叉表示拒绝权限,取消选中表示废除权限。使用企业管理器设置权限对对象的总对对象的总体权限设置体权限设置具体到列的具体到列的权限设置权限设置2011劳东青37p管理语句权限右键单击数据库,选择“属性”使用企业管理器设置权限2

24、011劳东青38p管理用户权限右键单击用户账户,选择“所有任务|管理权限”使用企业管理器设置权限2011劳东青39p管理角色权限右键单击角色,选择“属性”使用企业管理器设置权限单击进入角色权限设置界面2011劳东青40p授予语句权限GRANTALL|语句,.nTO安全账户,.n说明:明:安全安全账户:当前数据库中的用户、角色或组,包括:SQLServer角色;SQLServer用户;WindowsNT组;WindowsNT用户。若权限被授予SQLServer角色或WindowsNT组,权限可影响到当前数据库中该组或该角色成员的所有用户。【例14】给用户xx授予创建表和创建视图的权限。grant

25、createtable,createviewtoxx使用Grant语句设置权限2011劳东青41p授予对象权限GRANTALL|权限,.n(列名,.n)ON表|视图|ON表|视图(列名,.n)|ON存储过程|ON用户自定义函数TO安全账户,.nWITHGRANTOPTIONAS组|角色使用Grant语句设置权限2011劳东青42p参数参数说明明:ALL:表示授予所有可用的权限。权限:当前授予的对象权限。如在表、视图上可授予SELECT、INSERT、DELETE或UPDATE权限;在列上可授予SELECT和UPDATE权限。安全账户:可以是SQLServer用户、SQLServer角色、Win

26、dowsNT用户、WindowsNT组。WITHGRANTOPTION:使被授予权限的用户或角色拥有有再将再将该权限授予其他用限授予其他用户的的权限限。AS组|角色:作为角色或组的成员使用角色或组的权限。使用Grant语句设置权限2011劳东青43【例15】授予用户Mary、John和Tom对xx数据库的学生表的插入、修改、删除权限。USExxGRANTINSERT,UPDATE,DELETEON学生表TOMary,John,Tom【例16】授予角色ss对xx数据库的课程表的插入、修改权限,并允许该角色用户将这些权限授予其他用户或角色。USExxGRANTINSERT,UPDATEON学生表T

27、Osswithgrantoption使用Grant语句设置权限2011劳东青44【例17】授予用户xx权限,使其对xx数据库的学生表的性别和姓名列具有修改权限。usexxGRANTUPDATE(性性别, 姓名姓名) ON学生表TOxx或:usexxGRANTUPDATEON学生表(性性别, 姓名姓名)TOxx使用Grant语句设置权限2011劳东青45pDeny语句用于拒绝用户或角色的语句权限和对象权限。(1)拒绝语句权限DENY ALL | 语句句 , .n TO 安全安全账户 , .n【例18】拒绝用户xx创建表和创建视图的权限。 DENY CREATE TABLE, CREATE VIE

28、W TO xx使用Deny语句2011劳东青46pDeny语句用于拒绝用户或角色的语句权限和对象权限。(2)拒绝对象权限DENYDENY ALL | 权限限 ,.n ( 列名列名 ,.n ) ON 表表 | 视图 | ON 表表 | 视图 (列名列名 ,.n ) | ON 存存储过程程| 用用户自定自定义函数函数 TO 安全安全账户 ,.n CASCADE 使用Deny语句拒绝安全账户的权限时,也将拒绝安全账户的权限时,也将拒绝由安全账户授权的任何其拒绝由安全账户授权的任何其他安全账户的权限。他安全账户的权限。2011劳东青47【例19】拒绝角色ss对学生表的INSERT、UPDATE和DEL

29、ETE的权限。 DENY INSERT, UPDATE, DELETE ON 学生表 TO SS使用Deny语句2011劳东青48pRevoke语句用于废除语句权限和对象权限。(1)废除语句权限Revoke ALL | 语句句 , .n From 安全安全账户 , .n【例20】废除用户xx创建表和创建视图的权限。 Revoke CREATE TABLE, CREATE VIEW From xx使用Revoke语句2011劳东青49pRevoke语句用于废除语句权限和对象权限。(2)废除对象权限REVOKE GRANT OPTION FOR ALL | 权限 ,.n ( 列名 ,.n ) ON

30、 表 | 视图 | ON 表 | 视图 ( 列名 ,.n ) | ON 存储过程 | 用户自定义函数 TO | FROM 安全账户 ,.n CASCADE AS 组 | 角色 使用Revoke语句2011劳东青50p参数说明:pGRANTOPTIONFOR:指定要收回WITHGRANTOPTION权限。用户仍然具有指定的权限,但是不能将该权限授予其他用户。pCASCADE:收回指定安全账户的权限时,也将收回由其授权的任何其他安全账户的权限。如果要收回的权限原先是通过WITHGRANTOPTION设置授予的,需指定CASCADE和GRANTOPTIONFOR子句,否则将返回一个错误。pAS组|角色:说明要管理的用户从哪个角色或组继承权限。使用Revoke语句2011劳东青51【例21】废除角色ss对学生表的INSERT、UPDATE和DELETE的权限。REVOKEINSERT,UPDATE,DELETEON学生表Fromss【例22】废除用户xx对学生表的性别和姓名列的修改权限。REVOKEUPDATE(性别,姓名)ON学生表Fromxx使用Revoke语句2011劳东青52自习9.5数据库架构的定义和使用2011劳东青53SEEYOUNEXTTIME.

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

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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