7、数据库安全基本原则_第1页
7、数据库安全基本原则_第2页
7、数据库安全基本原则_第3页
7、数据库安全基本原则_第4页
7、数据库安全基本原则_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库安全基本原则 教学目的 学习数据库安全基本原则 重点、难点 设计对 SQL SERVER 的安全访问 管理对 SQL SERVER 实例的访问 管理对 SQL SERVER 数据库的访问 管理对数据库架构的访问 管理对数据库表和列的访问 管理对可编程对象的访问 教学方法 讲授法、练习法 教学课时 4 节理论课 +8 节课堂实验 1.1 保护数据库系统的网络安全设计 (略 ) 1.1.1 授权远程访问 (略 ) 详见第 9 章 1.1.2 保护外部访问 (略 ) 详见第 9 章 1.2 管理对 SQL Server 实例的访问 1.2.1 选择身份验证模式 1讲解两种身份验证模式的含义和比

2、较( p4) 2演示配置混合身份验证模式 (1)更改服务器身份验证模式( p3) (2)利用图形界面创建登录名登录 1.2.2 连接到SQL Server实例 1. 讲解授权 Windows用户及组的访问,介绍默认的 Windows登录名(p5) 2. 演示使用 Windows身份验证连接到 SQL Server(第9章SQL Server 2005 的安全管理 185) 3. 演示授权 SQL SERVER登录名的访问,使用 SQL语言创建登录名 “ mary ”并登录 (1) 从“开始”菜单中,依次选择“所有程序”“Microsoft SQL Server 2005”“SQL Server

3、 Management Studio Expres” 单击“新建查询”按钮打 开一个“新建查询”窗口并在“可用数据库”下来菜单中选择“AdventureWorks” 将数据库上下文更改为Adve ntureWorks。输入下面语句: CREATE LOGIN Mary WITH PASSWORD = pssw0rd, DEFAULT_DATABASE =Adve ntureWorks; 执行,结果如图1.1所示。 图1.1创建登录账户“ Mary” 指导: 此时Mary没有访问AdventureWorks数据库的权限 (2) 运行以下代码通过sql_logins目录视图来获取有关SQL Ser

4、ver登录名 的信息: SELECT * FROM sys.sql_logi ns; 执行,结果如图1.2所示。 图1.2获取登录名的信息 (3) 在“SQL Server Management Studio Express 窗口单击“连接对象资源 管理器”,打开“连接到服务器”,选择身份验证方式为“ SQL Sever身份验证”, 登录名为“ Mary ”,密码:psswOrd。如图1.3所示。 图1.3 “连接到服务器”窗口 (4)单击“连接”,弹出“连接到服务器”提示框,如图1.4所示 图1.4 “连接到服务器”提示框 指导: 此时虽然登录名“ Mary ”默认连接数据库“ Advent

5、ureWorks”,但仍然无法 打开数据库。即 Mary账户对于AdventureWorks数据库来说只相当于一个 guest 账户,而guest账户没有开启。 (5)执行下面语句,授予guest账户连接权限,如图1.5所示。 USE Adve ntureWorks; GO GRANT CONNECT TO guest; 图1.5授予guest账户连接权限 6)在“SQL Server Management Studio Express 窗口单击“连接对象资源管理 器”,打开“连接到服务器”,选择身份验证方式为“ SQL Sever身份验证”,登 录名为“ Mary”,密码:psswOrd。如

6、图1.6所示。 图1.6 “连接到服务器”窗口 (7)单击“连接”,打开了 “SQL Server Management Studio Express 窗口,如 图1.7所示。 图1.7 “ Mary ”账户登录成功 指导: 展开“ AdventureWorks”数据库, 发现看不到数据库下面的用户表。原因在于目前Mary用户只用连接权限,没有查询权限。 (8)切换到“ Administrator”登录界面,执行下面语句,授予 guest账户连 接权限,如图1.8所示。 USE Adve ntureWorks; GO REVOKE CONNECT TO guest; 图1.8撤销guest账户

7、连接权限 9)在“SQL Server Management Studio Express 窗口单击“连接对象资源管理 器”,打开“连接到服务器”,选择身份验证方式为“ SQL Sever身份验证”,登 录名为“ Mary”,密码:psswOrd。单击“连接”,仍然无法连接,如图1.9所 示。 2J 无法连接到sxL9QLEXPRE55o Additional information: 爲启去打开用户钛认数据陣.登录失败. 用户Mary登录失败-(Micrijsaft SQL Servier, Error: -4064) 图1.9 “连接到服务器”提示框 4. 讲解密码策略的实施(p8) 5讲

8、解管理实例权限(p9) 6实验管理实例权限 (1) 在“ Admi ni strator ”登录界面,执行下面语句,为服务器角色添加一个 登录名: EXECUTE sp_addsrvrolemember Mary, sysadmi n; 结果如图1.10所示。 图1.10为服务器角色添加一个登录名 (2) 在对象资源管理器中,展开安全性一一登录名,找到“Mary”,如图 1.11所示。 图1.11在对象资源管理器中找到“ Mary” (3) 在 登录名“Mary”上,单击鼠标右键,在弹出的菜单中单击“属性” 在打开的“登录属性-Mary”窗口的选择页中选择“服务器角色”,在窗口右侧的 服务器角

9、色中选择了“ sysadmin”如图1.12所示。单击“确定”。 图1.12将“ Mary ”添加到服务器角色“ sysadmin”中 (4)在“SQL Server Management Studio Express 窗口单击“连接对象资源 管理器”,打开“连接到服务器”,选择身份验证方式为“ SQL Sever身份验证”, 登录名为“ Mary”,密码:psswOrd。单击“连接”,连接成功,在对象资源管 理器中展开“ AdventureWorks”数据库,发现可以看到数据库下面的用户表。 如图1.13所示。 图 1.13 查看“ AdventureWorks” 数据库 指导: 此时Mar

10、y拥有对数据库的完全控制权限。 (5)执行下面语句,获取服务器角色成员信息 SELECT IS_SRVROLEMEMBER (sysadmi n); 如图1.14所示 图1.14获取服务器角色成员信息 指导: 通过查询系统函数IS_SRVROLEMEMBER,可以查出当前用户是否属于一 个服务器角色。如果实际登录名属于sysadmin服务器角色,返回1,否则返回0: (3)切换到“ Admi ni strator ”登录界面,执行下面语句,将登录名从服务器 角色中删除 如图1.15所示 EXECUTE sp_dropsrvrolemember Mary, sysadmi n 图1.15将登录名

11、从服务器角色中删除 (4) 在登录名Mary的属性窗口中,在选择页中选择“用户映射”,在右侧 的“映射到此登录名的用户”中选中“ Adve ntureWorks ”数据库,在 “数据库 角色成员身份”中选中“ Public”,如图1.16所示。单击“确定”按钮。 B査录IE性-Msry -ICI X| SEffH g知丰*叱邨t E 2 JI赌勒 执行,刷新“testrole”登录界面,展开数据库目录,可以看到“ AdventureWork” 数据库下的用户表,如图1.34所示。 亡SQL ServerSlxjilio iff 咖 UlEKQ项耳旧 I*(D氐口幽iHZ(t)利朗闾 J轍经宦l

12、i泌出生角占申耳涉 ”出b = 窖軟划丨II !执is笛* 卩子 1忸lf气耳ISQH电 = 9k 图1.34验证“ testselec”查询权限 1.5.2管理数据库角色 (1)通过系统函数IS_MEMBER来判断当前数据库用户是否属于某个数 据库角色: USE Adve ntureWorks; GO SELECT IS_MEMBER (db_ow ner); 执行,如图1.35所示。 iff 旧視战妙連诵(0 用目曲 XKu ffintw itEg Wa 丄鮭書M 山占出色仏占日厲睢3哼”。涉呼區 沁诅 ZixeMf* I f IMS 皿 / -刁爭 妬 F S IiQlSIU i 3 呼

13、打* 图1.35判断用户是否属于某个数据库角色 指导: 如果结果中的值是“ 0”表示当前的登录用户不是“ db_owner”的成员 (2)从“ testselect ”数据库角色中删除数据库用户“ testrole ”并删除数据 库角色“ testselect ” : USE Adve ntureWorks; GO EXECUTE sp_droprolemember testselect, testrole; DROP ROLE testselect; 执行,如图1.36所示 盘愕旧fflSCD 1REW査调23顶目 TWU饲口何杜区 WU ifMiij 虽 為 j hi a戲謹可肚會區 :菩

14、如*| f朗-卩于 |蚯|厂些B1IQ團g 壬二 車軍. | (J (ZY-FDFMEALID (SQL 5err 9.0.1399 - CZ2Y-W * 口舸B库 -J版箱卑揖猛 b U数爵庠快蚩 f |j AdwntureWorks i Brine Brdnq J如 vr. J P 汐聲询己成她行CIZT-F:5MEfcjlD ra 0 GO GRANT BACKUP DATABASE TO backup1; 执行后,如图1.40所示。 图1.40授予“ backupT备份权限 (5)切换到“ backup1 ”登录界面,展开对象资源管理器,在 “AdventureWorks”数据库单击鼠

15、标右键,在弹出的快捷菜单中选择“任务”一 “备份”,打开“备份数据库-AdventureWork”窗口,单击“确定”按钮执行, 备份成功,如图1.41所示。 2SJ Microsoft SQL Server Management Studio Fhpress 对数据库AdventureWtorksJ备份已成功芫威. 图1.41备份成功 指导: 为了减少维护权限结构的工作量,应该只为数据库角色授予权限,而不是单 独的数据库用户。 1.6 管理应用程序角色 1.6.1创建应用程序角色 了解创建应用程序角色 1.6.2使用应用程序角色 了解使用应用程序角色 1.6.3删除应用程序角色 了解删除应用程

16、序角色 1 讲解架构的概念 2 演示创建、删除和查询架构 (1) 建立登录名“sch”,映射到“AdventureWorks”数据库,但只拥有Public 权限。创建一个架构 Accounting ,所有者为“sch” ,并在架构下建表 Accounting.lnvoices , USE Adve ntureWorks; GO CREATE SCHEMA Accou nting AUTHORIZATION sch; GO CREATE TABLE Accou ntin g.I nvoices ( Inv oicelD int, Inv oiceDate smalldatetime, Clien

17、tID int); GO 执行,结果如图1.42所示 Tfr?.- *wu USlO B*y lifiiE Iftil TOfaJ 桎心 tkfido * 口 * 丄匍二 acjQ - 土 ii. . Ftr- nw-:c:r 刑 _J F.H.E A宮据耳曲匚 _.补百+v沪 j HniruEiidFig J g CF-ETF SCHF.MA . -r.nrir.j ATraoRiaffriow ech: GO -create the table invoices m the Accuriting achem c. AriL table ac .ouiLtirL-j. invniMio in

18、t lAYDioDdt 盒malldatet 皿. client:p int; J htgge :! (jl 心 J eCF0F5Ab I.D (SQL Strb 9.D.L349 Lg, CIZ1-F0F5BEAL LD (SQL StrY占気D. L3W -3夥捲圧 IZZZV FQFF sdil t22f-rtfWAQwryZ.sqr IB# INSERT IMTO Accounting.lmraices values ( 101,getdate 0/102); 蠡掳库快卑 Ai-iertures dm Br big book pubf RipartSAtitf 3 畑Uli msxUI

19、Z vsxiDl M5XkD+ 3* ii IrWflf Hb# cr-wrsflEALiD ffl.o GO 执行,结果如图1.47所示。 卜:EKEsMt 古QL Swrvw Mwiden*ent btsdw 则曰fllff肮 1L JS5(E HUB flOCW 粗哲口 Mita? 仝.輛垃现 G iiiiEi Li 酉 W 矗涉害事 丸土 “5曲2” f执打加孑*易*J忆再 厂|址團QI三嗖康車 J IjJ iZZZY-FO=5BEALJD(5QL SefVBF 9.0.1399 CZ2Y-FW 1二_|二鼎 SQL rzjv-FnFSftEA-jqiOiHiYi.ii 魁 USE A

20、dventuteWotks GO $ E LECT 界.口笹01 昌 AS T S chema1 a-name AS TQbject,|i FROM sys吕ch巳叩总5 s INNER JOITJ sys objects D ON s 5 chema_id=o schema_id WHERE 出.n吉nu DROP TABLE Accou nti ng.l nvoices; 执行,结果如图1.48所示 9.0. 壬菱询 E3E咸-I旦矶CTZy-JW5flED SO BT) C2Zl-MP5fiEABLJidit CJ 心曲苗*山 00.00:00 fl 打 CZZY-IF 口啓日 EA.q

21、LQuer 卞 L/ql+ 押获 drop schema Accounting; DROP TAELE Accounting Binvoices; 二 70* -消亀 31i9, |ftJ 1.1.第石计_:= 无法对执订drcv e”因獅寸尿正弓I阳它- Jtff mil) VIEK 辽调m M 目归 iwu sniw 杭区 wa 网耐由於乩黔勺” r 加呼區 書加AdflrtTMsr I f IMj卩于它.虬 r 四丨世画|9 云s 車让* 与语句 的区别 DROP TABLE Accou ntin g.I nv oices; DROP SCHEMA Accou nting; GO DRO

22、P TABLE Accou ntin g.I nv oices; (8) 输入删除架构和表的语句 DROP TABLE Accou ntin g.I nv oices; DROP SCHEMA Accou nting; 执行,结果如图1.49所示。 宜愕旧fiSi:L瞋SW五(03顶目趙XMfD窗口社区 wa .書址MrtuwMf IMj口卩于忸厂专理(Q画Q 二二谨章 4 X 连摄10* 駅1 (J # 诵 CUY-FUFSaEALlD 1*9 , 图1.57验证用户“ ttable”权限 (3) 在“ ttable”登录界面,输入下列语句验证用户“ttable”对“AdventureWor

23、ks” 数据库的Sales.Individual表中两列的查询权限: SELECT Demographics,ModifiedDate from Salesn dividual 执行,结果如图1.58所示 或5QI Server iff AW VIEW ZiWQj 顶目強 IJUU ffinfts) tt wa jnftMtu lli邑出虽2 石ZG GO REVOKE SELECT (Demographics) ON Sales.I ndividual TO ttable; 执行,结果如图1.59所示 U Microsoft SQL Servet Manaflement 5tu(ha EKp

24、ress-ini x| 丈昭 55(E)视理i査越少工副D 宙口園 ME WttXH) 二劭注厳型Jj J J 諭弓邛h亍 冬;出 Adi; entire WortsT !执(1 血 # 醫 也 3 占班1典SQlEJfflE労 GO revoke sElect Demographics: On sales.individual TO ttable; 1 1 .iF 为粗I 完成. 73 n d 彳圭 ixlVSQLKPRESS 0.0 sx SVAidni Lfi.L s(52) Adentiureiirlks QO 00:000 U SX1 別5QLEMPR“. .QLQuervS.sql* I删g旳IWU SM19Suery I .fql* 摘要 as 行 g511 Ld=i 1 图1.59取消用户“ ttable”权限 (5)在“ ttable”登录界面,输入下列语句验证

温馨提示

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

评论

0/150

提交评论