第章SQLServer25的安全管理ppt课件

上传人:pu****.1 文档编号:568443468 上传时间:2024-07-24 格式:PPT 页数:73 大小:1.20MB
返回 下载 相关 举报
第章SQLServer25的安全管理ppt课件_第1页
第1页 / 共73页
第章SQLServer25的安全管理ppt课件_第2页
第2页 / 共73页
第章SQLServer25的安全管理ppt课件_第3页
第3页 / 共73页
第章SQLServer25的安全管理ppt课件_第4页
第4页 / 共73页
第章SQLServer25的安全管理ppt课件_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《第章SQLServer25的安全管理ppt课件》由会员分享,可在线阅读,更多相关《第章SQLServer25的安全管理ppt课件(73页珍藏版)》请在金锄头文库上搜索。

1、第第10章章 SQL Server 2005的安全管理的安全管理内容提要:n nSQL Server 2005SQL Server 2005数据库系统具有各种高度精确的数据库系统具有各种高度精确的可配置安全特性可配置安全特性, ,可以实现经过优化的深度防御。可以实现经过优化的深度防御。n n本章主要介绍本章主要介绍: :n nSQL Server的安全体系结构n n两种验证模式及其设置n n登录账号的设置n n角色与用户的创建方法n n权限设置与使用嵌均滓缀辣啪况朋钳卿妨钧枣惑藉瞳亚渊鹤构洞阂百翘袁殖寄痉移备含粥第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理

2、ppt课件第第10章章 SQL Server 2005的安全管理的安全管理本章内容:10.1 SQL Server 2005的安全性机制 10.2 管理服务器范围的安全性10.3 管理数据库范围的安全性10.4 管理密匙与证书10.5 权限管理10.6小结叫托土酚拘填喉奢谋快以有顺知虱告每煽兽华浦侈报身考效巨畴榷言卡叶第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.1SQL Server 2005的安全性机制SQLServer2005的安全性机制主要包括以下的安全性机制主要包括以下5个方面的内容:个方面的内容:nSQLServer2005客户机

3、的安全机制。客户机的安全机制。n网络传输的安全机制。网络传输的安全机制。nSQLServer2005服务器的安全机制。服务器的安全机制。n数据库的的安全机制。数据库的的安全机制。n数据对象的安全机制。数据对象的安全机制。辽命资取岳讫愁战殿执嫌纤边格劈抓鹤池蹿绿您稽信钉骆词舵怎散湛归满第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.1SQL Server 2005的安全性机制10.1.1基本概念基本概念若要在若要在SQLServer2005的安全机制下,首先需的安全机制下,首先需要了解下面常用的基本概念或术语。要了解下面常用的基本概念或术语。(1

4、)主体()主体(Principal)。主体是可以请求对)。主体是可以请求对SQLServer资源的访问权限的用户、组和进资源的访问权限的用户、组和进程。主体有几个共同的特征。每个主体都有程。主体有几个共同的特征。每个主体都有自己的安全标识号(自己的安全标识号(SID)。主体可以是主)。主体可以是主体的集合(比如数据库角色或体的集合(比如数据库角色或Windows组)组)或不可分割的主体(比如本地登录或域登录)或不可分割的主体(比如本地登录或域登录)。每个主体有一个作用域,作用域基于定义。每个主体有一个作用域,作用域基于定义主体的级别。主体的级别。主体范围主体范围主体主体Windows级别的级别

5、的主体主体Windows域登录、域登录、Windows本本地登录地登录SQLServer级别级别的主体的主体SQLServer登录、登录、SQLServer角色角色数据库级别的主数据库级别的主体体数据库用户、数据库角色、应数据库用户、数据库角色、应用程序角色用程序角色稽进肪醉蛹辜路沦飘堂籍撅桂躺戌掏恬睛豌扫贱阀狸矫味追鞠辕认肆钦杯第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.1SQL Server 2005的安全性机制10.1.1基本概念基本概念(2)安全对象。安全对象是)安全对象。安全对象是SQLServer2005数据库引擎授权系统控数据

6、库引擎授权系统控制对其进行访问的资源。通过创建制对其进行访问的资源。通过创建可以为自己设置安全性的名为可以为自己设置安全性的名为“范范围围”的嵌套层次结构,可以将某些的嵌套层次结构,可以将某些安全对象包含在其他安全对象中。安全对象包含在其他安全对象中。安全对象范围包括服务器、数据库、安全对象范围包括服务器、数据库、架构和对象。架构和对象。安全对象范围安全对象范围安全对象列表安全对象列表服务器服务器端点、登录用户、数据库端点、登录用户、数据库数据库数据库用户、角色、应用程序角色、程序集、消用户、角色、应用程序角色、程序集、消息类型、路由、服务、远程服务绑定、息类型、路由、服务、远程服务绑定、全文

7、目录、证书、非对称密钥、对称密钥、全文目录、证书、非对称密钥、对称密钥、约定、架构约定、架构架构架构类型、类型、XML架构集合、对象架构集合、对象对象对象聚合、约束、函数、过程、队列、统计信息、聚合、约束、函数、过程、队列、统计信息、同义词、表、视图同义词、表、视图副务崖葫藩超姬抉角抒椭渝完粕蓑蚂璃玉预牢屋瑰孺赢困杜饺递护掸项箍第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.1SQL Server 2005的安全性机制10.1.1基本概念基本概念(3)用户、数据库用户、账户、账号、登录名和用户、数据库用户、账户、账号、登录名和密码。密码。n用户

8、用户是指能够在是指能够在SQLServer2005安全机制下,访问数据安全机制下,访问数据库对象中的数据的操作员或客户。用户若要访问数据库库对象中的数据的操作员或客户。用户若要访问数据库对象,必须获得管理员分配的对象,必须获得管理员分配的账号账号和和密码密码。从从SQLServer2005管理系统的角度来看,用户就是一组匹配的管理系统的角度来看,用户就是一组匹配的账户和密码。账户和密码。n账户和账号账户和账号是一个概念的不同说法,在服务器中的账户是一个概念的不同说法,在服务器中的账户又叫又叫登录名登录名(Login),因此访问服务器也称为登录服),因此访问服务器也称为登录服务器。服务器的登录名

9、可以映射到数据库中成为务器。服务器的登录名可以映射到数据库中成为数据库数据库用户用户。一个登录名可以映射多个数据库用户,而一个用一个登录名可以映射多个数据库用户,而一个用户只能映射一个登录名。户只能映射一个登录名。杉烁沸纸鞍摘疆叠由臂拴拢辗乞粤贴况淳草瞩打堪陇籍原仿羡捎修践炸哭第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.1SQL Server 2005的安全性机制10.1.1基本概念基本概念(4)角色)角色(roles)。角色是。角色是SQLServer2005中中管理权限相近的安全账户的集合,相当于管理权限相近的安全账户的集合,相当于Wi

10、ndows域中的组。域中的组。(5)权限。)权限。权限是权限是SQLServer2005安全性的最安全性的最后一个级别,实际上是安全机制的设计者分配后一个级别,实际上是安全机制的设计者分配给某一个用户(或角色)访问数据库时,对数给某一个用户(或角色)访问数据库时,对数据对象的可以进行的操作集合。要拥有对据对象的可以进行的操作集合。要拥有对SQLServer2005上的安全对象的访问权限,主体必上的安全对象的访问权限,主体必须具有在在数据对象上执行操作的权限。须具有在在数据对象上执行操作的权限。隆倘表辗卢念探契郧珠堵佃徽闷剑证缅烫减穿氟舆淀蜒橙坝蹿毛寅滴荚陨第章SQLServer25的安全管理p

11、pt课件第章SQLServer25的安全管理ppt课件10.1SQL Server 2005的安全性机制10.1.1基本概念基本概念(6)身份验证与授权。身份验证)身份验证与授权。身份验证(Authentication)是是SQLServer2005系统标识系统标识用户或进程的过程,用户或进程的过程,SQLServer2005中有两中有两种身份验证方式:种身份验证方式:nWindows身份验证模式和混合身份验证模式。身份验证模式和混合身份验证模式。客户端自身必须通过服务器的身份验证后才客户端自身必须通过服务器的身份验证后才可以请求其他资源。可以请求其他资源。n授权授权(Authorizatio

12、n)是授予通过身份验证是授予通过身份验证的用户或进程以访问或修改资源的指定权限的用户或进程以访问或修改资源的指定权限的过程。的过程。短近签牵俭堑挛赏忘祸叭则官让污屋彼眠买铡妖垢被擅歼瘟埂犁磐威么横第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.1SQL Server 2005的安全性机制10.1.3查询权限查询权限n用户可以利用用户可以利用fn_my_permissions函数查询用户函数查询用户的有效权限,该函数一般返回调用对方服务器的有效权限,该函数一般返回调用对方服务器的有效权限列表。的有效权限列表。nfn_my_permissions函

13、数语法格式如下:函数语法格式如下:fn_my_permissions(securable,securable_class)fn_my_permissions函数的返回列如表函数的返回列如表10.1所示所示.列名列名类型类型说明说明entity_namesysname对其有效授予所列权限的安全对其有效授予所列权限的安全对象的名称。对象的名称。subentity_namesysname如果安全对象具有列,则为列如果安全对象具有列,则为列名;否则为名;否则为NULL。permission_namenvarchar权限的名称。权限的名称。殆贰坐膀奔玻愤邀侄勃胰郡辩础带嫩驮旦摧坷属见掌企申惫弹嗅女址隐瞳

14、第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.1SQL Server 2005的安全性机制10.1.1基本概念基本概念例例10.1列出对服务器的有效权限。列出对服务器的有效权限。程序代码如下:程序代码如下:USEmasterGOSELECT*FROMfn_my_permissions(NULL,SERVER);GO例例10.2列出对数据库列出对数据库test01的有效权限的有效权限程序代码如下:程序代码如下:USEtest01GOSELECT*FROMfn_my_permissions(NULL,DATABASE);GO嗡惠喷揖义笼词窜贩玖庸

15、弥退披虱逻党肺傣襟真廊填谦绷曹善寡咒渊隔射第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.1SQL Server 2005的安全性机制10.1.1基本概念基本概念例例10.3列出对表的有效权限。列出对表的有效权限。分析:以下示例返回调用方对分析:以下示例返回调用方对teaching数据库内数据库内dbo架构中架构中teacher的有效权限的列表。的有效权限的列表。程序代码如下:程序代码如下:USEteaching;GOSELECT*FROMfn_my_permissions(dbo.teacher,OBJECT)ORDERBYsubentity

16、_name,permission_name;例例10.4列出一个用户的有效权限列出一个用户的有效权限分析:以下示例返回数据库用户分析:以下示例返回数据库用户dbo对对teaching数据库内数据库内dbo架构中架构中score表的有效权限的列表。调用方需要对用户表的有效权限的列表。调用方需要对用户dbo具有具有IMPERSONATE权限。权限。程序代码如下:程序代码如下:EXECUTEASUSER=dbo;SELECT*FROMfn_my_permissions(dbo.score,OBJECT)ORDERBYsubentity_name,permission_name;REVERT;GO宏痒

17、很偶酉蜡姚姻沂湛筹辩诌呐赘摔翅而综移需铜拽树摇搁挚缮桐肿串慧第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.2 管理服务器范围的安全性n服服务务器器访访问问权权限限是是属属于于SQLServer的的第第1个个安安全全层层次次,该该权权限限决决定定是是否否允允许许客客户户端端访访问问服服务务器器,这这个个安全级别总是由安全级别总是由DBA负责。负责。nSQLServer2005支支持持用用Windows或或SQLServer身身份验证模式来验证客户端的身份。份验证模式来验证客户端的身份。10.2.1SQLServer2005的验证模式的验证模式n

18、SQLServer2005的身份验证基于的身份验证基于SQLServer存储在主数存储在主数据库中的登录名和密码。客户端必须提供登录名和密码,据库中的登录名和密码。客户端必须提供登录名和密码,才能获得授权访问服务器。才能获得授权访问服务器。nSQLServer的安全性是和的安全性是和Windows操作系统集成在一起操作系统集成在一起的,因此的,因此SQLServer提供了两种确认用户的验证模式:提供了两种确认用户的验证模式:Windows验证和混合验证模式。验证和混合验证模式。信舶曾源且目初昔柏宁馋查插孵毯秽卢钾跋傍场飞薪今姬朴冉契蓟幢危木第章SQLServer25的安全管理ppt课件第章SQ

19、LServer25的安全管理ppt课件10.2 管理服务器范围的安全性10.2.1SQLServer2005的验证模式的验证模式1.Windows身份验证模式身份验证模式nSQLServer数据库系统通常运行在数据库系统通常运行在Windows服务器平服务器平台上,其本身就具备管理登录、验证用户合法性的能台上,其本身就具备管理登录、验证用户合法性的能力,因此力,因此Windows验证模式正是利用了这一用户安验证模式正是利用了这一用户安全性和账号管理的机制,允许全性和账号管理的机制,允许SQLServer也可以使用也可以使用Windows的用户账户和密码。的用户账户和密码。n在这种模式下,用户只

20、需要通过在这种模式下,用户只需要通过Windows的验证,就的验证,就可以连接到可以连接到SQLServer,而,而SQLServer本身也就不需本身也就不需要管理一套登录数据。要管理一套登录数据。nWindows身份验证通常被认为更安全和更易维护。身份验证通常被认为更安全和更易维护。Windows身份验证对于用户和管理员来说都比较容易身份验证对于用户和管理员来说都比较容易管理。管理。诡饮票已秦驭洼骤靠擒绥舶迫绘匡乏抿服撩划乏郑啃粪搅先硫刃吴蜡迎存第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.2 管理服务器范围的安全性10.2.1SQLSer

21、ver2005的验证模式的验证模式2.混合身份验证模式混合身份验证模式n混合验证模式允许以混合验证模式允许以SQLServer验证模式或者验证模式或者Windows验验证模式来进行验证。证模式来进行验证。n混合验证模式先将客户机的账号和密码与混合验证模式先将客户机的账号和密码与SQLServer2005数据库中存储的账号和密码进行比较,如果符合就通数据库中存储的账号和密码进行比较,如果符合就通过验证;如果不符合,则再和过验证;如果不符合,则再和Windows中存储的账号和密中存储的账号和密码进行比较,如果符合就通过验证。码进行比较,如果符合就通过验证。nMicrosoft公司在公司在SQLSe

22、rver2005中对中对SQLServer身份验身份验证作了一些改进。例如,证作了一些改进。例如,SQLServer实例可以设置为需要实例可以设置为需要安全性更强的口令,以及在指定时间段后要求更新口令。安全性更强的口令,以及在指定时间段后要求更新口令。礼岂蔓迹采淋希桅冠昆茬熔亨哥脂骇沾扔湛该辩尽咙替樟曰通诉郭顷椭缠第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.2 管理服务器范围的安全性10.2.1SQLServer2005的验证模式的验证模式3更新服务器的身份验证机制的步骤更新服务器的身份验证机制的步骤(1)在)在“对象资源管理器对象资源管理

23、器”中,右击中,右击SQLServer2005数据库实例,在弹出的快捷菜单中,选择数据库实例,在弹出的快捷菜单中,选择“属属性性”命令。命令。(2)在)在“服务器属性服务器属性”对话框中选择对话框中选择“安全性安全性”选选项卡。项卡。(3)在)在“服务器身份验证服务器身份验证”区域可以设置服务器身区域可以设置服务器身份验证模式,然后单击份验证模式,然后单击“确定确定”按钮即可完成设置。按钮即可完成设置。(4)重启)重启SQLServer2005,即可改变身份验证模式。,即可改变身份验证模式。交辣考玖休侈沪复密慨蚕骸频嗜粹面疯艰躇卒扑鲁算坞耽送份吼扒杀声公第章SQLServer25的安全管理pp

24、t课件第章SQLServer25的安全管理ppt课件10.2 管理服务器范围的安全性10.2.2服务器角色服务器角色nSQLServer2005的安全体系结构中包括含的安全体系结构中包括含有特定隐含权限的两类预定义的角色:服有特定隐含权限的两类预定义的角色:服务器角色和固定数据库角色。务器角色和固定数据库角色。n服务器角色是执行服务器管理操作的具有服务器角色是执行服务器管理操作的具有相近权限的用户集合。根据相近权限的用户集合。根据SQLServer的的管理任务和重要性等级来把具有管理任务和重要性等级来把具有SQLServer管理职能的用户划分到不同的服务管理职能的用户划分到不同的服务器角色,每

25、一个角色所具有的管理器角色,每一个角色所具有的管理SQLServer的权限都是的权限都是SQLServer内置的。内置的。纺套蓝戴昆敖抠坊治雄更今您弧蜕忍耸薛滑笺哈俞才卉途懈问痰别餐斋伏第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.2 管理服务器范围的安全性10.2.2服务器角色服务器角色n服服务务器器角角色色是是服服务务器器级级别别的的主主体体,可可以以成成为为服服务务器器角角色色的的成成员员以以控控制制服服务务器器作作用用域域中中 的的 可可 保保 护护 对对 象象 。 表表 10.5列列 出出 了了 SQLServer2005默默认认创

26、创建建的的服服务务器器角角色色及及其其功功能。能。nSQLServer2005的的服服务务器器角角色色在在实实例例中中的的位置如图位置如图10.8所示。所示。服务器角色服务器角色权限权限sysadmin拥有拥有SQLServer所有的权限所有的权限serveradmin管理管理SQLServer服务器的配置选项,关闭服务器服务器的配置选项,关闭服务器diskadmin管理磁盘文件管理磁盘文件processadmin管理管理SQLServer系统中运行的进程系统中运行的进程securityadmin审核审核SQLServer系统登录,管理系统登录,管理CREATEDATABASE权限、读取错误日

27、志和修改密码权限、读取错误日志和修改密码setupadmin管理链接服务器和启动过程管理链接服务器和启动过程dbcreator创建、修改和删除数据库创建、修改和删除数据库bulkadmin可以执行可以执行BULKINSERT语句,进行大容量操作语句,进行大容量操作勒腮檄梆东康侈檄兽呵让谈腾吧拆维霄盒侠亿见齿毙蹬兵虾殃茎崖拱粗峡第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.2 管理服务器范围的安全性10.2.3管理登录名管理登录名登录名就是可以访问登录名就是可以访问SQLServer数据库系统的账户。数据库系统的账户。1利用利用SQLServe

28、rManagementStudio创建登录名创建登录名(1)启动)启动SQLServerManagementStudio工具后,工具后,在在“对象资源管理器对象资源管理器”下,右击下,右击“安全性安全性”下的下的“登录名登录名”节点,在弹出的快捷菜单中选择节点,在弹出的快捷菜单中选择“新新建登录名建登录名”命令。命令。(2)在)在“登录名登录名-新建新建”界面上,设置登录名界面上,设置登录名(te_login)、身份验证模式()、身份验证模式(SQLServer身份身份验证)、密码(验证)、密码(123456)、默认数据库)、默认数据库(teaching)和语言的类型等,如图)和语言的类型等,

29、如图10.9所示。所示。德掠翁涤绍瀑哀拣买花阿圃锰瓦碱弟该怖沟贬赢言侧喧酬惕石抄削布趟割第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.2 管理服务器范围的安全性10.2.3管理登录名管理登录名1利用利用SQLServerManagementStudio创建登录名创建登录名(3)可以选择)可以选择“服务器角色服务器角色”选项卡,配置登录的选项卡,配置登录的服务器角色,如服务器角色,如sysadmin。(4)也可以选择其他选项卡进行)也可以选择其他选项卡进行“用户映射用户映射”、“安全对象安全对象”和和“状态状态”的配置。的配置。(5)然后单击)

30、然后单击“确定确定”按钮即可完成登录名的创建。按钮即可完成登录名的创建。(6)可以在)可以在“对象资源管理器对象资源管理器”下查看新建登录名下查看新建登录名如图如图10.10所示。所示。涅窟褒确沿夫发庙呻怯疵枝瑚趴剁稚寓爆话斋诽乍侄贞练慎俞汰挚咯梁波第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.2 管理服务器范围的安全性10.2.3管理登录名管理登录名1利用利用SQLServerManagementStudio创建登录名创建登录名(7)右击登录名)右击登录名te_login,在弹出的快捷菜单中,在弹出的快捷菜单中,选择选择“编写登录脚本为:编

31、写登录脚本为:”|“CREATE到到”|“新新查询编辑器窗口查询编辑器窗口”命令,系统将创建登录名的过命令,系统将创建登录名的过程以脚本形式保存下来。由此可知利用程以脚本形式保存下来。由此可知利用Transact-SQL语句创建登录名的方法。语句创建登录名的方法。脚本中的主要代码如下:脚本中的主要代码如下:CREATELOGINte_loginWITHPASSWORD=N123456,DEFAULT_DATABASE=teaching,DEFAULT_LANGUAGE=简体中文简体中文,CHECK_EXPIRATION=OFF,CHECK_POLICY=OFFGOEXECsys.sp_adds

32、rvrolememberloginame=Nte_login,rolename=NsysadminGOALTERLOGINte_loginDISABLE辱瞻致盼姨据刘长卒峪肠品槛尔勿述筐脸婚些贪踩涧帅孤脆慨子搞谣分挞第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.2 管理服务器范围的安全性10.2.3管理登录名管理登录名2测试登录名测试登录名下面使用下面使用SQLServerManagementStudio测试新登录测试新登录名是否成功连接服务器。名是否成功连接服务器。(1)右击)右击SQLServer中的实例,在快捷菜单中选择中的实例,在快捷

33、菜单中选择“连接连接”命令。命令。(2)在弹出的)在弹出的“连接服务器连接服务器”界面中,选择界面中,选择SQLServe身份验证,然后输入登录名和密码,如图身份验证,然后输入登录名和密码,如图10.11所示。所示。(3)单击)单击“连接连接”按钮可以测试连接是否成功。如图按钮可以测试连接是否成功。如图10.12所示。所示。鲜贺迈痛侦给赚苑辅推威鸥殷自蚤盈陇婶蝎瓤撒妥咋僻雄熏丫浑浴特员槐第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.2 管理服务器范围的安全性10.2.3管理登录名管理登录名3利用系统过程管理登录名利用系统过程管理登录名利用利用

34、master数据库下的下列系统存储过程数据库下的下列系统存储过程sp_addlogin、sp_droplogin、sp_password也可以用于管理也可以用于管理SQLServer的登录名。的登录名。(1)sp_addlogin。系统过程。系统过程sp_addlogin可以用于可以用于创建创建SQLServer登录名,用户可以通过该登录访问登录名,用户可以通过该登录访问SQLServer系统,其语法过程如下:系统,其语法过程如下:sp_addloginlogin_name,passwd,database,language例例10.5利用系统过程利用系统过程sp_addlogin向向“职员管理

35、职员管理”数据库创建数据库创建3个新登录。个新登录。sp_addloginrose,aabbcc,teachingGOsp_addloginhanry,aabbcc,teachingGOsp_addloginpool,aabbcc,teachingGO鸳名模阔虑项胡柬槛位臻籍物猪竣郎仍黍勤脐搞扇奶柠琐积馈汞屠高糙退第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.2 管理服务器范围的安全性10.2.3管理登录名管理登录名3利用系统过程管理登录名利用系统过程管理登录名(2)sp_droplogin。利用系统存储过程。利用系统存储过程sp_dropl

36、ogin可以删除一个现有的可以删除一个现有的SQLServer登录名,登录名,sp_droplogin系统过程可以通过系统表系统过程可以通过系统表syslogins中删中删除相应的行来达到删除登录名的目的。除相应的行来达到删除登录名的目的。需要注意的是需要注意的是,正在访问的正在访问的SQLServer2005系统中的系统中的任何一个数据库的任何一个数据库的SQLServer登录名是不能被删除登录名是不能被删除的。若要删除某登录名,必须先利用系统过程的。若要删除某登录名,必须先利用系统过程sp_revokedbaccess删除相应的数据库用户。删除相应的数据库用户。合锅绿毖紧袭汹司霉磐漆翠悯艳

37、荔遭徊渡为扛语速米弯渊姬嘛又恳抡赡赐第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.2 管理服务器范围的安全性10.2.3管理登录名管理登录名3利用系统过程管理登录名利用系统过程管理登录名(3)sp_password。系统存储过程。系统存储过程sp_password为为SQLServer登录创建密码,或替换现有的口令密码。登录创建密码,或替换现有的口令密码。利用该过程用户可以随时修改自己的口令密码,系利用该过程用户可以随时修改自己的口令密码,系统管理员通过统管理员通过sp_password可以更改任何口令密码。可以更改任何口令密码。例如:例如:

38、sp_passwordaabbcc,112233,hanry专役赂婆一清孜辊东涂骑固回倍绅妊潭绕瞳哼镊副喊求辉垦申辕雅津咐廷第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.2 管理服务器范围的安全性10.2.3管理登录名管理登录名4.密码的复杂性策略密码的复杂性策略SQLServer2005的密码复杂性策略是指一系列限制密码复杂性的密码复杂性策略是指一系列限制密码复杂性的规则。密码复杂性策略通过增加可能密码的数量来阻止强的规则。密码复杂性策略通过增加可能密码的数量来阻止强力攻击。实施密码复杂性策略时,新密码必须符合以下原则:力攻击。实施密码复杂

39、性策略时,新密码必须符合以下原则:n长度至少有长度至少有6个字符,最多可包含个字符,最多可包含128个字符。个字符。n密码包含以下密码包含以下4类字符中的类字符中的3类:类:英文大写字母英文大写字母(A-Z)、英文小写字母英文小写字母(a-z)、10个基本数字个基本数字(0-9)、非字母数、非字母数字(例如:字(例如:!、$、#或或%)n字典中查不到,且不是命令名、人名或用户名,不得包含字典中查不到,且不是命令名、人名或用户名,不得包含全部或部分用户名。全部或部分用户名。n定期更改且与以前的密码明显不同的密码。定期更改且与以前的密码明显不同的密码。失拌羽乏咬休骚腑鞍诈芦淫妓评掀卤凡牟额浊坷手指

40、砰凡谣哭朴乏潦火惶第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.2 管理服务器范围的安全性10.2.4管理凭据管理凭据凭据是包含连接到凭据是包含连接到SQLServer之外的资源所需的身之外的资源所需的身份验证信息的记录。份验证信息的记录。1凭据的构成凭据的构成n大多数凭据包含一个大多数凭据包含一个Windows登录名和密码。通过凭据,登录名和密码。通过凭据,使用使用SQLServer身份验证连接到身份验证连接到SQLServer的用户可以的用户可以连接到连接到Windows或其他或其他SQLServer以外的资源。以外的资源。n在创建凭据之

41、后,可以将凭据映射到登录名。单个凭据在创建凭据之后,可以将凭据映射到登录名。单个凭据可映射到多个可映射到多个SQLServer登录名,但是一个登录名,但是一个SQLServer登录名只能映射到一个凭据。登录名只能映射到一个凭据。n系统凭据是自动创建的,并与特定端点关联,其名称以系统凭据是自动创建的,并与特定端点关联,其名称以#开头。开头。桌镐凰光君扯歹燃肌低褪壁夹捶况拓撞涟红史素扇铡瘪眺渐霉逃劫侩烬际第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.2 管理服务器范围的安全性10.2.4管理凭据管理凭据2.创建凭据的过程创建凭据的过程下面介绍创建

42、凭据平局下面介绍创建凭据平局pingju的一般步骤。的一般步骤。(1)在)在“对象资源管理器对象资源管理器”下,右击下,右击“安全性安全性”下的下的“凭据凭据”节点,在弹出的快捷菜单中选择节点,在弹出的快捷菜单中选择“新建凭新建凭据据”命令命令。(2)在弹出的)在弹出的“新建凭据新建凭据”对话框中,输入凭据名称对话框中,输入凭据名称(pingju)、标识()、标识(JIANG-N9VJWXJ11Administrator)和密码,如图)和密码,如图10.13所示,即可完成所示,即可完成创建凭据的操作。创建凭据的操作。溶率泞妆费态录支针敦徘弦三砖坑涤渤掷熄赴膏殷帐初趁南酸粘淫姓濒陷第章SQLSe

43、rver25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.2 管理服务器范围的安全性10.2.4管理凭据管理凭据2.创建凭据的过程创建凭据的过程例例10.6在在sys.credentials目录视图中查看凭据的有关目录视图中查看凭据的有关信息。信息。分析:用户可以利用分析:用户可以利用SELECT语句在语句在sys.credentials目目录视图中查看凭据的相关信息。录视图中查看凭据的相关信息。程序代码如下:程序代码如下:SELECT*FROMsys.credentials例例10.7创建映射到凭据的登录名创建映射到凭据的登录名分析:创建一个登录名分析:创建一个登录

44、名USER1,然后将其映,然后将其映射到凭据射到凭据pingju。程序代码如下:程序代码如下:CREATELOGINUSER1WITHPASSWORD=1A2B3C4DCREENTIAL=pingjuGO颈哺杰火讫狂捧遣莹阿拜衙昏灭恨悼佣蔫撅扑赤浙姬竖据竖雨儒解子妒趋第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性访问一个服务器并不意味着用户自动拥有数访问一个服务器并不意味着用户自动拥有数据库的访问权限。据库的访问权限。DBA以下列方式之一指定一个以下列方式之一指定一个数据库登录用户:数据库登录用户:n在每个用户需要访

45、问的数据库中,创建一个与在每个用户需要访问的数据库中,创建一个与用户登录名对应的数据库用户。用户登录名对应的数据库用户。n将数据库配置为把登录名或数据库用户作为数将数据库配置为把登录名或数据库用户作为数据库角色的成员对待的方式,使得用户能够继据库角色的成员对待的方式,使得用户能够继承角色中的所有权限。承角色中的所有权限。n将登录名设置为使用默认账户之一:将登录名设置为使用默认账户之一:guest或或dbo(数据库拥有者)。(数据库拥有者)。一旦授予了对数据库的访问权限,用户就可以看到一旦授予了对数据库的访问权限,用户就可以看到所有数据库对象。所有数据库对象。情勤仪茵能裁占撂牧素翁创执赂凹苗驭密

46、蜂美井湾劣附驳迅邮精逝蔬遮械第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.1数据库角色数据库角色数据库角色是在数据库级别定义的,并且存在于每数据库角色是在数据库级别定义的,并且存在于每个数据库中,是对数据库对象操作权限的集合。个数据库中,是对数据库对象操作权限的集合。SQLServer2005的数据库角色分为固定数据库角的数据库角色分为固定数据库角色和用户自定义数据库角色。后者又分为标准角色和用户自定义数据库角色。后者又分为标准角色和应用程序角色两种。色和应用程序角色两种。1固定数据库角色固定数据库角色n固

47、定数据库角色是数据库级别的主体,可以管理固定数据库角色是数据库级别的主体,可以管理数据库作用域的可保护对象,其中,数据库作用域的可保护对象,其中,public公有公有角色比较特殊。角色比较特殊。n每个被授予对数据库的访问权限的用户会自动成每个被授予对数据库的访问权限的用户会自动成为公有角色的成员,并继承授予它的权限。为公有角色的成员,并继承授予它的权限。椰帮层妓嫉矿贬照韩榷出欧瘴泽遂庆馁触抹瞒称吁桐砒甫雪葫整情又仙涡第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.1数据库角色数据库角色1固定数据库角色固定数据

48、库角色一般情况下,一般情况下,public角色允许用户做以下操作:角色允许用户做以下操作:npublic角色为数据库中所有用户保持默认权限。当尚角色为数据库中所有用户保持默认权限。当尚未对某个用户授予或拒绝对安全对象的特定权限时,未对某个用户授予或拒绝对安全对象的特定权限时,则该用户将继承授予该安全对象的则该用户将继承授予该安全对象的public角色的权角色的权限。限。n通过通过guest账户访问任意数据库。账户访问任意数据库。n用某些系统存储过程显示用某些系统存储过程显示master数据库中的信息,数据库中的信息,查看系统表。查看系统表。n执行一些不需要权限的语句,例如执行一些不需要权限的语

49、句,例如PRINT。表表10.6具体列出了所有数据库角色的功能。具体列出了所有数据库角色的功能。固定服务器角色固定服务器角色功能简介功能简介public维护全部默认权限维护全部默认权限db_denydatawriter不能对数据库中的任何表执行增加、不能对数据库中的任何表执行增加、修改和删除数据操作修改和删除数据操作db_denydatareader不能读取数据库中任何表中的数据不能读取数据库中任何表中的数据db_datawriter能够增加、修改和删除表中的数据能够增加、修改和删除表中的数据db_datareader能且仅能对数据库中的任何表执行能且仅能对数据库中的任何表执行SELECT操作

50、,读取所有表的信息操作,读取所有表的信息db_backupoperator可以发出可以发出DBCC、CHECKPOINT和和BACKUP语句语句db_securityadmin可以管理全部权限、对象所有权、角可以管理全部权限、对象所有权、角色和用户色和用户db_addladmin可以发出可以发出ALLDDL但不能使用但不能使用GRANT、REVOKE或或DENY语句语句db_accessadmin可以增加或者删除用户标识可以增加或者删除用户标识db_owner数据库的所有者,可以对所拥有的数据库的所有者,可以对所拥有的数据库执行任何操作数据库执行任何操作姚挚匡效恼樟坍渤从泌妆联汝肋摇卉尝曳蠢蒲

51、匈量鸦俺申纶贮赃润腾蜡秆第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.1数据库角色数据库角色1固定数据库角色固定数据库角色对于某个数据库而言,每一个数据库角色都有它对于某个数据库而言,每一个数据库角色都有它特定的许可。可以用系统过程特定的许可。可以用系统过程sp_dbfixdrolepermission来查看每一个固定数据来查看每一个固定数据库角色的许可。如果不指定库角色的许可。如果不指定role的值,所有固定的值,所有固定服务器角色的许可都会显示出来。服务器角色的许可都会显示出来。这个存储过程的语法结构为

52、:这个存储过程的语法结构为:sp_dbfixedrolepermissionrolename=role例如:例如:EXECsp_dbfixedrolepermissiondb_ddladmin蓉舅囚辈梳碘陛民铸瘦中胖十骆肤缔擅化桐究稗磷细争唬褥潍奴察仙澜祖第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.1数据库角色数据库角色2.自定义数据库角色自定义数据库角色可以创建一个数据库角色,并赋予对数据库作用域和架构可以创建一个数据库角色,并赋予对数据库作用域和架构作用域的可保护对象的访问权限。一个用户可以是若干作用

53、域的可保护对象的访问权限。一个用户可以是若干个数据库角色的成员。个数据库角色的成员。创建角色的步骤如下创建角色的步骤如下(1)在)在“对象资源管理器对象资源管理器”下,展开数据库下,展开数据库teaching,右击右击“安全性安全性”|“角色角色”,在弹出的快捷菜单中选择,在弹出的快捷菜单中选择“新建新建”|“数据库角色数据库角色”命令。命令。(2)在弹出的)在弹出的“数据库角色数据库角色-新建新建”窗体中的窗体中的“常规常规”选选项卡中,输入角色名项卡中,输入角色名jsj09、所有者名、所有者名te_login,并选择,并选择架构,如图架构,如图10.15所示。所示。莆边纠凋攘染锄纹敢掳豢佑

54、寻戴圾凿兽本负曲渔非枚暴逼铬秧亩切殉勾氢第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.1数据库角色数据库角色2.自定义数据库角色自定义数据库角色创建角色的步骤如下创建角色的步骤如下(3)在)在“安全对象安全对象”选项卡中,单击选项卡中,单击“添加添加”按按钮,在弹出的钮,在弹出的“添加对象添加对象”对话框中,选择其对话框中,选择其中一项,如中一项,如“特定对象。特定对象。(4)单击)单击“确定确定”按钮,按照示例提示选择数据按钮,按照示例提示选择数据对象。对象。(5)单击)单击“确定确定”按钮,返回如图按钮

55、,返回如图10.18所示的所示的“安全对象安全对象”选项卡中为表设置权限后。单击选项卡中为表设置权限后。单击“确定确定”按钮,数据库角色按钮,数据库角色jsj09创建完毕。创建完毕。献巨奶把呀耸苍疾藤沟叫疚挠旗渐砚吻披壬叁冈劲籽客漏喇杭富阁饵缘冯第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.1数据库角色数据库角色3.应用程序角色应用程序角色应用程序角色应用程序角色(Applicationrole)是在没有成员的是在没有成员的数据库级别上定义的,数据库级别上定义的,Microsoft创建应用程序创建应用程序角

56、色目的是防止用户直接访问底层表数据。应角色目的是防止用户直接访问底层表数据。应用程序角色可以加强对某一个特别的应用程序用程序角色可以加强对某一个特别的应用程序的安全性。的安全性。例如,某公司职员只是用某个特定的应用程序来例如,某公司职员只是用某个特定的应用程序来修改员工数据信息,那么就可以为其建立应用修改员工数据信息,那么就可以为其建立应用程序角色。程序角色。漫溯傲羌锥瓣德名胆椒赦廖泛武很除咀毗溢矛墨担皇叼砍杨御堕瞥伶邱奥第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.1数据库角色数据库角色3.应用程序角色应

57、用程序角色应用程序角色和所有其他的角色都有很大不同。应用程序角色和所有其他的角色都有很大不同。n应用程序角色没有成员,因为它们只是应用程序中使用,应用程序角色没有成员,因为它们只是应用程序中使用,所以不需要直接对某些用户赋予权限。所以不需要直接对某些用户赋予权限。n必须为应用程序角色设计一个密码以激活它。当应用程必须为应用程序角色设计一个密码以激活它。当应用程序角色被应用程序的会话激活以后,会话就会失去所有序角色被应用程序的会话激活以后,会话就会失去所有属于登录、用户账号或角色的权限,会话只能通过属于登录、用户账号或角色的权限,会话只能通过guest用户账号的权限来访问其他数据库。用户账号的权

58、限来访问其他数据库。n如果在数据库中没有如果在数据库中没有guest用户账号的话,会话就不能用户账号的话,会话就不能获得访问数据库的权限。获得访问数据库的权限。担勒行称却鸵徘哥戴涧泻成篱吝绘呸畴痈必斌慈羔杠府走冗批乞拯丹采打第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.1数据库角色数据库角色3.应用程序角色应用程序角色(1)利用)利用SQLServerManagementStudio创建应创建应用程序角色的步骤用程序角色的步骤在在“对象资源管理器对象资源管理器”下,展开数据库下,展开数据库teaching,

59、右击,右击“安全性安全性”|“角色角色”,在弹出,在弹出的快捷菜单中选择的快捷菜单中选择“新建新建”|“应用程序角色应用程序角色”命令。命令。在弹出的在弹出的“应用程序角色应用程序角色-新建新建”对话框的对话框的“常规常规”选项卡中,输入角色名称、默认架构和选项卡中,输入角色名称、默认架构和密码,如图密码,如图10.19所示。所示。失凌您桃铀帜财戈萍寿刁淡耿鸡漫朽剂杯诽趣专惜装杏温藐窝碗战难赊臭第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.1数据库角色数据库角色3.应用程序角色应用程序角色(1)利用)利用S

60、QLServerManagementStudio创建应用程序创建应用程序角色的步骤角色的步骤参照创建数据库角色时的步骤设置参照创建数据库角色时的步骤设置“安全对象安全对象”选项选项卡后,单击卡后,单击“确定确定”按钮,应用程序角色建成。按钮,应用程序角色建成。查看创建应用程序角色的脚本,应用程序角色查看创建应用程序角色的脚本,应用程序角色jsj10的的脚本如下:脚本如下:USEteachingGOCREATEAPPLICATIONROLEjsj10WITHDEFAULT_SCHEMA=dbo,PASSWORD=Naaaaaa杉蹭鲸迁售趣肠郸搁华膜造确肤斋靠棒菱椽多吻喘遭唆短俭军口抗喘鱼嫡第章S

61、QLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.1数据库角色数据库角色3.应用程序角色应用程序角色(2)使用系统过程)使用系统过程sp_addapprole来创建应用程序角色,来创建应用程序角色,并且赋予它们权限,这个过程的语法结构为:并且赋予它们权限,这个过程的语法结构为:sp_addapprolerolenamerolepasswd_name=password(3)激活应用程序角色)激活应用程序角色:当一个连接启动以后,必须执行当一个连接启动以后,必须执行系统过程系统过程sp_setapprole来激活应用程序

62、角色所拥有的权来激活应用程序角色所拥有的权限。这个过程的语法结构为:限。这个过程的语法结构为:sp_setapprolerolenamerolepasswd=password,encrypt=encrypt_style例如,激活应用程序角色例如,激活应用程序角色jsj10的命令如下:的命令如下:Execsp_setapprolejsj10,aaaaaa当用系统存储过程当用系统存储过程sp_setapprole激活应用程序角色激活应用程序角色的时候,可以了解到应用程序角色总是和数据库绑的时候,可以了解到应用程序角色总是和数据库绑定的,即应用的范围是当前数据库,如果在会话中定的,即应用的范围是当前

63、数据库,如果在会话中改变了当前数据库,那么你就只能做那个数据库中改变了当前数据库,那么你就只能做那个数据库中允许的操作。允许的操作。够贝墒摘芹姜躁增沤臀醒郑捻捡驻夕赫在氏轰拇荤苫速敬亲综毋肌隧旦丛第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.1数据库角色数据库角色4管理数据库架构管理数据库架构架构架构(schema)是管理数据对象的逻辑单位,是形是管理数据对象的逻辑单位,是形成单个命名空间的数据库对象的集合。成单个命名空间的数据库对象的集合。多个用户可以共享一个默认架构以进行统一名称多个用户可以共享一个默认

64、架构以进行统一名称解析。开发人员通过共享默认架构可以将共享解析。开发人员通过共享默认架构可以将共享对象存储在为特定应用程序专门创建的架构中,对象存储在为特定应用程序专门创建的架构中,而不是而不是DBO架构中。架构中。SQLServer2005在引入架构后,访问数据库对象在引入架构后,访问数据库对象的完全限定模式为:的完全限定模式为:sever.database.schema.object刘缮账幅招河滴辟耽吁獭玉鹅题僚题段肿勤蹲负掷劈倡露驳坚浊瓣滑拖脑第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.1数据库角色

65、数据库角色4管理数据库架构管理数据库架构下面介绍创建数据库架构的步骤。下面介绍创建数据库架构的步骤。(1)在)在“对象资源管理器对象资源管理器”下,展开数据库下,展开数据库teaching,右击,右击“安全性安全性”|“架构架构”,在快捷菜单中选择,在快捷菜单中选择“新建架构新建架构”命令。命令。(2)在弹出的)在弹出的“架构架构-新建新建”窗体中的窗体中的“常规常规”选项卡中,输选项卡中,输入架构名入架构名schema1、架构所有者名、架构所有者名public。(3)在)在“权限权限”选项卡中,单击选项卡中,单击“添加添加”按钮,在弹出的按钮,在弹出的“选择用户和角色选择用户和角色”对话框中

66、,选择对象类型和对象。对话框中,选择对象类型和对象。(4)单击)单击“确定确定”按钮,在如图按钮,在如图10.22所示的所示的“权限权限”选项卡选项卡中为用户和角色设置权限后。单击中为用户和角色设置权限后。单击“确定确定”按钮,数据库架按钮,数据库架构构schema1创建完毕。创建完毕。鸦衙蛹攻病重沟慷典年麓糙胁贿鲜巧村粤量苔钟劈税毛韧饲强驰付漆自黑第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.1数据库角色数据库角色4管理数据库架构管理数据库架构下面介绍创建数据库架构的步骤。下面介绍创建数据库架构的步骤。(

67、5)对)对“架构架构”项进行刷新,即可观察到新建的架构项进行刷新,即可观察到新建的架构schema1。还可以通过执行创建脚本的操作查看创建架构的代码。还可以通过执行创建脚本的操作查看创建架构的代码。同样同样:n也可以通过也可以通过SQLServerManagementStudio图形工具和图形工具和Transact-SQL命令对架构进行修改和删除。命令对架构进行修改和删除。n在在SQLServer2005中,多个用户可以通过角色和成员身份拥中,多个用户可以通过角色和成员身份拥有一个架构,可以对该架构进行安全权限的设置。有一个架构,可以对该架构进行安全权限的设置。n多个用户可以共享一个默认架构,

68、进行统一的名称解析。删除多个用户可以共享一个默认架构,进行统一的名称解析。删除数据库用户不必再修改和测试显示引用这些对象的应用程序。数据库用户不必再修改和测试显示引用这些对象的应用程序。烙眯互响兹绪霜暂滩部伪验杉档韦才瑚虐庶兄梭蜡谋斋荐组镍腋虽摇灾丙第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.2管理数据库用户管理数据库用户数据库用户是访问某个特定数据库的主体。数据库用户是访问某个特定数据库的主体。1利用利用SQLServerManagementStudio创建创建数据库用户数据库用户(1)在)在“对象资源

69、管理器对象资源管理器”下,展开数据库下,展开数据库teaching,右击,右击“安全性安全性”|“用户用户”,在弹,在弹出的快捷菜单中选择出的快捷菜单中选择“新建新建”|“用户用户”命命令。令。(2)在弹出的)在弹出的“数据库用户数据库用户-新建新建”窗体中的窗体中的“常规常规”选项卡中,输入用户名选项卡中,输入用户名hans、选择、选择登录名登录名te_login,并选择架构,如图,并选择架构,如图10.23所所示。也可以指定示。也可以指定“默认架构默认架构”项。项。航恒活酬作掀维箍味抱培双巢榷腮催亏苍熬造肃升芬孕扰殉诞肿僧泉蛤钉第章SQLServer25的安全管理ppt课件第章SQLSer

70、ver25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.2管理数据库用户管理数据库用户数据库用户是访问某个特定数据库的主体。数据库用户是访问某个特定数据库的主体。1利用利用SQLServerManagementStudio创建创建数据库用户数据库用户(3)在)在“安全对象安全对象”选项卡中,添加用户的安全对选项卡中,添加用户的安全对象。象。(4)单击)单击“脚本脚本”按钮,可以生成如下脚本代码:按钮,可以生成如下脚本代码:(5)单击)单击“确定确定”按钮,数据库用户按钮,数据库用户hans创建完毕。创建完毕。旧设歧皱课审吾禾荆玉补依步满错诗烟熄挪浦辗沥积芒疗婶瞬垣平谈虎戎第章S

71、QLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.2管理数据库用户管理数据库用户2利用利用Transact-SQL命令创建数据库用户命令创建数据库用户向当前数据库添加用户的向当前数据库添加用户的Transact-SQL语法如下:语法如下:CREATEUSERuser_nameFOR|FROMLOGINlogin_name|CERTIFICATEcert_name|ASYMMETRICKEYasym_key_name|WITHOUTLOGINWITHDEFAULT_SCHEMA=schema_name例例10.8在在t

72、eaching数据库中创建用户数据库中创建用户AbolCREATELOGINAbolWITHPASSWORD=327Shy;USEteaching;CREATEUSERAbol;GO蜒奔圆瞻驴皂扬报兴你堕赁七牡镁击闰戈粘垂挛缆憨诲痕溜啮捆衬头输睡第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.3特殊用户特殊用户所有所有SQLServer2005数据库中均提供的一种数据库中均提供的一种特殊用户,不能从任何数据库中删除该用户。特殊用户,不能从任何数据库中删除该用户。1guest用户用户guest(游客)用户在默认

73、情况下存在于所有(游客)用户在默认情况下存在于所有数据库,且是禁用的。授予数据库,且是禁用的。授予guest用户的权限用户的权限由在数据库中没有账号的用户继承。由在数据库中没有账号的用户继承。炳符晒帝礁灌京客侩竹宜楞庐讨麦晴瞎蓟涌场庙母叔烃赘殷晤回俏孟普短第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.3特殊用户特殊用户1guest用户用户guest用户还具有如下特点:用户还具有如下特点:(1)guest用户不能删除,但可以通过在用户不能删除,但可以通过在master和和temp以外的任何数据库中执行以外的任

74、何数据库中执行REVOKECONNECTFROMGUEST来撤消该用户的来撤消该用户的CONNECT权限,从而禁用该用户。权限,从而禁用该用户。(2)guest用户允许没有账号的用户访问数据库。用户允许没有账号的用户访问数据库。(3)应用程序角色是数据库级别的主体,只能通)应用程序角色是数据库级别的主体,只能通过其他数据库中授予过其他数据库中授予guest用户的权限来访问这用户的权限来访问这些数据库。因此,任何已禁用些数据库。因此,任何已禁用guest用户的数据库用户的数据库对其他数据库中的应用程序角色都是不可访问的。对其他数据库中的应用程序角色都是不可访问的。饰萤潍钎贴睛瞻卞零遣般作揍糖奄馒

75、胜遣眼阁遂奉露扇妈拆坐聋闽触腊釜第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.3 管理数据库范围的安全性10.3.3特殊用户特殊用户2dbo用户用户dbo是具有在数据库中执行所有活动的暗示性权限的用户。是具有在数据库中执行所有活动的暗示性权限的用户。固定服务器角色固定服务器角色sysadmin的任何成员都映射到每个数据的任何成员都映射到每个数据库内的称为库内的称为dbo的特殊用户上,由固定服务器角色的特殊用户上,由固定服务器角色sysadmin的任何成员创建的任何对象都自动属于的任何成员创建的任何对象都自动属于dbo。另外,另外,dbo用户还

76、具有如下特点:用户还具有如下特点:(1)dbo用户无法删除,而且始终存在于每个数据库中。用户无法删除,而且始终存在于每个数据库中。(2)只有固定服务器角色)只有固定服务器角色sysadmin的成员或的成员或dbo用户创建用户创建的对象才属于的对象才属于dbo。(3)dbo拥有和固定服务器角色拥有和固定服务器角色db_owner中的成员有着同中的成员有着同样的权力,样的权力,dbo是唯一一个能在是唯一一个能在db_owner角色中加入成员角色中加入成员的用户。的用户。蒙丽起禹免玫虐溺郴支刨粥溶所陌乱千饯彦奄痈净玫量苛脂腐启洛基爹豢第章SQLServer25的安全管理ppt课件第章SQLServe

77、r25的安全管理ppt课件10.4 管理密匙与证书SQLServer2005的加密策略和机制对主要包括密码的加密策略和机制对主要包括密码系统架构、密钥与证书的使用。利用此机制可以对系统架构、密钥与证书的使用。利用此机制可以对数据库访问进行加密,也可对数据进行加密。数据库访问进行加密,也可对数据进行加密。10.4.1SQLServer2005的密码系统架构的密码系统架构nSQLServer2005用分层加密和密钥管理基础结构用分层加密和密钥管理基础结构来加密数据。来加密数据。n每一层都使用证书、非对称密钥和对称密钥的组合每一层都使用证书、非对称密钥和对称密钥的组合对它下面的一层进行加密。对它下面

78、的一层进行加密。n如图如图10.24所示,加密层次结构与所示,加密层次结构与权限层次结构权限层次结构中中介绍的安全对象的层次结构相似。介绍的安全对象的层次结构相似。毒留响弘蚜岗湍吻隘缝路彝伺蛛差块窖片尘墓眨坑圭炕雀孰愧西笼非淹廷第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.4 管理密匙与证书10.4.1SQLServer2005的密码系统架构的密码系统架构n加密层次结构的每一层是如何对它下面的一层进行加密的加密层次结构的每一层是如何对它下面的一层进行加密的:n顶层的服务主密钥是用顶层的服务主密钥是用WindowsDPAPI进行加密的。进行加密

79、的。n服务主密钥是加密层次结构的根。此密钥是在安装服务主密钥是加密层次结构的根。此密钥是在安装MicrosoftSQLServer2005实例时自动生成的,并受实例时自动生成的,并受Windows数据保护数据保护API保护。保护。n只有创建服务主密钥的只有创建服务主密钥的Windows服务账户或有权访问服服务账户或有权访问服务账户名称和密码的主体能够打开服务主密钥。务账户名称和密码的主体能够打开服务主密钥。n具有重新生成或还原服务主密钥涉及解密和重新加密完整具有重新生成或还原服务主密钥涉及解密和重新加密完整的加密层次结构。的加密层次结构。n备份服务主密钥可以将备份副本存储在一个安全、较远的备份

80、服务主密钥可以将备份副本存储在一个安全、较远的位置。位置。果商淹章谅坊哼放改虐噶既氖譬刘馒郑惨汽明磊笋只伸砌烷楷大傻张燥杂第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.4 管理密匙与证书10.4.2创建密钥创建密钥密钥分为非对称密钥和对称密钥。密钥分为非对称密钥和对称密钥。n对称密钥对称密钥是加密和解密都使用的一个密钥。使用对称密钥是加密和解密都使用的一个密钥。使用对称密钥进行加密和解密非常快,并且适用于使用数据库中的敏感进行加密和解密非常快,并且适用于使用数据库中的敏感数据的例程。对称密钥具有速度快,系统占用资源少,密数据的例程。对称密钥具

81、有速度快,系统占用资源少,密钥的安全分发困难的特点。钥的安全分发困难的特点。n非对称密钥非对称密钥由私钥和对应的公钥组成。每个密钥都可以解由私钥和对应的公钥组成。每个密钥都可以解密另一个密钥加密的数据。非对称加密和解密相对来说会密另一个密钥加密的数据。非对称加密和解密相对来说会消耗大量资源,但它们比对称加密提供了更高的安全级别。消耗大量资源,但它们比对称加密提供了更高的安全级别。非对称密钥可用于加密对称密钥,以便存储在数据库中。非对称密钥可用于加密对称密钥,以便存储在数据库中。非对称密钥具有加密、解密速度慢,占用系统占用资源较非对称密钥具有加密、解密速度慢,占用系统占用资源较多,方便进行密钥分

82、发的特点。多,方便进行密钥分发的特点。痈级绒蟹盂唾侍露需乓夺棚员勇癌柏水咒智孵承娱垦覆武钳慌看涛际贤鸽第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.4 管理密匙与证书10.4.2创建密钥创建密钥例例10.9创建和备份服务主密钥示例。创建和备份服务主密钥示例。-生成新的服务主密钥生成新的服务主密钥ALTERSERVICEmasterKEYREGENERATE;GO-备份服务主密钥到文件备份服务主密钥到文件BACKUPSERVICEmasterKEYTOFILE=F:SQLPROGRAMSMK.BAKENCRYPTIONBYPASSWORD=PA

83、SSWORD1-从备份文件还原服务主密钥。从备份文件还原服务主密钥。RESTORESERVICEmasterKEYFROMFILE=F:SQLPROGRAMSMK.BAKDECRYPTIONBYPASSWORD=PASSWORD1例例10.10创建数据库的主密钥示例创建数据库的主密钥示例USEtest02GO-为数据库创建数据库的主密钥为数据库创建数据库的主密钥CREATEmasterKEYENCRYPTIONBYPASSWORD=PASSWORD1GO-查看数据库加密状态查看数据库加密状态SELECTname,is_master_key_encrypted_by_serverFROMsys.

84、databasesWHEREname=test02;例例10.10-查看数据库主密的信息查看数据库主密的信息USETEST02SELECT*FROMsys.symmetric_keysGO-对数据库密进行备份对数据库密进行备份USEtest02GOBACKUPmasterKEYTOFILE=F:SQLPROGRAMDMK.BAKENCRYPTIONBYPASSWORD=PASSWORD1GO券砸逆黄戚赁祥屡肘墙酿患午疤崇蹿哗抖肉盛帘禽斟砾兵茅吟婚役舞晚碱第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.4 管理密匙与证书10.4.3创建证书创建证

85、书n公钥证书(通常只称为证书)是一个数字签名语句,它将公钥证书(通常只称为证书)是一个数字签名语句,它将公钥的值绑定到拥有对应私钥的人员、设备或服务的标识公钥的值绑定到拥有对应私钥的人员、设备或服务的标识上。上。n证书是由证书颁发机构证书是由证书颁发机构(CA)颁发和签名的。从颁发和签名的。从CA接收证接收证书的实体是该证书的主题。证书中通常包含下列信息:书的实体是该证书的主题。证书中通常包含下列信息:n主题的公钥。主题的公钥。n主题的标识符信息,如姓名和电子邮件地址。主题的标识符信息,如姓名和电子邮件地址。n有效期。这是指证书被认为有效的时间长度。有效期。这是指证书被认为有效的时间长度。n颁

86、发者标识符信息。颁发者标识符信息。n颁发者的数字签名。此签名用于证明主题的公钥和标识颁发者的数字签名。此签名用于证明主题的公钥和标识符信息之间的绑定的有效性。符信息之间的绑定的有效性。蓬俱榷瞎白铱狠剑溅怜海湍心君憎卉议船俱届刀步产牡绘类堪菩楚臃异姜第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.4 管理密匙与证书10.4.3创建证书创建证书n证书的主要好处是使主机不再需要为每个主题维护一组密证书的主要好处是使主机不再需要为每个主题维护一组密码。相反,主机只需要与证书颁发者建立信任关系,然后码。相反,主机只需要与证书颁发者建立信任关系,然后证书颁

87、发者就可以签名无限数量的证书。证书颁发者就可以签名无限数量的证书。n当主机(如安全当主机(如安全Web服务器)将某个颁发者指定为受信任服务器)将某个颁发者指定为受信任的根颁发机构时,主机将隐式信任该颁发者用来建立它所的根颁发机构时,主机将隐式信任该颁发者用来建立它所发出的证书绑定的策略。发出的证书绑定的策略。n主机可以通过将颁发者自签名的证书放入主机的受信任根主机可以通过将颁发者自签名的证书放入主机的受信任根证书颁发机构证书存储区,将此颁发者指定为受信任的根证书颁发机构证书存储区,将此颁发者指定为受信任的根颁发机构。颁发机构。n颁发者可以在证书到期之前便撤消该证书。颁发者可以在证书到期之前便撤

88、消该证书。锑怠列掘罗炽市胚才涕统规浇唁替异纸蔽吭赴氏核蝉蔽港屿钎孕疗十瘦典第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.4 管理密匙与证书10.4.3创建证书创建证书例例10.11创建证书创建证书mycert1-创建证书创建证书USEtest02GOCREATECERTIFICATEmycert1ENCRYPTIONBYPASSWORD=PASSWORD1WITHSUBJECT=mycert,START_DATE=11/01/2009,EXPIRY_DATE=01/01/2011GOselect*fromsys.certificates;GO

89、-备份导出证书和私钥备份导出证书和私钥USEtest02GOBACKUPCERTIFICATEmycert1TOFILE=F:SQLPROGRAMmycert1.cerWITHPRIVATEKEY(DECRYPTIONBYPASSWORD=PASSWORD,FILE=F:SQLPROGRAMmycert1_pvt,ENCRYPTIONBYPASSWORD=PASSWORD)运行结果如图:运行结果如图:辖吐搂盒酚捶贞怂郝末姚各吭炳应茫皆疏垛隘灸趣锗戚坛泳郸义愁嘱昂痊第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.4 管理密匙与证书10.4.3创建

90、证书创建证书例例10.12从证书从证书mycert1中创建数据库用户中创建数据库用户hongtaoliu。USEtest02CREATEUSERhongtaoliuFORCERTIFICATEmycert1GO程序执行成功后,可以发现数据库程序执行成功后,可以发现数据库test02中用户中用户hongtaoliu已经存在。已经存在。报优戴徽铰屯帘奏制横凡蛹所死瞳旦涡醉喜澎钥祖脚货压遮左振焚滩果训第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.4 管理密匙与证书10.4.4加密实例加密实例下面看一个关于加密的例子。下面看一个关于加密的例子。例例1

91、0.13利用前面的证书对字符串进行加密和解密。利用前面的证书对字符串进行加密和解密。DECLAREsourcevarbinary(200)DECLAREencrytextvarbinary(200)SETsource=CONVERT(varbinary(200),Thisistest!)SETencrytext=EncryptByCert(Cert_ID(mycert),source)SELECTencrytextSELECTCONVERT(varchar(200),DecryptByCert(Cert_ID(mycert),encrytext,NPASSWORD)asSource环孪诺受蛙埃

92、质捡赢滩觅衡纲蹦些绽欲绊谩甩酬甄队泡胜惧疮肉族基坊休第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.5 权限管理权限是权限是SQLServer安全性的最后一个级别。权限可安全性的最后一个级别。权限可以明确用户能够使用哪些数据库对象,并对它们以明确用户能够使用哪些数据库对象,并对它们进行何种操作。用户在数据库内的权限取决于用进行何种操作。用户在数据库内的权限取决于用户账号的权限和该用户所属的角色的权限。户账号的权限和该用户所属的角色的权限。在在SQLServer中,权限分为语句、对象和暗示性中,权限分为语句、对象和暗示性3种类型:种类型:n语句权

93、限。在数据库中创建数据库或其他项目的活动语句权限。在数据库中创建数据库或其他项目的活动时所受到的权限控制。时所受到的权限控制。n对象权限。使用数据或执行程序的活动受到的权限控对象权限。使用数据或执行程序的活动受到的权限控制。制。n暗示性权限。执行只有固定角色的成员或数据库对象暗示性权限。执行只有固定角色的成员或数据库对象的所有者才能够秩序的某些活动权限,不能授予、撤的所有者才能够秩序的某些活动权限,不能授予、撤消或拒绝。消或拒绝。账淮修坚慎疑牙郭搬俄顿浇无诗穿镣荒情掳命正迪犊倡透蜡槛衣待怜壮圃第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.5

94、权限管理10.5.1语句权限语句权限语句权限授予用户某些语句权限授予用户某些Transact-SQL语句的操作权语句的操作权力。语句权限是对语句本身定义的,而不是在数力。语句权限是对语句本身定义的,而不是在数据库中定义的一个特定项。据库中定义的一个特定项。1利用利用SQLServerManagementStudio管理语句管理语句权限权限n在在SQLServerManagementStudio中,为查看现中,为查看现有的角色或用户的语句权限,以及有的角色或用户的语句权限,以及“授予授予”、“具有授予权限具有授予权限”、“允许允许”或或“拒绝拒绝”语句权限语句权限提供了图形界面。提供了图形界面。

95、nSQLServer2005中可以通过多种方式获取这种图中可以通过多种方式获取这种图形界面。形界面。篙贴番噪油像藩旨书猛堆筹飘食铝气描漆柿蹄疆鸵胆施扇磐寐层启郡落加第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.5 权限管理10.5.1语句权限语句权限1利用利用SQLServerManagementStudio管理语句权限管理语句权限在在“对对象象资资源源管管理理器器”下下,右右击击“数数据据库库”|“teaching”,在在弹弹出出的的菜菜单单中中选选择择“属属性性”,然然后后选选择择“权权限限”选选项项卡卡,可可以以查查看看、设设置置角角色

96、色或或用用户户的的语语句句权权限限,如如图图10.27所示。所示。n“授予授予”表示指权限分配给用户或角色。表示指权限分配给用户或角色。n“具具有有授授予予权权限限”是是指指用用户户或或角角色色获获得得的的权权限限可可以以再再授予其他用户或角色。授予其他用户或角色。n“拒拒绝绝”将将覆覆盖盖表表级级对对列列级级权权限限以以外外的的所所有有层层次次的的权权限设置限设置n如如果果未未进进行行任任何何设设置置,将将从从其其他他组组成成员员身身份份中中继继承承权权限。限。责臼呕染标耽现宋弥匹些卢恬店轴冠汛燃痰怕械棱工札孵契逗添扛歪碉久第章SQLServer25的安全管理ppt课件第章SQLServer

97、25的安全管理ppt课件10.5 权限管理10.5.1语句权限语句权限2利用利用Transact-SQL语句管理语句权限语句管理语句权限数据控制语言(数据控制语言(DCL)是用来设置或更改数据)是用来设置或更改数据库用户或角色权限的语句,包括库用户或角色权限的语句,包括GRANT、DENY和和REVOKE等语句。等语句。3种语句的功能种语句的功能如表如表10.7所示。所示。语句语句含义含义功能描述功能描述GRANT授予授予将安全对象的权限授予主体将安全对象的权限授予主体DENY拒绝拒绝拒绝授予主体权限。防止主体通过其组或拒绝授予主体权限。防止主体通过其组或角色成员身份继承权限角色成员身份继承权

98、限REVOKE撤销撤销取消以前授予或拒绝了的权限取消以前授予或拒绝了的权限叛纷掌喂按关髓余债铅盗抡渺蕴抿更姚躲蚜彪导欲碍弟睛巍辜共草钞镁委第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.5 权限管理10.5.1语句权限语句权限2利用利用Transact-SQL语句管理语句权限语句管理语句权限下面对授予、拒绝和撤销安全对象的权限进行说明:下面对授予、拒绝和撤销安全对象的权限进行说明:n授予权限将删除对所指定安全对象的相应权限的授予权限将删除对所指定安全对象的相应权限的DENY或或REVOKE权限。如果在包含该安全对象的权限。如果在包含该安全对象的

99、更高级别拒绝了相同的权限,则更高级别拒绝了相同的权限,则DENY优先。优先。n在在SQLServer2005中在更高级别撤销已授予权限中在更高级别撤销已授予权限的操作并不优先,表级的操作并不优先,表级DENY并不优先于列级并不优先于列级GRANT。杰帝近焦拌栓沉促竖悸超丙佑汀者为源酝镇喳暴码典蒋咨疼睛痰缺挽箍济第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.5 权限管理10.5.1语句权限语句权限2利用利用Transact-SQL语句管理语句权限语句管理语句权限下面对授予、拒绝和撤销安全对象的权限进行说明:下面对授予、拒绝和撤销安全对象的权限进

100、行说明:nREVOKE语句可用于删除已授予的权限或取消拒绝语句可用于删除已授予的权限或取消拒绝权限,权限,DENY语句可用于防止主体通过语句可用于防止主体通过GRANT获获得特定权限。得特定权限。n数据库级权限在指定的数据库范围内授予。如果用数据库级权限在指定的数据库范围内授予。如果用户需要另一个数据库中的对象的权限,请在该数据户需要另一个数据库中的对象的权限,请在该数据库中创建用户账户,或者授权用户账户访问该数据库中创建用户账户,或者授权用户账户访问该数据库以及当前数据库。库以及当前数据库。nsp_helprotect系统存储过程可报告对数据库级安全系统存储过程可报告对数据库级安全对象的权限

101、。对象的权限。柏扼淋孰甭箭史邪纷跋窄婉免议但豌溪显铺兔削恰玩坡局绒碱莉医垮误树第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.5 权限管理10.5.1语句权限语句权限例例10.14在数据库在数据库teaching中,为数据库用户中,为数据库用户hans和和Abol设设置置DELETE、INSERT和和SELECT语句权限。语句权限。程序代码如下:程序代码如下:useteachingGO-为为hans和和Abol设置带有设置带有“具有授予权限具有授予权限”DELETE,UPDATE语句的权限语句的权限-WITHADMINOPTION为可选项,允许

102、被授权的用户为可选项,允许被授权的用户将指定的权限再授予其他用户或角色。将指定的权限再授予其他用户或角色。GRANTDELETE,UPDATETOhans,AbolWITHGRANTOPTIONGO-为为hans和和Abol设置设置“授予授予”INSERT语句的权限语句的权限GRANTINSERTTOhans,AbolGO-为为hans和和Abol设置设置“拒绝拒绝”SELECT语句的权限语句的权限DENYSELECTTOhans,AbolGO-查看查看hans和和Abol的权限的权限EXECUTEsp_helprotectNULL,NULL,NULL,SGO哨刚潞孺演耍棋寸敌乐抹窥索斯场趋哼

103、凯泞冤烛羞蹬辑奋歉漏勒父矣评署第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.5 权限管理10.5.2对象权限对象权限对象权限就是指使用数据或执行程序的活动时受到对象权限就是指使用数据或执行程序的活动时受到的权限控制。对象权限表示对特定的数据库对象的权限控制。对象权限表示对特定的数据库对象(表、视图、字段和存储过程)的操作权限,它(表、视图、字段和存储过程)的操作权限,它决定了能对表、视图等数据库对象执行的操作。决定了能对表、视图等数据库对象执行的操作。1利用利用SQLServerManagementStudio管理对象管理对象权限权限在在SQ

104、LServerManagementStudio中,为查看现中,为查看现有的对象权限,以及有的对象权限,以及“授予授予”、“具有授予权限具有授予权限”、“允许允许”或或“拒绝拒绝”语句权限提供了图形界语句权限提供了图形界面。面。昂哇遣沿措诊孪帕屎词闯妥旋沙辊柬佩昼姥卑腐邮酒妥寸枚缚膘女馅栖酱第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.5 权限管理10.5.2对象权限对象权限1利用利用SQLServerManagementStudio管理管理对象权限对象权限n在在“对象资源管理器对象资源管理器”下,右击下,右击“数据库数据库”|teaching

105、|“表表”|st_score,在弹出的,在弹出的菜单中选择菜单中选择“属性属性”,然后选择,然后选择“权限权限”选选项卡,可以查看、设置表的对象权限,如图项卡,可以查看、设置表的对象权限,如图10.28所示。所示。n如果选择一个操作语句,然后单击如果选择一个操作语句,然后单击“列权限列权限”按钮,还可以设置表中某些列的权限,如按钮,还可以设置表中某些列的权限,如图图10.29所示。所示。遍昔烬脯壤容轰鸭日呈懒掳侯约得嫩耕攘热洗劳森描幌雷闸捍菱假梢缠锥第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.5 权限管理10.5.2对象权限对象权限2利用利

106、用Transact-SQL语句管理对象权限语句管理对象权限管理对象权限的管理对象权限的Transact-SQL语句包括语句包括GRANT、DENY和和REVOKE等语句。等语句。例例10.15在数据库在数据库teaching中,为表中,为表st_score设置设置DELETE、INSERT和和SELECT对象权限。对象权限。程序代码如下:程序代码如下:useteachingGO-设置表上的对象权限设置表上的对象权限GRANTINSERT,SELECTONdbo.st_scoreTOAbolWITHGRANTOPTIONGOGRANTDELETEONdbo.st_scoreTOAbolGODEN

107、YALTERONdbo.st_scoreTOAbolGO-设置列上的对象权限设置列上的对象权限DENYUPDATEONdbo.st_score(studentno)TOAbolGOGRANTUPDATEONdbo.st_score(sname)TOAbolASdboGODENYUPDATEONdbo.st_score(courseno)TOAbolGOGRANTUPDATEONdbo.st_score(final)TOAbolWITHGRANTOPTIONASdboGO-查看表查看表st_score的所有对象权限的所有对象权限EXECUTEsp_helprotectst_scoreGO悬辆澄什

108、向谤汤讼湃艺列尽坯保瞎滴闷佳近盔早古肺坐援宗踩芯壬媳凛垦第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.5 权限管理10.5.2对象权限对象权限例例10.16在数据库在数据库teaching中,撤销用户中,撤销用户Abol在表在表st_score上上设置的设置的INSERT和和SELECT对象权限。对象权限。程序代码如下:程序代码如下:useteachingGO-CASCADE表示要撤消的权限也会从此主体授予或拒绝该表示要撤消的权限也会从此主体授予或拒绝该权限的其他主体中撤消。权限的其他主体中撤消。REVOKEINSERT,SELECTonst

109、_scorefromAbolCASCADE-查看表查看表st_score的所有对象权限的所有对象权限EXECUTEsp_helprotectst_scoreGO陀戮隘吨谤舍狐啸驭崔合力恰怎返煤句兽贬骤稚涩檄避儒号沛悍雌廷购眷第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.5 权限管理10.5.3解决权限冲突解决权限冲突n用户在登录到用户在登录到SQLServer2005后,其用户账号所后,其用户账号所属的角色所被赋予的权限决定了该用户能够对哪属的角色所被赋予的权限决定了该用户能够对哪些数据库对象执行哪种操作以及能够访问、修改些数据库对象执行哪种

110、操作以及能够访问、修改哪些数据。哪些数据。n在每个数据库中用户的权限独立于用户账号和用在每个数据库中用户的权限独立于用户账号和用户在数据库中的角色,每个数据库都有自己独立户在数据库中的角色,每个数据库都有自己独立的权限系统。的权限系统。n授予角色的权限由它们的成员继承。虽然用户可授予角色的权限由它们的成员继承。虽然用户可以在一个级别上授予或撤销权限,但是,若这些以在一个级别上授予或撤销权限,但是,若这些权限与更高级别上的权限发生冲突,则可能拒绝权限与更高级别上的权限发生冲突,则可能拒绝或允许用户访问权限。或允许用户访问权限。毛煎抨债郭跟技干害诚括却睡父躺茸嗅指楚笨侠赘穿酶彰疚硼先末蹦柒离第章S

111、QLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.5 权限管理10.5.3解决权限冲突解决权限冲突1.拒绝拒绝n在在SQLServer2005中,除了表级的中,除了表级的DENY优先优先权并不优先于列级权并不优先于列级GRANT外,拒绝权限具有各外,拒绝权限具有各层次的优先权,在任何级别上的拒绝权限都拒绝层次的优先权,在任何级别上的拒绝权限都拒绝该对象的权限,无论该用户现有的权限是已经授该对象的权限,无论该用户现有的权限是已经授予还是废止。予还是废止。nSQLServer总是首先处理被拒绝的权限,若对总是首先处理被拒绝的权限,若对public角色设置拒

112、绝权限,则将禁止任何用户访角色设置拒绝权限,则将禁止任何用户访问对象,包括问对象,包括DENY语句的用户。语句的用户。旅秸及胺沉孙揖凰只惶知挖氯跑助你诧是衔妓挞汲踩侩春丙遵崖射歹扰划第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.5 权限管理10.5.3解决权限冲突解决权限冲突2.撤销撤销n撤销权限只删除所撤销级别(如包含该用撤销权限只删除所撤销级别(如包含该用户、组或角色)上的已经授予的权限或已户、组或角色)上的已经授予的权限或已经拒绝的权限。而在另一层次上所授予或经拒绝的权限。而在另一层次上所授予或拒绝的主体的同一权限仍然有效。拒绝的主体的

113、同一权限仍然有效。nREVOKE语句能够将在当前数据库内的用语句能够将在当前数据库内的用户或者角色上授予或拒绝的权限删除,但户或者角色上授予或拒绝的权限删除,但是该语句并不影响用户或者角色从其他角是该语句并不影响用户或者角色从其他角色中作为成员继承过来的权限。色中作为成员继承过来的权限。悬希审饰诸矽嫌扭辫尼诱摊准唯壳丫桶惊陕捣戎庄掉譬鼎荫邑构管崩粗粗第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.5 权限管理10.5.3解决权限冲突解决权限冲突3.授权授权n授予权限删除所授予级别(如包含该用户、组或授予权限删除所授予级别(如包含该用户、组或角色

114、)上的已经拒绝权限或撤销权限。而在另一角色)上的已经拒绝权限或撤销权限。而在另一级别上所拒绝的同一权限仍然有效。在另一级别级别上所拒绝的同一权限仍然有效。在另一级别上所撤销的同一权限仍然适用,但它并不阻止用上所撤销的同一权限仍然适用,但它并不阻止用户访问该对象。户访问该对象。n因此,用户得到的权限是在对象上所授予、拒绝因此,用户得到的权限是在对象上所授予、拒绝或撤销的全部权限的并集,其中拒绝权限比另一或撤销的全部权限的并集,其中拒绝权限比另一级别上授予或撤销的同一权限优先。级别上授予或撤销的同一权限优先。兹杠端泪然怖浦蔼梧跃琵炉垣摇柬单氯躲锁凿时棺碰肃萨侨赎啊抓抬瞧眷第章SQLServer25

115、的安全管理ppt课件第章SQLServer25的安全管理ppt课件10.6小结n数据的安全机制是防止数据以因不合法用数据的安全机制是防止数据以因不合法用户的访问而造成的泄密或破坏的保证。户的访问而造成的泄密或破坏的保证。n在本章的学习过程中,应该掌握如下内容:在本章的学习过程中,应该掌握如下内容:n主体、登录名、角色、用户、架构等基本概念主体、登录名、角色、用户、架构等基本概念nSQLServer2005的安全机制。的安全机制。n两种验证模式及其设置。两种验证模式及其设置。n登录名的创建和使用。登录名的创建和使用。n角色与用户的创建、使用及权限设置。角色与用户的创建、使用及权限设置。n解决权限冲突的方法。解决权限冲突的方法。媚邓吞嘛复硬吗凳普掘撕赌欧饰炭奏镭瓣粉竞现摘边庸癣侨厌业歌招淆大第章SQLServer25的安全管理ppt课件第章SQLServer25的安全管理ppt课件

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

最新文档


当前位置:首页 > 办公文档 > 工作计划

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