《系统安全管理》PPT课件.ppt

上传人:sh****n 文档编号:12755657 上传时间:2020-05-22 格式:PPT 页数:53 大小:1.74MB
返回 下载 相关 举报
《系统安全管理》PPT课件.ppt_第1页
第1页 / 共53页
《系统安全管理》PPT课件.ppt_第2页
第2页 / 共53页
《系统安全管理》PPT课件.ppt_第3页
第3页 / 共53页
点击查看更多>>
资源描述
1,第9章系统安全管理,劳东青信息工程学院2011年6月,2,主要内容,9.1SQLSERVER2008的安全机制,9.2建立和管理用户账户,9.3角色管理,9.4数据库权限的管理,9.5数据库架构的定义和使用,3,9.1SQLSERVER的安全机制,SQLSERVER的安全管理体现在两个方面:对用户登录进行身份验证。用户登录DBMS时,系统对用户的账户和口令进行验证,检查用户账户是否有效或能够访问DBS。对用户进行的操作进行权限管理。用户登录DB时,只能对DB中的数据在允许的权限内进行操作。,4,SQLServer的身份验证模式是指系统确认用户的方式。SQLServer身份验证模式有两种:Windows验证模式:用户登录Windows时进行身份验证,登录SQLServer时就不再进行身份。注意:(1)采用Windows账户登录SQLServer,必须先将Windows账户加入到SQLServer中;(2)如果使用Windows账户登录到另一个网络的SQLServer,则必须在Windows中设置彼此的托管权限。SQLServer验证模式:SQLServer服务器要对登录的用户进行身份验证。当采用混合模式时,SQLServer系统既允许使用Windows登录名登录,也允许使用SQLServer登录名登录。,9.1.1SQLSERVER的身份验证模式,5,9.1.1SQLSERVER的身份验证模式,6,SQLSERVER的安全性机制主要通过安全主体和安全对象来实现。SQLSERVER有三个级别的安全性主体:服务器级别:包含的安全对象有登录名、固定服务器角色等。其中,登录名用于登录数据库服务器,而固定服务器角色用于给登录名赋予相应的服务器权限。数据库级别:包含的安全对象主要有用户、角色、应用程序角色、证书、对称密钥、非对称密钥、程序集、全文目录、DDL事件、架构等。架构级别:包含的安全对象主要有表、视图、函数、存储过程、类型、同义词、聚合函数等。,9.1.2SQLSERVER的安全性机制,7,架构的作用是将数据库中的所有对象分成不同的集合,这些集合没有交集,每一个集合就称为一个架构。数据库中的每一个用户都会有自己的默认架构。这个默认架构可以在创建数据库用户时由创建者设定,若不设定则系统默认架构为dbo。数据库用户只能对属于自己架构中的数据库对象执行相应的数据操作。操作的权限则由数据库角色决定。,9.1.2SQLSERVER的安全性机制,8,一个数据库使用者,要登录服务器上的SQLServer数据库,并对数据库中的表执行数据更新操作,则该使用者必须经过如图所示的安全验证。,9.1.1SQLSERVER的身份验证模式,9,SQLSERVER有两个常用的默认登录名:Sa,系统管理员,在SQLSERVER中拥有系统和数据库的所有权限。计算机名Windows管理员帐户名:SQLSERVER为每个Windows系统管理员提供的默认用户帐户,在SQLSERVER中拥有系统和数据库的所有权限。,9.2建立和管理用户帐户,10,建立Windows验证模式的登录名创建Windows用户:单击控制面板|“性能和维护”|“管理工具”|“计算机管理”,进入“计算机管理”窗口,创建一个Windows用户将Windows用户帐户加入到SQLSERVER中。,9.2.1界面方式管理用户帐户,11,建立SQLSERVER验证模式的登录名要创建SQLSERVER验证模式的登录名,首先应将验证模式设置为混合模式。建立登录名验证登录名,9.2.1界面方式管理用户帐户,12,管理数据库用户登录名用于限制能不能登录SQL服务器。若要限制访问数据库的权限,则必须通过用户帐户。每一个用户帐户都关联一个登录名。一个登录名可以对应多个用户帐户。登录名是服务器级的安全机制;用户帐户是数据库级的安全机制,具体到某一个数据库。创建用户帐户,9.1.1SQLSERVER的身份验证模式,13,创建登录名(1)创建Windows身份验证模式登录名sp_grantlogin登录名称说明:创建windows登录名之前,首先要确认该windows用户是否已创建。Windows登录名必须用Windows域名限定,格式为“域名用户名”。此处的域名为本地计算机名。只有sysadmin或securityadmin固定服务器角色的成员可以执行sp_grantlogin。,9.1.2命令方式管理用户帐户,14,创建登录名(2)创建SQLServer身份验证模式的登录名sp_addlogin登录名称,登录密码,默认数据库,默认语言说明:SQLServer登录名称和密码不能含有反斜线();不能是保留的登录名称,例如sa或public,或者已经存在的登录名称;不能为NULL;不能为空字符串()。,9.1.2命令方式管理用户帐户,15,【例1】为windows账户xx授予SQLSERVER登录访问权。sp_grantloginEllaxx【例2】创建SQLSERVER身份验证模式的登录账户sql_login,密码为123,默认登录数据库为master。sp_addloginsql_login,123,master,9.1.2命令方式管理用户帐户,16,修改和删除Windows身份验证模式的登录名(1)拒绝Windows账户访问SQLSERVER实例sp_denylogin域名用户名说明:sp_denylogin只能和Windows账户一起使用;sp_denylogin和sp_grantlogin是对应的一对存储过程,分别用于拒绝和允许windows账户登录sqlserver实例。(2)删除Windows身份验证模式的登录名sp_revokelogin域名用户名说明:sp_revokelogin只能删除通过sp_grantlogin来创建的用户。,9.1.2命令方式管理用户帐户,17,【例3】拒绝用户Ellaxx访问SQLSERVER实例。sp_denyloginEllaxx【例4】删除Windows身份验证模式的登录名Ellaxx,废除其登录访问权。sp_revokeloginEllaxx,9.1.2命令方式管理用户帐户,18,修改和删除SQLSERVER身份验证模式的登录名(1)修改SQLSERVER登录的密码sp_password旧密码,新密码,登录账户名(2)删除SQLSERVER登录名sp_droplogin登录名称,9.1.2命令方式管理用户帐户,19,【例5】将SQLSERVER登录账户sql_login的密码修改为456。sp_password123,456,sql_login【例6】删除SQLSERVER登录账户sql_login。sp_droploginsql_login,9.1.2命令方式管理用户帐户,20,创建和删除数据库用户(1)创建数据库用户sp_grantdbaccess登录名,数据库用户名说明:如果没有指定数据库用户名,则默认为与“登录名”相同(2)删除数据库用户sp_revokedbaccess数据库用户名,9.1.2命令方式管理用户帐户,21,【例7】为SQLSERVER登录账户sql_login创建一个同名的xscj数据库用户账户。usexscjgosp_grantdbaccesssql_login【例8】为Windows登录账户Ellass创建一个名为xscj_user的xscj数据库用户账户。usexscjgosp_grantdbaccessEllass,xscj_user【例9】删除数据库用户账户sql_login。sp_revokedbaccesssql_login,9.1.2命令方式管理用户帐户,22,角色是SQLSERVER中一类用户的统称。角色只有包含了用户后才有存在的意义对一个角色授予、拒绝或废除的权限对该角色的任何成员也适合。通过对角色进行权限设置,可实现对所有用户的权限设置,减少管理员的工作量。,9.3角色管理,23,Sysadmin:系统管理员,可以在SQLServer中执行任何活动Serveradmin:服务器管理员,可以设置服务器范围的配置选项,关闭服务器Setupadmin:设置管理员,可以管理链接服务器和启动过程Securityadmin:安全管理员,可以管理登录和CREATEDATABASE权限,还可以读取错误日志和更改密码Processadmin:进程管理员,可以管理在SQLServer中运行的进程Dbcreator:数据库创建者,可以创建、更改和除去数据库Diskadmin:可以管理磁盘文件Bulkadmin:可以执行BULKINSERT(大容量数据插入)语句,9.3.1固定服务器角色,24,通过企业管理器为登录名指定服务器角色右键单击登录名,选“属性”通过系统存储过程sp_addsrvrolemember为登录名指定服务器角色sp_addsrvrolememberloginame=登录名,rolename=角色名【例10】为登录名sql_login指定dbcreator角色。sp_addsrvrolemembersql_login,dbcreator,9.3.1固定服务器角色,25,通过系统存储过程sp_dropsrvrolemember将登录名从服务器角色中删除sp_dropsrvrolememberloginame=登录名,rolename=角色名【例11】删除登录名sql_login的dbcreator角色。sp_dropsrvrolemembersql_login,dbcreator,9.3.1固定服务器角色,26,(1)db_owner:数据库所有者,可执行数据库的所有管理操作。(2)db_accessadmin:数据库访问权限管理者,角色成员具有添加、删除数据库使用者、数据库角色和组的权限。(3)db_securityadmin:数据库安全管理员,角色成员可管理数据库中的权限,如设置数据库表的增加、删除、修改和查询等存取权限。(4)db_ddladmin:数据库DDL管理员,角色成员可增加、修改或删除数据库中的对象。(5)db_backupoperator:数据库备份操作员,角色成员具有执行数据库备份的权限。,9.3.2固定数据库角色,27,(6)db_datareader:数据库数据读取者,角色成员可以从所有用户表中读取数据。(7)db_datawriter:数据库数据写入者,角色成员具有对所有用户表进行增加、删除、修改的权限。(8)db_denydatareader:数据库拒绝数据读取者,角色成员不能读取数据库中任何表的内容。(9)db_denydatawriter:数据库拒绝数据写入者,角色成员不能对任何表进行增加、删修、修改操作。(10)public:特殊的数据库角色,每个数据库用户都是public角色的成员,因此不能将用户、组或角色指派为public角色的成员,也不能删除public角色的成员。通常将一些公共的权限赋给public角色。,9.3.2固定数据库角色,28,通过企业管理器为数据库用户指定固定数据库角色选择数据库,展开,右击用户对象,单击“属性”通过系统存储过程sp_addrolemember为数据库用户指定固定数据库角色sp_addrolememberrolename=角色,membername=DB用户或角色【例12】为xscj数据库账户xx指定db_datareader角色。usexscjgosp_addrolememberdb_datareader,xx,9.3.2固定数据库角色,29,使用系统存储过程删除固定数据库角色成员sp_droprolememberrolename=角色,membername=DB用户或角色【例13】将xscj数据库账户xx从db_datareader角色中删除。usexscjgosp_droprolememberdb_datareader,xx,9.3.2固定数据库角色,30,自定义角色包括标准的数据库角色和应用程序角色两种。通过企业管理器来创建/删除自定义角色通过命令来创建/删除自定义角色创建标准数据库角色sp_addrole数据库角色名创建应用程序角色sp_addapprole应用程序角色名删除标准数据库角色sp_droprole数据库角色名删除应用程序角色sp_dropapprole应用程序角色名,9.3.3自定义角色,31,权限决定了用户在数据库中可以进行的操作。一个用户所拥有的权限取决于该用户账户的权限和该用户所在的角色。SQLSERVER有三种类型的权限:对象权限、语句权限和暗示性权限。对象权限:表示一个用户对特定的数据库对象,如表、视图、字段等的操作权限,如用户能否进行查询、删除、插入和修改一个表中的行,或能否执行一个存储过程。,9.4数据库权限管理,32,SELECT、INSERT、UPDATE和DELETE语句权限,它们可以应用到整个表或视图中。SELECT和UPDATE语句权限,它们可以有选择性地应用到表或视图中的单个列上。SELECT权限,它们可以应用到用户定义函数。INSERT和DELETE语句权限,它们会影响整行,因此只可以应用到表或视图中,不能应用到列上。EXECUTE语句权限,它们可以影响存储过程和函数。,对象权限,33,语句权限表示一个用户对数据库的操作权限,如能否执行创建和删除对象的语句,能否执行备份和恢复数据库的语句等。包括:BACKUPDATABASE。BACKUPLOG。CREATEDATABASE。CREATEDEFAULT。CREATEFUNCTION。CREATEPROCEDURE。CREATERULE。CREATETABLE。CREATEVIEW。,语句权限,34,暗示性权限指系统安装以后有些用户和角色不必授权就有的权限。例如,sysadmin固定服务器角色成员自动继承在SQLServer安装中进行操作或查看的全部权限。数据库对象所有者拥有暗示性权限,可以对所拥有的对象执行一切活动。例如,拥有表的用户可以查看、添加或删除数据,更改表定义,或控制允许其他用户对表进行操作的权限。,暗示性权限,35,暗示性权限是数据库角色和用户默认拥有的权限,不需设置。对象权限和语句权限可以进行设置。设置权限包括:授予权限:授予用户、组或角色的语句权限和对象权限,使数据库用户在当前数据库中具有执行活动或处理数据的权限。拒绝权限:包括删除以前授予用户、组或角色的权限,停用从其他角色继承的权限,确保用户、组或角色将来不继承更高级别的组或角色的权限。废除权限:废除以前授予或拒绝的权限。废除类似于拒绝,因为二者都是在同一级别上删除已授予的权限。但是,废除权限是删除已授予的权限,并不妨碍用户、组或角色从更高级别继承已授予的权限。,设置权限,36,管理对象权限右键单击数据库逻辑对象(包括表、视图、存储过程等),选择“所有任务|管理权限”注意:打对号表示授予权限,打叉表示拒绝权限,取消选中表示废除权限。,使用企业管理器设置权限,37,管理语句权限右键单击数据库,选择“属性”,使用企业管理器设置权限,38,管理用户权限右键单击用户账户,选择“所有任务|管理权限”,使用企业管理器设置权限,39,管理角色权限右键单击角色,选择“属性”,使用企业管理器设置权限,单击进入角色权限设置界面,40,授予语句权限GRANTALL|语句,.nTO安全账户,.n说明:安全账户:当前数据库中的用户、角色或组,包括:SQLServer角色;SQLServer用户;WindowsNT组;WindowsNT用户。若权限被授予SQLServer角色或WindowsNT组,权限可影响到当前数据库中该组或该角色成员的所有用户。【例14】给用户xx授予创建表和创建视图的权限。grantcreatetable,createviewtoxx,使用Grant语句设置权限,41,授予对象权限GRANTALL|权限,.n(列名,.n)ON表|视图|ON表|视图(列名,.n)|ON存储过程|ON用户自定义函数TO安全账户,.nWITHGRANTOPTIONAS组|角色,使用Grant语句设置权限,42,参数说明:ALL:表示授予所有可用的权限。权限:当前授予的对象权限。如在表、视图上可授予SELECT、INSERT、DELETE或UPDATE权限;在列上可授予SELECT和UPDATE权限。安全账户:可以是SQLServer用户、SQLServer角色、WindowsNT用户、WindowsNT组。WITHGRANTOPTION:使被授予权限的用户或角色拥有再将该权限授予其他用户的权限。AS组|角色:作为角色或组的成员使用角色或组的权限。,使用Grant语句设置权限,43,【例15】授予用户Mary、John和Tom对xx数据库的学生表的插入、修改、删除权限。USExxGRANTINSERT,UPDATE,DELETEON学生表TOMary,John,Tom【例16】授予角色ss对xx数据库的课程表的插入、修改权限,并允许该角色用户将这些权限授予其他用户或角色。USExxGRANTINSERT,UPDATEON学生表TOsswithgrantoption,使用Grant语句设置权限,44,【例17】授予用户xx权限,使其对xx数据库的学生表的性别和姓名列具有修改权限。usexxGRANTUPDATE(性别,姓名)ON学生表TOxx或:usexxGRANTUPDATEON学生表(性别,姓名)TOxx,使用Grant语句设置权限,45,Deny语句用于拒绝用户或角色的语句权限和对象权限。(1)拒绝语句权限DENYALL|语句,.nTO安全账户,.n【例18】拒绝用户xx创建表和创建视图的权限。DENYCREATETABLE,CREATEVIEWTOxx,使用Deny语句,46,Deny语句用于拒绝用户或角色的语句权限和对象权限。(2)拒绝对象权限DENYDENYALL|权限,.n(列名,.n)ON表|视图|ON表|视图(列名,.n)|ON存储过程|用户自定义函数TO安全账户,.nCASCADE,使用Deny语句,拒绝安全账户的权限时,也将拒绝由安全账户授权的任何其他安全账户的权限。,47,【例19】拒绝角色ss对学生表的INSERT、UPDATE和DELETE的权限。DENYINSERT,UPDATE,DELETEON学生表TOSS,使用Deny语句,48,Revoke语句用于废除语句权限和对象权限。(1)废除语句权限RevokeALL|语句,.nFrom安全账户,.n【例20】废除用户xx创建表和创建视图的权限。RevokeCREATETABLE,CREATEVIEWFromxx,使用Revoke语句,49,Revoke语句用于废除语句权限和对象权限。(2)废除对象权限REVOKEGRANTOPTIONFORALL|权限,.n(列名,.n)ON表|视图|ON表|视图(列名,.n)|ON存储过程|用户自定义函数TO|FROM安全账户,.nCASCADEAS组|角色,使用Revoke语句,50,参数说明:GRANTOPTIONFOR:指定要收回WITHGRANTOPTION权限。用户仍然具有指定的权限,但是不能将该权限授予其他用户。CASCADE:收回指定安全账户的权限时,也将收回由其授权的任何其他安全账户的权限。如果要收回的权限原先是通过WITHGRANTOPTION设置授予的,需指定CASCADE和GRANTOPTIONFOR子句,否则将返回一个错误。AS组|角色:说明要管理的用户从哪个角色或组继承权限。,使用Revoke语句,51,【例21】废除角色ss对学生表的INSERT、UPDATE和DELETE的权限。REVOKEINSERT,UPDATE,DELETEON学生表Fromss【例22】废除用户xx对学生表的性别和姓名列的修改权限。REVOKEUPDATE(性别,姓名)ON学生表Fromxx,使用Revoke语句,52,自习,9.5数据库架构的定义和使用,53,SEEYOUNEXTTIME.,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!