《系统安全管理》PPT课件

上传人:xt****7 文档编号:181902848 上传时间:2023-01-18 格式:PPT 页数:53 大小:1.46MB
返回 下载 相关 举报
《系统安全管理》PPT课件_第1页
第1页 / 共53页
《系统安全管理》PPT课件_第2页
第2页 / 共53页
《系统安全管理》PPT课件_第3页
第3页 / 共53页
点击查看更多>>
资源描述
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.1 SQL SERVER的安全机制p SQL SERVER的安全管理体现在两个方面:对用户登录进行身份验证。用户登录DBMS时,系统对用户的账户和口令进行验证,检查用户账户是否有效或能够访问DBS。对用户进行的操作进行权限管理。用户登录DB时,只能对DB中的数据在允许的权限内进行操作。2011劳东青4p SQL Server 的身份验证模式是指系统确认用户的方式。SQL Server 身份验证模式有两种:Windows验证模式:用户登录Windows时进行身份验证,登录SQL Server时就不再进行身份。注意:(1)采用Windows账户登录SQL Server,必须先将Windows账户加入到SQL Server中;(2)如果使用Windows账户登录到另一个网络的SQL Server,则必须在Windows中设置彼此的托管权限。SQL Server验证模式:SQL Server服务器要对登录的用户进行身份验证。当采用混合模式时,SQL Server系统既允许使用Windows登录名登录,也允许使用SQL Server登录名登录。9.1.1 SQL SERVER的身份验证模式2011劳东青59.1.1 SQL SERVER的身份验证模式Windows身份验证模式身份验证模式 混合模式混合模式 用户连接请求用户连接请求 身份验证模式?身份验证模式?使用使用SQL Server账户连接吗?账户连接吗?是有效账户吗?是有效账户吗?SQL ServerSQL Server拒绝连接拒绝连接 有效的有效的NTNT帐户吗帐户吗 SQL Server接受用户连接接受用户连接 是是 是是 是是 否否 否否 否否 2011劳东青6p SQL SERVER的安全性机制主要通过安全主体和安全对象来实现。p SQL SERVER有三个级别的安全性主体:服务器级别:包含的安全对象有登录名、固定服务器角色等。其中,登录名用于登录数据库服务器,而固定服务器角色用于给登录名赋予相应的服务器权限。数据库级别:包含的安全对象主要有用户、角色、应用程序角色、证书、对称密钥、非对称密钥、程序集、全文目录、DDL事件、架构等。架构级别:包含的安全对象主要有表、视图、函数、存储过程、类型、同义词、聚合函数等。9.1.2 SQL SERVER的安全性机制2011劳东青7p 架构的作用是将数据库中的所有对象分成不同的集合,这些集合没有交集,每一个集合就称为一个架构。p 数据库中的每一个用户都会有自己的默认架构。这个默认架构可以在创建数据库用户时由创建者设定,若不设定则系统默认架构为dbo。p 数据库用户只能对属于自己架构中的数据库对象执行相应的数据操作。操作的权限则由数据库角色决定。9.1.2 SQL SERVER的安全性机制2011劳东青8p 一个数据库使用者,要登录服务器上的SQL Server数据库,并对数据库中的表执行数据更新操作,则该使用者必须经过如图所示的安全验证。9.1.1 SQL SERVER的身份验证模式2011劳东青9p SQL SERVER有两个常用的默认登录名:Sa,系统管理员,在SQL SERVER中拥有系统和数据库的所有权限。计算机名Windows管理员帐户名:SQL SERVER为每个Windows系统管理员提供的默认用户帐户,在SQL SERVER中拥有系统和数据库的所有权限。9.2 建立和管理用户帐户2011劳东青10p 建立Windows验证模式的登录名创建Windows用户:单击控制面板|“性能和维护”|“管理工具”|“计算机管理”,进入“计算机管理”窗口,创建一个Windows用户将Windows用户帐户加入到SQL SERVER中。9.2.1 界面方式管理用户帐户2011劳东青11p 建立SQL SERVER验证模式的登录名要创建SQL SERVER验证模式的登录名,首先应将验证模式设置为混合模式。建立登录名验证登录名9.2.1 界面方式管理用户帐户输入登录名输入登录名输入登输入登录密码录密码2011劳东青12p 管理数据库用户登录名用于限制能不能登录SQL 服务器。若要限制访问数据库的权限,则必须通过用户帐户。每一个用户帐户都关联一个登录名。一个登录名可以对应多个用户帐户。登录名是服务器级的安全机制;用户帐户是数据库级的安全机制,具体到某一个数据库。创建用户帐户9.1.1 SQL SERVER的身份验证模式单击,选择登录名单击,选择登录名新建一个用户帐新建一个用户帐户,该账户名字户,该账户名字可与登录名不同可与登录名不同给该用户帐户给该用户帐户指定一种角色指定一种角色2011劳东青13p 创建登录名(1)创建Windows身份验证模式登录名sp_grantlogin 登录名称说明说明:创建windows登录名之前,首先要确认该windows用户是否已创建。Windows登录名必须用Windows域名限定,格式为“域名用户名”。此处的域名为本地计算机名。只有sysadmin或securityadmin固定服务器角色的成员可以执行sp_grantlogin。9.1.2 命令方式管理用户帐户2011劳东青14p创建登录名(2)创建SQL Server身份验证模式的登录名 sp_addlogin 登录名称,登录密码 ,默认数据库,默认语言说明说明:SQL Server 登录名称和密码不能含有反斜线();不能是保留的登录名称,例如sa或public,或者已经存在的登录名称;不能为NULL;不能为空字符串()。9.1.2 命令方式管理用户帐户2011劳东青15【例1】为windows账户xx授予SQL SERVER登录访问权。sp_grantlogin Ellaxx【例2】创建SQL SERVER身份验证模式的登录账户sql_login,密码为123,默认登录数据库为master。sp_addlogin sql_login,123,master9.1.2 命令方式管理用户帐户2011劳东青16p修改和删除Windows身份验证模式的登录名(1)拒绝Windows账户访问SQL SERVER实例 sp_denylogin 域名用户名说明说明:sp_denylogin只能和Windows账户一起使用;sp_denylogin和sp_grantlogin是对应的一对存储过程,分别用于拒绝和允许windows账户登录sql server实例。(2)删除Windows身份验证模式的登录名sp_revokelogin 域名用户名说明:sp_revokelogin只能删除通过sp_grantlogin来创建的用户。9.1.2 命令方式管理用户帐户2011劳东青17【例3】拒绝用户Ellaxx访问SQL SERVER实例。sp_denylogin Ellaxx【例4】删除Windows身份验证模式的登录名Ellaxx,废除其登录访问权。sp_revokelogin Ellaxx9.1.2 命令方式管理用户帐户2011劳东青18p 修改和删除SQL SERVER身份验证模式的登录名(1)修改SQL SERVER登录的密码sp_password 旧密码,新密码,登录账户名(2)删除SQL SERVER登录名sp_droplogin 登录名称9.1.2 命令方式管理用户帐户2011劳东青19【例5】将SQL SERVER登录账户sql_login的密码修改为456。sp_password 123,456,sql_login【例6】删除SQL SERVER登录账户sql_login。sp_droplogin sql_login9.1.2 命令方式管理用户帐户2011劳东青20p 创建和删除数据库用户(1)创建数据库用户sp_grantdbaccess 登录名,数据库用户名说明说明:如果没有指定数据库用户名,则默认为与“登录名”相同(2)删除数据库用户sp_revokedbaccess 数据库用户名9.1.2 命令方式管理用户帐户2011劳东青21【例7】为SQL SERVER登录账户sql_login创建一个同名的xscj数据库用户账户。use xscj go sp_grantdbaccess sql_login【例8】为Windows登录账户Ellass创建一个名为xscj_user的xscj数据库用户账户。use xscj go sp_grantdbaccess Ellass,xscj_user【例9】删除数据库用户账户sql_login。sp_revokedbaccess sql_login9.1.2 命令方式管理用户帐户2011劳东青22p 角色是SQL SERVER中一类用户的统称。角色只有包含了用户后才有存在的意义p 对一个角色授予、拒绝或废除的权限对该角色的任何成员也适合。p 通过对角色进行权限设置,可实现对所有用户的权限设置,减少管理员的工作量。9.3 角色管理角色固定服务器角色数据库角色固定的数据库角色用户自定义的数据库角色2011劳东青23p Sysadmin:系统管理员,可以在SQL Server中执行任何活动p Serveradmin:服务器管理员,可以设置服务器范围的配置选项,关闭服务器p Setupadmin:设置管理员,可以管理链接服务器和启动过程p Securityadmin:安全管理员,可以管理登录和CREATE DATABASE权限,还可以读取错误日志和更改密码p Processadmin:进程管理员,可以管理在SQL Server中运行的进程p Dbcreator:数据库创建者,可以创建、更改和除去数据库p Diskadmin:可以管理磁盘文件p Bulkadmin:可以执行BULK INSERT(大容量数据插入)语句9.3.1 固定服务器角色2011劳东青24p 通过企业管理器为登录名指定服务器角色右键单击登录名,选“属性”p 通过系统存储过程sp_addsrvrolemember为登录名指定服务器角色sp_addsrvrolemember loginame=登录名,rolename=角色名【例10】为登录名sql_login指定dbcreator角色。sp_addsrvrolemember sql_login,dbcreator9.3.1 固定服务器角色2011劳东青25p 通过系统存储过程sp_dropsrvrolemember将登录名从服务器角色中删除sp_dropsrvrolemember loginame=登录名,rolename=角色名【例11】删除登录名sql_login的dbcreator角色。sp_dropsrvrolemember sql_login,dbcreator9.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_datareader:数据库数据读取者,角色成员可以从所有用户表中读取数据。(7)db_datawriter:数据库数据写入者,角色成员具有对所有用户表进行增加、删除、修改的权限。(8)db_denydatareader:数据库拒绝数据读取者,角色成员不能读取数据库中任何表的内容。(9)db_denydatawriter:数据库拒绝数据写入者,角色成员不能对任何表进行增加、删修、修改操作。(10)public:特殊的数据库角色,每个数据库用户都是public角色的成员,因此不能将用户、组或角色指派为public角色的成员,也不能删除public角色的成员。通常将一些公共的权限赋给public角色。9.3.2 固定数据库角色2011劳东青28p 通过企业管理器为数据库用户指定固定数据库角色选择数据库,展开,右击用户对象,单击“属性”p 通过系统存储过程sp_addrolemember为数据库用户指定固定数据库角色sp_addrolemember rolename=角色,membername=DB用户或角色【例12】为xscj数据库账户xx指定db_datareader角色。use xscjgosp_addrolemember db_datareader,xx9.3.2 固定数据库角色2011劳东青29p 使用系统存储过程删除固定数据库角色成员 sp_droprolemember rolename=角色,membername=DB用户或角色【例13】将xscj数据库账户xx从db_datareader角色中删除。use xscjgosp_droprolemember db_datareader,xx9.3.2 固定数据库角色2011劳东青30p 自定义角色包括标准的数据库角色和应用程序角色两种。p 通过企业管理器来创建/删除自定义角色p 通过命令来创建/删除自定义角色 创建标准数据库角色sp_addrole 数据库角色名 创建应用程序角色sp_addapprole 应用程序角色名 删除标准数据库角色sp_droprole 数据库角色名 删除应用程序角色sp_dropapprole 应用程序角色名9.3.3 自定义角色2011劳东青31p 权限决定了用户在数据库中可以进行的操作。p 一个用户所拥有的权限取决于该用户账户的权限和该用户所在的角色。p SQL SERVER有三种类型的权限:对象权限、语句权限和暗示性权限。p 对象权限:表示一个用户对特定的数据库对象,如表、视图、字段等的操作权限,如用户能否进行查询、删除、插入和修改一个表中的行,或能否执行一个存储过程。9.4 数据库权限管理2011劳东青32p SELECT、INSERT、UPDATE和DELETE语句权限,它们可以应用到整个表或视图中。p SELECT和UPDATE语句权限,它们可以有选择性地应用到表或视图中的单个列上。p SELECT权限,它们可以应用到用户定义函数。p INSERT和DELETE语句权限,它们会影响整行,因此只可以应用到表或视图中,不能应用到列上。p EXECUTE语句权限,它们可以影响存储过程和函数。对象权限2011劳东青33p 语句权限表示一个用户对数据库的操作权限,如能否执行创建和删除对象的语句创建和删除对象的语句,能否执行备份和恢复数据库的语句等。包括:BACKUP DATABASE。BACKUP LOG。CREATE DATABASE。CREATE DEFAULT。CREATE FUNCTION。CREATE PROCEDURE。CREATE RULE。CREATE TABLE。CREATE VIEW。语句权限2011劳东青34p 暗示性权限指系统安装以后有些用户和角色不必授权就有的权限。例如,sysadmin固定服务器角色成员自动继承在SQL Server安装中进行操作或查看的全部权限。p 数据库对象所有者拥有暗示性权限,可以对所拥有的对象执行一切活动。例如,拥有表的用户可以查看、添加或删除数据,更改表定义,或控制允许其他用户对表进行操作的权限。暗示性权限2011劳东青35p 暗示性权限是数据库角色和用户默认拥有的权限,不需设置。对象权限和语句权限可以进行设置。p 设置权限包括:授予权限:授予用户、组或角色的语句权限和对象权限,使数据库用户在当前数据库中具有执行活动或处理数据的权限。拒绝权限:包括删除以前授予用户、组或角色的权限,停用从其他角色继承的权限,确保用户、组或角色将来不继承更高级别的组或角色的权限。废除权限:废除以前授予或拒绝的权限。废除类似于拒绝,因为二者都是在同一级别上删除已授予的权限。但是,废除权限是删除已授予的权限,并不妨碍用户、组或角色从更高级别继承已授予的权限。设置权限2011劳东青36p 管理对象权限右键单击数据库逻辑对象(包括表、视图、存储过程等),选择“所有任务|管理权限”注意:打对号表示授予权限,打叉表示拒绝权限,取消选中表示废除权限。使用企业管理器设置权限对对象的总对对象的总体权限设置体权限设置具体到列的具体到列的权限设置权限设置2011劳东青37p 管理语句权限右键单击数据库,选择“属性”使用企业管理器设置权限2011劳东青38p 管理用户权限右键单击用户账户,选择“所有任务|管理权限”使用企业管理器设置权限2011劳东青39p 管理角色权限右键单击角色,选择“属性”使用企业管理器设置权限单击进入角色权限设置界面2011劳东青40p 授予语句权限 GRANT ALL|语句,.n TO 安全账户,.n说明:说明:安全账户安全账户:当前数据库中的用户、角色或组,包括:SQL Server 角色;SQL Server用户;Windows NT组;Windows NT用户。若权限被授予SQL Server角色或Windows NT组,权限可影响到当前数据库中该组或该角色成员的所有用户。【例14】给用户xx授予创建表和创建视图的权限。grant create table,create view to xx使用Grant语句设置权限2011劳东青41p 授予对象权限 GRANT ALL|权限 ,.n (列名 ,.n )ON 表|视图|ON 表|视图 (列名 ,.n )|ON 存储过程|ON用户自定义函数 TO 安全账户 ,.n WITH GRANT OPTION AS 组|角色 使用Grant语句设置权限2011劳东青42p 参数说明参数说明:ALL:表示授予所有可用的权限。权限:当前授予的对象权限。如在表、视图上可授予SELECT、INSERT、DELETE或UPDATE权限;在列上可授予SELECT和UPDATE权限。安全账户:可以是SQL Server用户、SQL Server角色、Windows NT用户、Windows NT组。WITH GRANT OPTION:使被授予权限的用户或角色拥有拥有再将该权限授予其他用户的权限再将该权限授予其他用户的权限。AS 组|角色:作为角色或组的成员使用角色或组的权限。使用Grant语句设置权限2011劳东青43【例15】授予用户Mary、John和Tom对xx数据库的学生表的插入、修改、删除权限。USE xx GRANT INSERT,UPDATE,DELETE ON 学生表 TO Mary,John,Tom【例16】授予角色ss对xx数据库的课程表的插入、修改权限,并允许该角色用户将这些权限授予其他用户或角色。USE xx GRANT INSERT,UPDATE ON 学生表 TO ss with grant option使用Grant语句设置权限2011劳东青44【例17】授予用户xx权限,使其对xx数据库的学生表的性别和姓名列具有修改权限。use xx GRANT UPDATE(性别性别,姓名姓名)ON 学生表 TO xx或:use xx GRANT UPDATE ON 学生表(性别性别,姓名姓名)TO xx 使用Grant语句设置权限2011劳东青45pDeny语句用于拒绝用户或角色的语句权限和对象权限。(1)拒绝语句权限DENY ALL|语句语句,.n TO 安全账户安全账户,.n【例18】拒绝用户xx创建表和创建视图的权限。DENY CREATE TABLE,CREATE VIEW TO xx使用Deny语句2011劳东青46p Deny语句用于拒绝用户或角色的语句权限和对象权限。(2)拒绝对象权限DENYDENY ALL|权限权限 ,.n (列名列名 ,.n )ON 表表|视图视图|ON 表表|视图视图 (列名列名 ,.n )|ON 存储过程存储过程|用户自定义函数用户自定义函数 TO 安全账户安全账户 ,.n CASCADE 使用Deny语句拒绝安全账户的权限时,也将拒绝安全账户的权限时,也将拒绝由安全账户授权的任何其拒绝由安全账户授权的任何其他安全账户的权限。他安全账户的权限。2011劳东青47【例19】拒绝角色ss对学生表的INSERT、UPDATE和DELETE的权限。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劳东青49p Revoke语句用于废除语句权限和对象权限。(2)废除对象权限REVOKE GRANT OPTION FOR ALL|权限 ,.n (列名 ,.n )ON 表|视图|ON 表|视图 (列名 ,.n )|ON 存储过程|用户自定义函数 TO|FROM 安全账户 ,.n CASCADE AS 组|角色 使用Revoke语句2011劳东青50p 参数说明:p GRANT OPTION FOR:指定要收回WITH GRANT OPTION权限。用户仍然具有指定的权限,但是不能将该权限授予其他用户。p CASCADE:收回指定安全账户的权限时,也将收回由其授权的任何其他安全账户的权限。如果要收回的权限原先是通过WITH GRANT OPTION设置授予的,需指定CASCADE和GRANT OPTION FOR 子句,否则将返回一个错误。p AS 组|角色:说明要管理的用户从哪个角色或组继承权限。使用Revoke语句2011劳东青51【例21】废除角色ss对学生表的INSERT、UPDATE和DELETE的权限。REVOKE INSERT,UPDATE,DELETE ON 学生表 From ss【例22】废除用户xx对学生表的性别和姓名列的修改权限。REVOKE UPDATE(性别,姓名)ON 学生表 From xx使用Revoke语句2011劳东青52自习9.5 数据库架构的定义和使用2011劳东青53SEE YOU NEXT TIME.
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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