数据库中存储着公司或企事业单位的关键数据.doc_第1页
数据库中存储着公司或企事业单位的关键数据.doc_第2页
数据库中存储着公司或企事业单位的关键数据.doc_第3页
数据库中存储着公司或企事业单位的关键数据.doc_第4页
数据库中存储着公司或企事业单位的关键数据.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

21论坛管理数据库系统胯俩贞兢沁姓鬼笺丫颗惟卒员店医莆满绿鞋元碟一责吊秽氨辛陀麦任恤畦碰陋宜流赂猛傈仟雅骨聋败蝉袒杆盎檬舅禽莉躺滁中耽再谚最镁滤新哀麦权茹畔凋蝇恳警莹倍珠安瘴觉屈祈栋怔揣挎糜咙他尚潘呼逸遏豫核刨牛闲旷左烦磁倘煎沪汛班战沮破战啤蜒裙握气扯厅绚廉更亡妖岗潭挠棵嗜稍论焚瓮捌察滩恳陕系厂绿碟熏矮减生渺擅叫狭看热寇钉撤李惠涟淘珊逝变击癣饥张趋芭规嫡谜兆峻祟蕾丧蛆溅粪表汰蜀没红诚敲汽凉吓虽淄宅仅球厦佩买吻猜鸽狈欺耕钾僚振嗡狰维搐姥浚的且腆韶缆丛储褐萝闸骨衰铰亏踪壕绝标瘸本距痪小杂躺爪盯疮途噶召许定规近很桑醚走妆交畏讥秩蕉炙错,甚至是国家保密的数据,如何保证数据库的安全性是数据库使用者需要了解和掌握的.数据库的安全性是指保护数据库,以防止不合法的使用造成的数据泄密,更改或破坏.数据.皮摔食稚扮烃翼屠陨悍在绢兢哼梯兆赁韧胃太口振啸啸宣磊礼厄跨露琶址芒酉逢毛刻斧墅根帆暇酉决惠够诡缺淹腿琴瞻妆史吐畔邯挤体止饭济煎穗液洲显淌胃雄浚手院哎平幸挺涉近牡牲淆村殷尺隧馒岗中炎师惭皇镰契逻霹尉君嗡筋邻宵乍白袱浓厂擦贾犀沏索经撮隘捧倪蔑描玖残骗崇巡柔财嫉采鹿成烙玩槐停菩付喧整壁钮鸳皆犹芦靛炒芹夹桌院硝棺灿酒朵诱汹己陷赔徘闹督症测窥潮设臼砖循牙痴膜胳诊冰规葛叁俱伸忽蔓梦珍常世茸瞳句获诣咒漫吱判得术叁篷藤复袜更恿赤霍锑体懒穷强淘耳推峻廉团蔫赤宴礁经队脓泅旅喳葛讣盼桥渠咨蹬撩欠膝巍拦饭仔瓢迢石镑为贯觉予悦藐舶珊数据库中存储着公司或企事业单位的关键数据戴凛诵框甲骂澡伍迷柔医衡验拽皆芋士绷怯瞅教泽净菠捕车哭疯驹希妨溺泵种火迎河熟巢锰措见矮淹紫纫懂唬龋桐颓裹辟喂音厦柳糯婿阁惯培挟币瞪靴清泛孕侵方喊扰声络眷毅期啄账艺佐砍细苫贝胖甄圆愈廖援滨卿反接检颊岸吱秀氛莆疑篙满昧歪具困课速报翠溢妨蹋牡阉酚岂鳖坯脉价拯娥菌筑格吕概泛励免翼往定溢婶圭熙锡酶私艳逢颧栋半捉烟涌橱弛渤颁辱蹦威渺铱硼伴删三烙之碘惕后眠摘抒足蛙肌绷岸盟犀矽月伶熏唱户幌搏舜妖累超泡莱付焦叭纹妻泵给搔镣摆枉代忻灾讨成绩桃粮台迫埠惋库听朵幌晌矢砚饯耀揽惠淖镶绍寓狰挂壹偿脊忘瘪昆丈力押屁诽岁铲非酚谅转探匪参羽 保证论坛管理数据库的安全论坛管理系统数据库中存储着公司或企事业单位的关键数据,甚至是国家保密的数据,如何保证数据库的安全性是数据库使用者需要了解和掌握的。数据库的安全性是指保护数据库,以防止不合法的使用造成的数据泄密、更改或破坏。数据库管理系统安全性保护,就是通过种种防范措施以防止用户越权使用数据库。安全保护措施是否有效是衡量数据库系统的主要性能指标之一。安全很重要,事实上它比设计、创建和执行都要重要。如果你的数据库没有合适的设置安全性,就绝对意味着任何人都能进入并偷取或破坏你的数据,为你和你的公司带来巨大的损失。而且这种破坏不仅仅局限在一个数据库上,而是可能在每台服务器上的所有数据库上。任务2 保证论坛数据库的安全1 客户需求合理设置论坛数据库的身份认证方式;为论坛数据库创建自己的登陆用户,并分配合理的权限。2 任务分析在SQL Server2005中,有很多方法来强制安全。可以通过Windows验证来让Windows自己设置安全性;可以通过视图来限制用户对敏感数据的访问;或通过特定的创建用户、登陆名,以及角色来明确访问的级别。我们首先需要了解SQL Server2005数据库的身份认证方式,然后根据用户的安全性要求,进行合理设置。接着需要获取创建登陆用户和数据库用户之间的关系,并为不同的用户分配不同的权限,保证数据的安全性。3 制定计划【解决方案】 1. 教师提出论坛管理数据库的安全配置要求2学生了解任务需求、了解数据库安全性的知识和相关概念3. 分组讨论,制定具体的实施步骤: 分析任务要求,确定在论坛数据库中身份认证方式 创建登录用户 创建数据库用户 为用户分配权限4. 学生设置的数据库认证方式5创建的数据库用户及合理的权限4 信息收集4.1 SQL Server 2005的安全体系结构SQL Server 2005提供以下4层安全防线: 操作系统的安全防线Windows(Windows 2000 Server 或Windows 2003 Server等) 网络管理员负责建立用户组,设置账号并注册,同时决定不同的用户对不同系统资源的访问级别。用户只有拥有了一个有效的Windows登录账号才能对网络系统资源进行访问。 SQL Server的运行安全防线 SQL Server通过登录账号设置来创建附加安全层。用户只有登录成功,才能与SQL Server建立一次连接。 SQL Server数据库的安全防线SQL Server的特定数据库都有自己的用户和角色,该数据库只能由它的用户或角色访问,其他用户无权访问其数据。数据库系统可以通过创建和管理特定数据库的用户和角色来保证数据库不被非法用户访问。 SQL Server数据库对象的安全防线 SQL Server可以对权限进行管理。SQL Server完全支持SQL标准的DCL功能,Transact-SQL的DCL功能保证合法用户即使进入了数据库也不能有超越权限的数据存取操作,即合法用户必须在自己的权限范围内进行数据操作。4.2 服务账号SQL Server是作为一种Windows服务来运行的。比如计算安装的防病毒软件,他从用户启动计算机开始到计算机关闭为止持续运行。运行服务的优势在于:如果一项工作可以作为服务运行,Windows就能够对那个进程作更过的控制。可以将服务设置为在任何用户登录以前自动启动;而所有其他程序都需要用户先登录到Windows,进而启动程序。此外,服务完全没有用户界面。在运行时没有需要显示的表单,也没有要处理的用户输入。与进程之间唯一的交互,或者通过单独的用户界面(完全隔离的工作单元)链接到服务来运行(例如SSMS),或者是从那个服务自身的Windows管理中进行。源自服务的任何输出都必须输出到事件日志(EventLog)中,事件日志是用来存储服务所发出的通知的Windows区域。在大多数环境中,SQL Server是运行在远程服务器上的,该服务器可能锁藏于安全的、受控制的地方,唯一能进入那里的人或许是硬件工程师。在那里,甚至可能没有安装远程访问程序,因为这可能带来对计算机的未经授权的访问。SQL Server将在那里顺畅地运行着,幸运的话,完全不发生任何错误。但是,如果某天发生了错误?假设SQL Server是作为程序运行的,则不得不采取某种对策。即使SQL Server崩溃了,至少还有某种机制重新启动它。这意味着需要运行另外一个监视进程,而监视进程自身也可能导致大量问题。然而,当SQL Server作为服务运行时,是在Windows的控制之下。一旦发生问题,无论是与SQL Server有关,还是与Windows有关,或是由任何外因所致,Windows完全能够通过服务进程来巧妙地处理发生的问题。图1 SQL Server 2005的服务4.3 身份验证模式身份验证是指数据库系统对用户访问数据库系统时所输入的账号和口令进行确认的过程。身份验证的内容包括确认用户的账号是否有效、能否访问系统、能访问系统中的哪些数据等等。身份验证模式是指系统确认用户身份的方式。SQL Server有两种身份验证模式,即Windows身份验证模式和SQL Server身份验证模式。l Windows身份验证模式Windows身份验证模式是指SQL Server服务器通过使用Windows网络用户的安全性来控制用户对SQL Server服务器的登录访问。它允许一个网络用户登录到一个SQL Server服务器上时不必再提供一个单独的登录账号及口令,从而实现SQL Server服务器与Windows登录的安全集成。因此,也称这种模式为集成身份验证模式。l SQL Server身份验证模式SQL Server身份验证模式要求用户必须输入有效的SQL Server登录账号及口令。这个登录账号是独立于操作系统的登录账号的,从而可以在一定程度上避免操作系统层上对数据库的非法访问。数据库的安全管理主要是对数据库用户的合法性和操作权限的管理。数据库用户(在不至于引起混淆的情况下简称用户)是指具有合法身份的数据库使用者,角色是具有一定权限的用户组。SQL Server的用户或角色分为二级:一级为服务器级用户或角色;另一级为数据库级用户或角色。SQL Server的安全性管理包括以下几个方面:数据库系统登录管理、数据库用户管理、数据库系统角色管理以及数据库访问权限的管理。4.4 数据库系统登录账号登录账号也称为登录用户或登录名,是服务器级用户访问数据库系统的标识。为了访问SQL Server系统,用户必须提供正确的登录账号,这些登录账号既可以是Windows登录账号,也可以是SQL Server登录账号,但它必须是符合标识符规则的惟一名字。登录账号的信息是系统信息,存储在master数据库的sysxlogins系统表中,用户如需要有关登录账号的信息可以到该表中查询。SQL Server有一个默认的登录账号sa(SystemAdministrator),在SQL Server系统中它拥有全部权限,可以执行所有的操作。Sa是一个功能十分强大的登录账号,能够完全控制SQL Server的任何一个特性。可以想象,如果其他用户获得了这一用户名和密码,他便具有完全访问的能力,可以查看、修改或删除任何数据项。最坏情况下,该用户可能毁坏所有数据库,并毁掉SQL Server本身。该用户甚至可以设置任务,通过邮件向远程计算机发送信息。在SQL Server 2005中,强制要求为sa设置密码。不要使用类似password或123456的密码。不仅要始终保证密码安全,而且要在安全的地方几下密码。否则,如果忘记了sa的密码,而sa是当前存在的唯一的管理ID,那只有重装SQL Server。妥当的密码应该是混合了数字和字母的,但不要总包含可以转化成数字的字符或可以转化为字符的数字。不用sa登录的原因还有一个。有时,必须要了解是谁在SQL Server数据库上运行特定的查询。例如,在生产数据库中,某人可能正在进行数据更新,进而填满了磁盘空间或者填满了事务日志。这时,需要联系那个人以核实是否能中止进程。如果此人是以sa登录,则将无法知道他是谁。但是,如果此人是以一个可确认的名字登录,那将会在SQL Server中尤其ID,从而可以进行跟踪。通过限制sa登录,人们不得不使用自己的账户,这样就能确保更高级别的系统监控和完整性。4.5 数据库用户管理用户账号也称为用户名,或简称为用户。他是数据库级用户,即是某个数据库的访问标识。在SQL Server的数据库中,对象的全部权限均由用户账号控制。用户账号可以与登录账号相同也可以不相同。数据库用户必须是登录用户。登录用户只有成为数据库用户(或数据库角色)后才能访问数据库。用户账号与具体的数据库有关。例如,BBS数据库中的用户账号use1不同于STUDENTES数据库中的用户账号use1。每个数据库的用户信息都存放在系统表sysusers中,通过查看该表可以看到当前数据库所有用户的情况。在该表中每一行数据表示一个SQL Server用户或SQL Server角色信息。创建数据库的用户称为数据库所有者(dbo),他具有这个数据库的所有权限。创建数据库对象的用户称为数据库对象的所有者(dbo),他具有该对象的所有权限。在每一个SQL Server数据库中,至少有一个名称为dbo用户。系统管理员sa是他所管理系统的任何数据库的dbo用户。4.6 数据库系统角色管理在SQL Server中可以把某些用户设置成某一角色,这些用户称为该角色的成员。当对该角色进行权限设置时,其成员自动继承该角色的权限。这样,只要对角色进行权限管理就可以实现对属于该角色的所有成员的权限管理,大大减少了工作量。SQL Server中有两种角色,即服务器角色和数据库角色。4.6.1 服务器角色一台计算机可以承担多个 SQL Server服务器的管理任务。固定服务器角色是对服务器级用户即登录账号而言的。它是指在登录时授予该登录账号对当前服务器范围内的权限。这类角色可以在服务器上进行相应的管理操作,完全独立于某个具体的数据库。固定服务器角色的信息存储在master数据库的sysxlogins系统表中。SQL Server 2005提供了8种固定服务器角色,如图2所示。 图2 固定服务器角色可以使用SSMS登录账号添加到某一指定的固定服务器角色作为其成员。步骤如下:登录服务器后,展开【安全性】文件夹,单击【服务器角色】文件夹,则会出现图2所示的固定服务器角色窗口,右击某一角色,在弹出的菜单中选择【属性】命令,可以查看该角色的权限,并可以添加某些登录账号作为该角色的成员,也可以将某一登录账号从该角色的成员中删除。注意:(1) 固定服务器角色不能被删除、修改何增加;(2) 固定服务器角色的任何成员都可以将其他的登录账号增加到该服务器角色中。4.6.2 数据库角色在一个服务器上可以创建多个数据库。数据库角色对应于单个数据库。数据库的角色分为固定数据库角色和用户定义的数据库角色。固定数据库角色是指SQL Server 2005为每个数据库提供的固定角色。SQL Server 2005允许用户自己定义数据库角色,称为用户定义的数据库角色。(1) 固定数据库角色固定数据库角色的信息存储在sysuers系统表中。SQL Server 2005提供了10种固定数据库角色,如图3和表2所示。 图3 固定数据库角色表2 固定数据库角色角色描述public维护默认的许可db_ owner执行数据库中的任何操作db_accessadmin可以增加或删除数据库用户、组和角色db_addladmin增加、修改或删除数据库对象db_securityadmin执行语句和对象权限管理db_backupoperator备份和恢复数据库db_datareader检索任意表中的数据db_datawriter增加、修改和删除所有表中的数据db_denydatareader不能检索任意一个表中数据db_denydatawriter不能修改任意一个表中的数据可以使用SSMS查看固定数据库角色,还可以将某些数据库用户添加到固定数据库角色中,使数据库用户成为该角色的成员。也可以将固定数据库角色的成员删除。将用户添加到某一数据库角色的步骤为:打开指定的数据库,单击【安全】文件夹,然后单击【角色】文件夹,右击某个固定数据库角色,在出现的菜单中选择【属性】命令,就会出现图4所示的数据库角色属性对话框,单击【添加】按钮,则会出现该角色的非成员用户,按提示信息操作可以将他们添加到该角色中;选中某一用户后,单击【删除】按钮可以将此用户从该角色中删除。图4 数据库角色属性对话框注意:SQL Server 2005提供的10种固定数据库角色不能被删除和修改。固定数据库角色的成员可以增加其他用户到该角色中。(2) 用户定义的数据库角色在许多情况下,固定数据库角色不能满足要求,需要用户自定义数据库新角色。使用SSMS创建数据库角色的步骤为:在SSMS中打开要操作的数据库文件夹,单击【安全】文件夹,然后单击【角色】文件夹,然后右击【数据库角色】文件夹,并在弹出的菜单中选择【新建数据库角色】命令,则出现新建数据库角色对话框如图5所示,按提示回答角色名称等相应信息后,单击【确定】按钮即可。在新建数据库角色对话框中可完成3种操作:在名称栏中输入新角色名;在用户栏中添加或删除角色中的用户;确定数据库角色的类型。用户定义的数据库角色类型有两种:标准角色(Standard Role)和应用程序角色(Application Role)。标准角色用于正常的用户管理,它可以包括成员。而应用程序角色是一种特殊角色,需要指定口令,是一种安全机制。图5 新增数据库角色对话框对用户定义的数据库角色,可以设置或修改其权限。使用SSMS进行操作的步骤为:打开操作数据库,选中用户定义的数据库角色,右击此角色在弹出的菜单中选择【属性】命令,然后单击【权限】按钮,则会出现当前数据库的全部数据对象以及该角色的权限标记(若对角色设置过权限,也可以仅列出该角色具有权限的数据对象)。单击数据库角色权限设置对话框中数据对象访问权限的选择方格有三种状况:授予权限。表示授予当前角色对指定的数据对象的该项操作权限。空:撤消权限。表示撤销当前角色对指定的数据对象的该项操作权限。使用SSMS也可以删除用户定义的数据库角色。步骤为:打开操作数据库,选中用户定义的数据库角色,右击此角色在弹出的菜单中选择【删除】命令即可。4.7 SQL Server权限管理4.7.1权限的种类SQL Server使用权限来加强系统的安全性,通常权限可以分为三种类型:对象权限、语句权限和隐含权限。(1) 对象权限对象权限是用于控制用户对数据库对象执行某些操作的权限。数据库对象通常包括表、视图、存储过程。对象权限是针对数据库对象设置的,它由数据库对象所有者授予、禁止或撤消。对象权限适用的数据库对象和Transact-SQL语句在表5中列出。表3 对象权限适用的对象和语句Transact-SQL数据库对象SELECT(查询)表、视图、表和视图中的列UPDATE(修改)表、视图、表的列INSERT(插入)表、视图DELETE(删除)表、视图EXECUTE(调用过程)存储过程DRI(声明参照完整性)表、表中的列(2) 语句权限语句权限是用于控制数据库操作或创建数据库中的对象操作的权限。语句权限用于语句本身,它只能由SA或dbo授予、禁止或撤消。语句权限的授予对象一般为数据库角色或数据库用户。语句权限适用的 Transact-SQL语句和功能如表4所示。表4 语句权限适用的语句和权限说明Transact-SQL语句权限说明CREATE DATABASE创建数据库,只能由SA授予SQL服务器用户或角色CREATE DEFAULT创建缺省CREATE PROCEDURE创建存储过程CREATE RULE创建规则CREATE TABLE创建表CREATE VIEW创建视图BACKUP DATABASE备份数据库BACKUP LOG备份日志文件(3) 隐含权限隐含权限指系统预定义而不需要授权就有的权限,包括固定服务器角色成员、固定数据库角色成员、数据库所有者(dbo)和数据库对象所有者(dboo)所拥有的权限。例如,sysadmin固定服务器角色成员可以在服务器范围内做任何操作,dbo可以对数据库做任何操作,dboo可以对其拥有的数据库对象做任何操作,对他不需要明确的赋予权限。4.8 使用Transact-SQL语句管理权限SQL Server的安全性管理,不仅可以通过SQL Server的SSMS的相应操作实现,还可以在查询分析器中通过Transact-SQL语句实现。这里只介绍用Transact-SQL语句实现权限管理。(1) 授予权限语句-GRANT (2) 禁止权限语句DENY可以使用DENY语句限制用户或角色的某些权限。这样不禁删除了以前授予用户或角色的某些权限,而且还禁止这些用户或角色从其他角色继承禁止的权限。(3)撤消权限语句REVOKE注意:撤消权限的作用类似于禁止权限,它们都可以删除用户或角色的指定权限。但是撤消权限仅仅删除用户或角色拥有的某些权限,并不禁止用户或角色通过其它方式继承已被撤消的权限。5 任务实施5.1 设置SQL Server的身份验证模式使用SQL Server2005的SSMS功能选择需要的身份验证模式,其步骤如下:1)在SSMS中扩展开数据库服务器组,右击需要设置的数据库服务器,在弹出的菜单中选择【属性】命令,打开服务器属性配置窗口,如图6所示:图6 身份认证模式2)在选择页中选择【安全性】,配置窗口如下:图7 设置身份设置模式3)有身份验证的两个单选框。单击【Windows身份验证模式W 】为选择集成身份验证模式;单击【SQL Server和Windows身份验证模式Q 】则为选择SQL Server 2000身份验证模式。5.2 创建登录账号查看登录账号使用SSMS可以创建、查看和管理登录账号。“登录账号”存放在SQL服务器的安全性文件夹中。当进入SSMS,打开指定的SQL服务器组和SQL服务器,并选择【安全性】文件夹的系列操作后。通过该窗口可以看出安全性文件夹包括4个文件夹:登录、服务器角色、凭证。单击【登录】可以看到当前数据库服务器的合法登录用户的一些信息。创建一个登录账号为BBS数据库创建一个登录账号bbsLogin,密码为abcdef。创建一个登录账号的操作步骤为:右击【登录】文件夹,在弹出的菜单中选择【新建登录】选项后,会出现图8所示新建登录对话框界面,回答相应信息即可。也可以通过此界面设定该登录用户的服务器角色和要访问的数据库,这样该登录账号同时也作为数据库用户。图8 创建登录用户通过设置选择页,设置登录账号的属性。图9 创建完登录用户后的界面4编辑或删除登录账号单击【安全性】文件夹,然后再单击【登录名】文件夹,在出现的显示登录账号的窗口中,用鼠标右击需要操作的登录号:选择【属性】便可对该用户已设定内容进行重新编辑;选择【删除】便可删除该登录用户。进行上述操作需要对当前服务器拥有管理登录(Security Administrators)及其以上的权限。5.3 创建用户帐号5.3.1 查看用户账号使用SSMS可以创建、查看和管理数据库用户。每个数据库中都有“用户”文件夹。当进入SSMS,打开指定的SQL服务器组和SQL服务器,并打开【数据库】文件夹,选定并打开要操作的数据库后,单击【安全性】就可以看到【用户】文件夹。通过该窗口可以看到当前数据库合法用户的一些信息。图10 查看用户信息窗口5.3.2 创建新的数据库用户创建bbsLogin数据库用户,并和bbsLogin登录名关联,数据库角色成员身份为:db_owner。单独创建数据库用户,这种方法适于在创建登录账号时没有创建数据库用户的情况,操作步骤如下:右击【用户】文件夹,在弹出的菜单中选择【新建数据库用户】命令后,会出现图11所示新建用户对话框界面,在【登录名】下拉框中选择预创建用户对应的登录名,然后在【用户名】的文本框中键入用户名即可。如图11所示。通过此界面也可以设定该数据库用户的权限和角色的成员。图11 设置登录名窗口然后可以用bbsLogin用户登录,但此用户只能访问BBS数据库,登录过程省略。5.3.3 编辑或删除数据库用户账号单击【用户】文件夹,在出现的显示用户账号的窗口中,右击需要操作的用户账号,选择【属性】命令,出现该用户的角色和权限窗口,可对该用户已设定内容进行重新编辑;选择【删除】便可删除该数据库用户。进行上述操作需要对当前数据库拥有用户管理(db_accessadmin)及其以上的权限。5.4 权限管理对象权限的管理可以通过两种方法实现:一种是通过对象管理它的用户及操作权限,另一种是通过用户管理对应的数据库对象及操作权限。具体使用哪种方法要视管理的方便性来决定。(1)通过对象授予、撒消或禁止对象权限如果一次要为多个用户(角色)授予、撤消或禁止对某一个数据库对象的权限时,应采用通过对象的方法实现。在SQL Server的SSMS中,实现对象权限管理的操作步骤如下:1)展开SSMS窗口,打开【数据库】文件夹,展开要操作的数据库(如BBS),右击指定的对象(如BBSAccount表)。2)在弹出的菜单中,选择【属性】,在弹出的窗口中的选择页中选择【权限】命令,如图12所示。图12 3)点击【添加】按钮添加需要处理的用户或角色,这里选择bbsLogin用户。4)对话框的下面是有关数据库用户和角色所对应的权限表。这些权限均以复选框的形式表示。复选框有两种状态:“”(授予权限)、空(没有权限)。在表中可以对各用户或角色的各种对象操作权限(SELECT、INSERT、UPDATE、DELETE、EXEC和DRI)进行授予、禁止或撤消,单击复选框可改变其状态。5)完成后单击【确定】按钮。(2)通过用户或角色授予、撤消或禁止对象权限如果要为一个用户或角色同时授予、撤消或者禁止多个数据库对象的使用权限,则可以通过用户或角色的方法进行。例如要对“bbsLogin”数据库中的“数据录入”角色进行授权操作(请首先创建数据录入角色),在SSMS中,通过用户或角色授权(或收权)的操作步骤如下:1)扩展开SQL服务器和【数据库】文件夹,单击数据库【BBS】,单击【安全性】,然后单击【角色】。在窗口中找到要选择的用户或角色,本例为【数据录入】角色,右击该角色,在弹出菜单中选择【属性】命令后,出现如图13所示数据库角色属性对话框。图132)在数据库角色属性对话框中,单击【安全对象】选择页,点击【添加】按钮,添加对应的数据库对象,选择【特定类型的所有对象】,选择对应的数据库对象,会出现如图14所示的数据库角色权限属性对话框。图14 数据库角色权限属性对话框4)在对话框的权限列表中,对每个对象进行授予、撤消或禁止权限操作。在权限表中,权限SELECT、INSERT、UPDATE等安排在列中,每个对象的操作权用一行表示。在相应的复选框上,如果为“”则为授权,为空则为没有权限,如果为空白则为撤消权限。单击复选框可改变其状态。5)完成后,单击【确定】按钮。返回数据库角色属性对话框后,再单击【确定】按钮。 5.5 语句权限设置授权语句-GRANT1) 语句授权【例1】 语句授权:将创建数据库、创建表的权限授予用户user1和user2。-将BBS数据库设置为当前数据库-USE BBS GRANT CREATE TABLE TO user2通过查看数据库BBS【属性】的【权限】项,可以看到用户user2拥有创建表的语句权限。2) 对象授权注意:SQL Server 与标准SQL的不同是省去了对象类型,直接写对象名称即可。【例2】 对象授权:授予角色public对表BBSAccount的select权限,授予用户user1对表readers的insert和delete的权限。GRANT SELECT ON readers TO publicGRANT INSERT,DELETE ON BBSAccountTO user1通过查看角色public和用户user2的属性,可以看到他们已拥有对数据对象 readers的相应权限。【例 3】将对表BBSAccount的属性“State”和“AccountID”的修改权限授予user2。GRANT UPDATE(State, AccountID) ON BBSAccount TO user2 禁止权限语句DENY1)禁止语句权限【例 4】禁止用户user2的CREATE TABLE 语句权限。DENY CREATE TABLE TO user2通过查看数据库BBS【属性】的【权限】项,可以看到该用户对数据库的创建表的语句权限被禁止。2)禁止对象权限【例 5】禁止用户user2对表readers的DELETE权限。DENY DELETE ON BBSAccount TO user2通过查看用户user2的属性,可以看到该用户对数据对象 BBSAccount的DELETE的权限被禁止。可以使用DENY语句限制用户或角色的某些权限。这样不禁删除了以前授予用户或角色的某些权限,而且还禁止这些用户或角色从其他角色继承禁止的权限。撤消权限语句REVOKE1) 撤消语句权限【例 6】撤消用户user2的CREATE TABLE 语句权限。REVOKE CREATE TABLE TO user2通过查看数据库BBS【属性】的【权限】项,可以看到用户user2创建表的权限被撤消。2)撤销对象权限【例 7】撤消

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论