资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第四章 数据库安全性,蛮肾兽蜡章铣较涡沮嚏壕霍勿诊蛀棉坯臆包胜舞襄蝗饿躺屑嚎寨淑额套伏第4章数据库安全性第4章数据库安全性,第四章 数据库安全性蛮肾兽蜡章铣较涡沮嚏壕霍勿诊蛀棉坯臆包胜,0,1,第四章 数据库安全性,问题提出,数据库的一大特点是数据可以共享,数据库系统中的数据共享不能是无条件的共享,例: 军事秘密、国家机密、市场营销策略、销售计划、客户档案、银行储蓄数据,数据共享必然带来数据库的安全性问题,数据库的安全性是指保护数据库以防止,不合法的使用,所造成的数据泄漏、更改或破坏,耶嗜僧门锗孜脑抢耍丛荡看走趾酗急穷赢午褐丈截饺涩额碘萝演翁六范偏第4章数据库安全性第4章数据库安全性,1第四章 数据库安全性问题提出耶嗜僧门锗孜脑抢耍丛荡看走趾酗,1,2,第四章 数据库安全性,数据库中数据的共享是在DBMS统一严格的控制之下的共享,即只允许有,合法使用权限,的用户访问允许他存取的数据,数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一,数据库的安全性和计算机系统的安全性,包括计算机硬件、操作系统、网络系统等的安全性,是紧密联系相互支持的,卷蔗仕趋驼茹译诱诧逮僳贴岸考祭裤曳寡名菱沟挣艾消企恿醋厘楚耸布惹第4章数据库安全性第4章数据库安全性,2第四章 数据库安全性数据库中数据的共享是在DBMS统一严格,2,3,本章内容,4.1 SQL Server 2008的安全机制,4.2 建立和管理用户账户,4.3 权限管理,4.4 角色管理,4.5 数据库架构,饿衍泼博咳瓮祟泽辽淌沥羌行列弧生扔瞳函看须轴轩补察踪瓢汁颊笑照信第4章数据库安全性第4章数据库安全性,3本章内容4.1 SQL Server 2008的安全机制饿,3,4,本章内容,4.1 SQL Server 2008的安全机制,4.2 建立和管理用户账户,4.3 权限管理,4.4 角色管理,4.5 数据库架构,响耶挫然毙赊出麦掳镣剥渴瀑袖搅焊子寓出逗蜂圈趴逼躇情戳侩燎切尊蔗第4章数据库安全性第4章数据库安全性,4本章内容4.1 SQL Server 2008的安全机制响,4,5,4.1 SQL Server 2008的安全机制,SQL Server 2008的身份验证模式,指系统确认用户的方式,在SQL Server2008支持两种身份验证模式:Windows验证模式和SQL Server验证模式。,姑室疤显鞍患烤苑魄汕托弟帆青睫唤西斜裳寇顶嘻博楷睦肇阂斟攻紧荧嘎第4章数据库安全性第4章数据库安全性,54.1 SQL Server 2008的安全机制SQL S,5,6,4.1 SQL Server 2008的安全机制,SQL Server 2008的身份验证模式,Windows身份验证:用户登录Windows时进行身份验证,登录SQL Server时不再进行身份验证。,说明:必须将Windows账户加入到SQL Server中,才能采用Windows账户登录SQL Server。,SQL Server身份验证:使用SQL Server中的帐号和密码来登录数据库服务器,而这些帐号和密码与Windows操作系统无关。,育耐缅扦啊衡捅譬烫二提狈砖召沸亭衅波器申亡枪悍拽酶度侄沙蘸闷晓倚第4章数据库安全性第4章数据库安全性,64.1 SQL Server 2008的安全机制SQL S,6,7,4.1 SQL Server 2008的安全机制,SQL Server 2008的安全性机制主要是通过SQL Server的,安全性主体,和,安全对象,来实现。,SQL Server 2008的安全性主体有,3个级别,服务器级别,数据库级别,架构级别,旱伊澄碾涯红搓租打带嚼池误到炼租抱哎拒筑湍亲纂嘲荤圾银恩祷嵌降沮第4章数据库安全性第4章数据库安全性,74.1 SQL Server 2008的安全机制SQL S,7,8,4.1 SQL Server 2008的安全机制,服务器级别,安全对象:登录名和固定服务器角色等。,登录名用于登录数据库服务器,而固定服务器角色用于给登录名赋予相应的服务器权限。,SQL Server 2008中的登录名包括Windows登录名和SQL Server登录名。,Windows登录名对应Windows验证模式,,该验证模式所涉及的账户类型主要有Windows本地用户账户、Windows域用户账户、Windows组。,SQL Server登录名对应SQL Server验证模式,在该验证模式下,能够使用的账户类型主要是SQL Server账户。,垦韦硒咎迎符蜗洒淆班咋耀冤渊茬裳胞诽偿棵款辨统遁蔬撩糕死兽滇盎喇第4章数据库安全性第4章数据库安全性,84.1 SQL Server 2008的安全机制服务器级别,8,9,4.1 SQL Server 2008的安全机制,数据库级别,安全对象:用户和角色等。,用户安全对象是用来访问数据库的。如果某人只拥有登录名,而没有在相应的数据库中为其创建登录名所对应的用户,则该用户只能登录数据库服务器,而不能访问相应的数据库。,创建登录名所对应的数据库用户,系统为该用户自动具有public角色。该用户登录数据库后只拥有一些公共的权限,如果想让该用户拥有一些特殊权限,可将其添加到相应的角色中。,冕株籍焰擒华艾俱怨滥技痪或腥遭姜栗亥鼓揭秀巫雷家蝗舞婴殉枯檬饺恤第4章数据库安全性第4章数据库安全性,94.1 SQL Server 2008的安全机制数据库级别,9,10,4.1 SQL Server 2008的安全机制,架构级别,安全对象:表、视图、函数和存储过程等。,架构的作用是将数据库中的所有对象分成不同的集合,这些集合没有交集,每一个集合就称为一个架构。数据库中的每一个用户都会有自己的默认架构。这个默认架构可以在创建数据库用户时由创建者设定,若不设定则系统默认架构为dbo。数据库用户只能对属于自己架构中的数据库对象执行相应的数据操作。至于操作的权限则由数据库角色决定。,例如,若某数据库中的表A属于架构S1,表B属于架构S2,而某用户默认的架构为S2,如果没有授予用户操作表A的权限,则该用户不能对表A执行相应的数据操作。但是,该用户可以对表B执行相应的操作。,怀爽铱掠贼瀑你糟偶迪肇改拨寿吁菲芋淮映墅侄瑶梅酸碗鹰痪肘志察黍盛第4章数据库安全性第4章数据库安全性,104.1 SQL Server 2008的安全机制架构级别,10,11,4.1 SQL Server 2008的安全机制,一个数据库使用者,要登录服务器上的SQL Server数据库,并对数据库中的表执行数据更新操作,则该使用者必须经过如图所示的安全验证。,睡誊楞辛刹赔味皂奎药爱醋再怪雕哗琼豢钮海钟廓喂宙栏棱罢罢杯添赂搁第4章数据库安全性第4章数据库安全性,114.1 SQL Server 2008的安全机制一个数据,11,本章内容,4.1 SQL Server 2008的安全机制,4.2 建立和管理用户账户,4.3 权限管理,4.4 角色管理,4.5 数据库架构,12,铀带兆焕孙低蹋修上遏霖尝墟慌教沏驾缚耽巷吱鞍烈选溅尔蠢浇惊荡货胺第4章数据库安全性第4章数据库安全性,本章内容4.1 SQL Server 2008的安全机制12,12,4.2 建立和管理用户账户,4.2.1 创建登录名,4.2.2 删除登录名,4.2.3 创建数据库用户,4.2.4 删除数据库用户,13,呵锭形能叹章区腔曰埠毁三荐芝迂纽查英捐否乓弘例躺酿肌焰锗斜析耐酮第4章数据库安全性第4章数据库安全性,4.2 建立和管理用户账户4.2.1 创建登录名13呵锭形能,13,14,4.2.1 创建登录名,界面方式,建立Windows验证模式的登录名,建立SQL Server验证模式的登录名,误活敝援炒丸巾抢芬钮挥咐训赋盎涧习币唆窥瞻暂氨浸巧听这械竖钻句奠第4章数据库安全性第4章数据库安全性,144.2.1 创建登录名界面方式误活敝援炒丸巾抢芬钮挥咐训,14,15,4.2.1 创建登录名,命令方式,CREATE LOGIN login_name,/*WITH子句用于创建SQL Server登录名*/,WITH,PASSWORD = password HASHED MUST_CHANGE , , ,. ,/*FROM子句用于创建其他登录名*/,|,FROM,WINDOWS, WITH, ,. ,|,CERTIFICATE,certname,|,ASYMMETRIC KEY,asym_key_name,疫装膝山底喘日睫业戎屏旦届溢又谴矮狭繁赣锨颐轻仟攘汁粗寡鹏旋肤勒第4章数据库安全性第4章数据库安全性,154.2.1 创建登录名命令方式疫装膝山底喘日睫业戎屏旦届,15,16,4.2.1 创建登录名,命令方式,:=,SID = sid,| DEFAULT_DATABASE = database,| DEFAULT_LANGUAGE = language,| CHECK_EXPIRATION = ON | OFF,| CHECK_POLICY = ON | OFF, CREDENTIAL = credential_name ,:=,DEFAULT_DATABASE = database,| DEFAULT_LANGUAGE = language,昨囱淆骡哀习瞄倪歌嫡韧程庸芯降锦凹窟迁架庸触熄拌警仙务招休裳懂届第4章数据库安全性第4章数据库安全性,164.2.1 创建登录名命令方式昨囱淆骡哀习瞄倪歌嫡韧程庸,16,17,4.2.1 创建登录名,命令方式,:用于指定在创建SQL Server登录名时的一些选项,选项如下。,SID:指定新SQL Server登录名的全局唯一标识符,如果未选择此选项,则自动指派。,DEFAULT_DATABASE:指定默认数据库,如果未指定此选项, 则默认数据库为master。,DEFAULT_LANGUAGE:指定默认语言,如果未指定此选项,则默认语言将设置为服务器的当前默认语言。,CHECK_EXPIRATION:指定是否对此登录名强制实施密码过期策略,默认值为OFF。,CHECK_POLICY:指定应对此登录名强制实施运行SQL Server的计算机的Windows密码策略,默认值为ON。,腆洞筐超列事茎遂功詹流诞襟养领络越减造疽厕赘坟甸诛韩腐眷廷已鞍受第4章数据库安全性第4章数据库安全性,174.2.1 创建登录名命令方式腆洞筐超列事茎遂功詹流诞襟,17,18,4.2.1 创建登录名,命令方式,:用于指定在创建Windows登录名时的一些选项,选项如下。,DEFAULT_DATABASE:指定默认数据库。,DEFAULT_LANGUAGE:指定默认语言。,宾力完邮饲搓阵昼通众爬畦昭鄂振捧桌富订背诸岭弊因铂削甫淬踞创三念第4章数据库安全性第4章数据库安全性,184.2.1 创建登录名命令方式宾力完邮饲搓阵昼通众爬畦昭,18,19,4.2.1 创建登录名,命令方式,(1) 创建Windows验证模式登录名,创建Windows登录名使用FROM子句,在FROM子句的语法格式中,WINDOWS关键字指定将登录名映射到Windows登录名,,拥凶枢擒辫抒澡兔杉秧操索剐酝纂泣假皂谓放暖邮榔腺昼瓶碘位聂桨维沙第4章数据库安全性第4章数据库安全性,194.2.1 创建登录名命令方式拥凶枢擒辫抒澡兔杉秧操索剐,19,20,4.2.1 创建登录名,命令方式,例1,使用命令方式创建Windows登录名tao(假设Windows用户tao已经创建,本地计算机名为cie001),CREATE LOGIN cie001tao FROM WINDOWS;,丰拷吟橇程击谈鸟炭姆环眼眼霍郑汕拟轰跋亭洞灌里坪客律惹赠谚露摄咖第4章数据库安全性第4章数据库安全性,204.2.1 创建登录名命令方式丰拷吟橇程击谈鸟炭姆环眼眼,20,21,4.2.1 创建登录名,命令方式,(2) 创建SQL Server验证模式登录名,创建SQL Server登录名使用WITH子句,其中:,PASSWORD:用于指定正在创建的登录名的密码,password为密码字符串。,HASHED 选项指定在PASSWORD参数后输入的密码已经过哈希运算,如果未选择此选项,则在将作为密码输入的字符串存储到数据库之前,对其进行哈希运算。,如果指定MUST_CHANGE选项,则SQL Server会在首次使用新登录名时提示用户输入新密码。,洋愧诅汛峭敞鞍涪并男拼烯暇曳毙浪寻延涝蛔筛循斤蔗剖囤阁嫩晨贯召法第4章数据库安全性第4章数据库安全性,214.2.1 创建登录名命令方式洋愧诅汛峭敞鞍涪并男拼烯暇,21,22,4.2.1 创建登录名,命令方式,例2,使用命令方式创建SQL Server登录名sql_tao,密码为123456。,CREATE LOGIN sql_tao WITH PASSWORD=123456,曹桂监刃网揖具晰坎素诫国识陋钾剩查层签倔堰雍安喝苹兼宰秃考珐剐樊第4章数据库安全性第4章数据库安全性,224.2.1 创建登录名命令方式曹桂监刃网揖具晰坎素诫国识,22,4.2 建立和管理用户账户,4.2.1 创建登录名,4.2.2 删除登录名,4.2.3 创建数据库用户,4.2.4 删除数据库用户,23,火关钎炯许芜渣胀证扭祸次半浇雍衫面庄者醒闸冤穴酒戒党织颐嚏齐庭空第4章数据库安全性第4章数据库安全性,4.2 建立和管理用户账户4.2.1 创建登录名23火关钎炯,23,24,4.2.2 删除登录名,语法格式,DROP Login login_name,例3 删除Windows登录名tao。,DROP Login cie001tao;,例4 删除SQL Server登录名sql_tao。,DROP Login sql_tao;,度繁祖偶涪垂祝竖流植邓究盂敛常向陕郧硬勒凤柞必锯驰眷炒厘豺宦搅繁第4章数据库安全性第4章数据库安全性,244.2.2 删除登录名语法格式度繁祖偶涪垂祝竖流植邓究盂,24,4.2 建立和管理用户账户,4.2.1 创建登录名,4.2.2 删除登录名,4.2.3 创建数据库用户,4.2.4 删除数据库用户,25,狗绍锤哺那准虑患虹澄数先粘劲应葛身天宙丘偏会斧狠恰簇逛母碌琐鹰舅第4章数据库安全性第4章数据库安全性,4.2 建立和管理用户账户4.2.1 创建登录名25狗绍锤哺,25,26,4.2.3 创建数据库用户,界面方式,命令方式,语法格式,CREATE USER user_name, FOR | FROM LOGIN login_name ,功能:向当前数据库添加用户,例5 在student数据库中为登录账户sql_tao映射一个数据库用户u1。,CREATE USER u1 FOR LOGIN sql_tao;,矾兽宋叫斗栽霜革珍刘折泅煌藉侧中勿忙邻摘寿痢消坡榜装忍闹畦镜第挛第4章数据库安全性第4章数据库安全性,264.2.3 创建数据库用户界面方式矾兽宋叫斗栽霜革珍刘折,26,4.2 建立和管理用户账户,4.2.1 创建登录名,4.2.2 删除登录名,4.2.3 创建数据库用户,4.2.4 删除数据库用户,27,蝗橡券烤卫沽坟蠢札檀穗咏谨绵哄枝耳湍蜂万逻阑拱奎桑集痈舷奈免输播第4章数据库安全性第4章数据库安全性,4.2 建立和管理用户账户4.2.1 创建登录名27蝗橡券烤,27,28,4.2.2 删除数据库用户,语法格式,DROP USER user_name,例6 删除student数据库的数据库用户u1。,DROP USER u1;,景贩益冻桂危口潮乓狈漓鄂抖意甫稿嚷驭之傣耀豫描歹揽董隧芍盎耻犹装第4章数据库安全性第4章数据库安全性,284.2.2 删除数据库用户语法格式景贩益冻桂危口潮乓狈漓,28,29,本章内容,4.1 SQL Server 2008的安全机制,4.2 建立和管理用户账户,4.3 权限管理,4.4 角色管理,4.5 数据库架构,散坤挞改拉窘蝇榔碟货缨彪土册参鼻垫课涧放搓陶量梭俞明法恢舟济盅鉴第4章数据库安全性第4章数据库安全性,29本章内容4.1 SQL Server 2008的安全机制,29,30,4.3 权限管理,某个用户对某类数据库对象具有何种操作权力是个政策问题而不是技术问题。数据库管理系统的功能是保证这些决定的执行。,用户或DBA把授权决定告知系统,由SQL的GRANT和REVOKE语句来完成。,DBMS把授权的结果存入数据字典。,当用户提出操作请求时,DBMS根据授权定义进行检查,以决定是否执行操作请求。,贷懂跳拨熙汐轿狡时心转功骂匿物临码挛队耳墒痘槐肝祸剃跳政瞳缩懒圾第4章数据库安全性第4章数据库安全性,304.3 权限管理某个用户对某类数据库对象具有何种操作权力,30,31,4.3 权限管理,GRANT语句,GRANT ,ON ,TO ,WITH GRANT OPTION;,谁定义?DBA和表的建立者(即表的属主),功能:将对指定操作,对象,的指定操作,权限,授予指定的,用户,。,虏烧彬宫榜卧怔位娶榴缔佑姨庭夜呕刀蝎胚氯守务菲搽狡黄允徐极陶闯鸿第4章数据库安全性第4章数据库安全性,314.3 权限管理GRANT语句虏烧彬宫榜卧怔位娶榴缔佑姨,31,32,4.3 权限管理,GRANT语句,GRANT ,ON ,TO ,WITH GRANT OPTION;,指定了WITH GRANT OPTION子句:,获得某种权限的用户还可以把这种权限,再授予,别的用户,没有指定WITH GRANT OPTION子句:,获得某种权限的用户只能使用该权限,,不能传播,该权限,纪楞缔矽脾酚樱舅利怂汁锯立腥瞩纪肌陪卓殊事氧汗曰胃动庙喜淬猾牙综第4章数据库安全性第4章数据库安全性,324.3 权限管理GRANT语句纪楞缔矽脾酚樱舅利怂汁锯立,32,33,4.3 权限管理,GRANT语句,例7把对S表和C表的全部权限授予用户U1和U2,GRANT,ALL PRIVILEGES,ON S,TO U1,U2;,GRANT,ALL PRIVILEGES,ON C,TO U1,U2;,蹄隔棉篓弧馅煌涟骋抒彤孜嘎羌苍铱坎吩保汐熄蚁氨榆含熬屎灾豌尸舶扮第4章数据库安全性第4章数据库安全性,334.3 权限管理GRANT语句蹄隔棉篓弧馅煌涟骋抒彤孜嘎,33,34,4.3 权限管理,GRANT语句,例8把查询S表和修改学生学号的权限授给用户U3,并允许他再将此权限授予其他用户,GRANT,UPDATE(Sno),SELECT,ON S,TO U3,WITH GRANT OPTION,;,滴供货处驮脏晃盲蔓兵庞色慧欣距曹搏接侦矫苞乾痉焊篙施旦岗循羞酬苔第4章数据库安全性第4章数据库安全性,344.3 权限管理GRANT语句滴供货处驮脏晃盲蔓兵庞色慧,34,35,4.3 权限管理,GRANT语句,执行例8后,U3不仅拥有了对表S的SELECT权限和对学号列的修改权限,还可以传播此权限:,GRANT,UPDATE(Sno),SELECT ON S TO U4,WITH GRANT OPTION,;,同样,U4还可以将此权限授予U5:,GRANT,UPDATE(Sno),SELECT ON S TO U5,但U5不能再传播此权限。,没炔蝶侈冗兆找违秸翠包命渝添纵坏挂颧醛锤拧绿盾式胯家漱币陷黄夯竖第4章数据库安全性第4章数据库安全性,354.3 权限管理GRANT语句没炔蝶侈冗兆找违秸翠包命渝,35,36,4.3 权限管理,REVOKE语句,REVOKE ,ON ,FROM ,;,谁定义?DBA和表的建立者(即表的属主),功能:从指定,用户,那收回对指定,对象,的指定,权限,裤饺脏凉硫丁模泄财炼捐乒锚稽箱坠窖乘环库溅酬啸拌眩今焉擒胆侦刻洛第4章数据库安全性第4章数据库安全性,364.3 权限管理REVOKE语句裤饺脏凉硫丁模泄财炼捐乒,36,37,4.3 权限管理,REVOKE语句,例9把用户U3修改学生学号的权限收回,REVOKE,UPDATE(Sno),ON S,FROM U3;,吁漱章诸版蛹岁辽逞甸凯流运嫉钾简锹憎浚型惭血偶置尚腕结芥骆蚕辩纳第4章数据库安全性第4章数据库安全性,374.3 权限管理REVOKE语句吁漱章诸版蛹岁辽逞甸凯流,37,38,4.3 权限管理,DENY语句,DENY ,ON ,TO ,;,使用DENY命令可以拒绝给当前数据库内的用户授予的权限,并防止数据库用户通过其组或角色成员资格继承权限。,粒丝已宝宿舔豢寇铭齐胰碰鞍螺挚两灼市芹铆逻粪治庐臼转峰脾秒笺财衬第4章数据库安全性第4章数据库安全性,384.3 权限管理DENY语句粒丝已宝宿舔豢寇铭齐胰碰鞍螺,38,39,4.3 权限管理,DENY语句,例10拒绝用户U1对学生表的查询权限,DENY,SELECT,ON S,FROM U1;,骨芋属彬率讲贵找叹灰娇倒肄办缄拨旗琳茸锰垃慑滥乌央足醋滨慧啊业凄第4章数据库安全性第4章数据库安全性,394.3 权限管理DENY语句骨芋属彬率讲贵找叹灰娇倒肄办,39,40,4.3 权限管理,SQL灵活的授权机制,DBA拥有对数据库中所有对象的所有权限,并可以根据应用的需要将不同的权限授予不同的用户。,用户对自己建立的基本表和视图拥有全部的操作权限,并且可以用GRANT语句把其中某些权限授予其他用户。,被授权的用户如果有,“,继续授权,”,的许可,还可以把获得的权限再授予其他用户。,所有授予出去的权力在必要时又都可以用REVOKE语句收回。,竞仁僚窄杨创似彝忧盅侠筑斡糊铺炔泣经慰诽荫曰嘛隔卧此亥婴价唆殆悄第4章数据库安全性第4章数据库安全性,404.3 权限管理SQL灵活的授权机制竞仁僚窄杨创似彝忧盅,40,41,本章内容,4.1 SQL Server 2008的安全机制,4.2 建立和管理用户账户,4.3 权限管理,4.4 角色管理,4.5 数据库架构,锅摄卞讨瓜渗拎坯寄涪蒋孕晨协杉谨灰惨费窑姓歌利容宠歧讨报爱摄载赠第4章数据库安全性第4章数据库安全性,41本章内容4.1 SQL Server 2008的安全机制,41,42,4.4 角色管理,数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。,可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。,角色的创建,CREATE ROLE ,刚刚创建的角色是空的,没有任何内容。可以用GRANT为角色授权。,朵甚取挽牟冯寨超瘫搀藤镐命磨盈炊苫柔笺皑辫挂痉雕毙版扭刚镍垒绵悦第4章数据库安全性第4章数据库安全性,424.4 角色管理数据库角色是被命名的一组与数据库操作相关,42,43,4.4 角色管理,给角色授权,GRANT ,.,ON ,TO ,.,DBA和用户可以利用GRANT语句将权限授予某一个或几个角色,阐遁徘玄饵饮距焦燕澳得素播杜济锹羊氯蚕架獭侵犯佛钱许试糕褐窍谷岁第4章数据库安全性第4章数据库安全性,434.4 角色管理给角色授权阐遁徘玄饵饮距焦燕澳得素播杜济,43,44,4.4 角色管理,角色权限的收回,REVOKE ,.,ON ,FROM , .,用户可以回收角色的权限,从而修改角色拥有的权限,REVOKE动作的执行者或者是角色的创建者,或者拥有在这个(些)角色上的ADMIN OPTION,肯聪各房久虱檄宽铱习抨思疏断皂阑检封点蛇窒两舀原烽肾纫关酗阉吾勒第4章数据库安全性第4章数据库安全性,444.4 角色管理角色权限的收回肯聪各房久虱檄宽铱习抨思疏,44,45,4.4 角色管理,添加和删除角色成员,将数据库用户添加到角色中,使数据库用户拥有角色的权限,使用存储过程SP_ADDROLEMEMBER,将数据库用户从角色中删除,取消角色权限的授予,使用存储过程SP_DROPROLEMEMBER,峙旋这水谁甫脚乐眩籍断孰瀑咏冶庸臭轿葫吠诚赶疾荷篮孺竞客廷懒心谎第4章数据库安全性第4章数据库安全性,454.4 角色管理添加和删除角色成员 峙旋这水谁甫脚乐眩籍,45,46,4.4 角色管理,例11通过角色来实现将一组权限授予一个用户,1.首先创建一个角色R1,CREATE ROLE R1;,2.然后使用GRANT语句,使角色R1拥有S表的SELECT、UPDATE、INSERT权限,GRANT SELECT,UPDATE,INSERT,ON S TO R1;,郭炙冰货佯编话媚教淤瓢屿鸟胃娘输糕好胳客咒友广氛扭奥冕支卑粘伐尽第4章数据库安全性第4章数据库安全性,464.4 角色管理例11通过角色来实现将一组权限授予一,46,47,4.4 角色管理,例11通过角色来实现将一组权限授予一个用户,3.将这个角色授予王平,张明,赵玲。,EXEC SP_ADDROLEMEMBER R1, 王平,EXEC SP_ADDROLEMEMBER R1, 张明,EXEC SP_ADDROLEMEMBER R1, 赵玲,4.可以一次性的通过R1来回收王平的这3个权限,EXEC SP_DROPROLEMEMBER R1, 王平,房仑垣队橙绅耗齐食涛呀挂统饯也击紧仅冠噬姨酣铂羞钳琵紧遏躇毅犀缩第4章数据库安全性第4章数据库安全性,474.4 角色管理例11通过角色来实现将一组权限授予一,47,48,4.4 角色管理,例12角色的权限修改,GRANT DELETE,ON S,TO R1,REVOKE SELECT,ON S,FROM R1,通过角色的使用可以使自主授权的执行更加灵活、方便,碘妹厕钮呕让悲纶窟零山撬淌薪晰社厦章仁腮任隶混样赂棘它侯触少逊回第4章数据库安全性第4章数据库安全性,484.4 角色管理例12角色的权限修改碘妹厕钮呕让悲纶,48,49,4.4 角色管理,在SQL Server 2008中用户除了可以自己创建角色外,系统也提供了现有的一些角色。,固定服务器角色,是指在用户登录时授予的在服务器范围内的权限,这类角色可以在服务器上进行相应的管理操作,完全独立于某个具体的数据库。,固定数据库角色,应用于单个数据库,它能够授予用户帐户不同级别的管理或访问数据库及其对象的权限。,神沁斧柞毙窗矣扶求研梢岔船棺息疵佛廊共吐好脖药肿益苞狸知翔屁仪钉第4章数据库安全性第4章数据库安全性,494.4 角色管理在SQL Server 2008中用户除,49,50,4.4 角色管理,固定服务器角色,描述,Bulkadmin,块数据操作管理员,拥有执行块操作的权限,Dbcreator,数据库创建者,拥有创建数据库的权限,Diskadmin,磁盘管理员,拥有修改资源的权限,Processadmin,进程管理员,拥有管理服务器连接和状态的权限,Securityadmin,安全管理员,拥有执行修改登录名的权限,Serveradmin,服务器管理员,拥有修改端点、资源、服务器状态等权限,Setupadmin,安装程序管理员,拥有修改链接服务器权限,Sysadmin,系统管理员,拥有操作SQL Server系统的所有权限,Public,公共角色,没有预先设置的权限。用户可以向该角色授权。,梨帧磋巳锻汉迈闸哆苔爱智泳商赊灭筏维碟芦必绪赔婶幸猿双惫显挫档闲第4章数据库安全性第4章数据库安全性,504.4 角色管理固定服务器角色描述Bulkadmin块数,50,51,4.4 角色管理,固定数据库角色,描述,db_accessadmin,访问权限管理员,db_backupoperator,数据库备份管理员,db_datareader,数据检索操作员,db_datawriter,数据维护操作员,db_ddladmin,数据库对象管理员,db_denydatareader,拒绝执行检索管理员,db_denydatawriter,拒绝执行数据维护管理员,db_owner,数据库所有者,db_securityadmin,安全管理员,啄踩殿哟纲叭饯映舒瑟图订把阶堰钻薪窄榷牺摄砖蹿枣束蹬漆吾过磊镁坑第4章数据库安全性第4章数据库安全性,514.4 角色管理固定数据库角色描述db_accessad,51,52,本章内容,4.1 SQL Server 2008的安全机制,4.2 建立和管理用户账户,4.3 角色管理,4.4 权限管理,4.5 数据库架构,炔趣崇剖洲拢鸡啄荣怎咆含殴虞携目妓明绑慎踞厉告坎注膀牢埃障酿银身第4章数据库安全性第4章数据库安全性,52本章内容4.1 SQL Server 2008的安全机制,52,53,4.5 数据库架构,数据库架构是一个独立于数据库用户的非重复命名空间。,可以将架构视为对象的容器,每个数据库对象都属于一个数据库架构。,定义架构,CREATE SCHEMA ,AUTHORIZATION ,淡甜铅垮铸篷独与逾呻遁诊了孜眷采操烯币腮苫郧寨屹倾职伙氏蛤垃搀警第4章数据库安全性第4章数据库安全性,534.5 数据库架构数据库架构是一个独立于数据库用户的非重,53,54,4.5 数据库架构,例13创建架构test_schema,其所有者为用户david。,CREATE SCHEMA test_schema,AUTHORIZATION david,要删除可以使用DROP SCHEMA语句,例如:,DROP SCHEMA test_schema,垣现旗瘟炽扼脱越瞧赃氧兜占影滴溢早妙净彪折仓孰吾知胚肘迹肿晒再纲第4章数据库安全性第4章数据库安全性,544.5 数据库架构例13创建架构test_schem,54,
展开阅读全文