实验八数据库安全管理.docx

上传人:b****1 文档编号:10880796 上传时间:2023-05-28 格式:DOCX 页数:28 大小:460.25KB
下载 相关 举报
实验八数据库安全管理.docx_第1页
第1页 / 共28页
实验八数据库安全管理.docx_第2页
第2页 / 共28页
实验八数据库安全管理.docx_第3页
第3页 / 共28页
实验八数据库安全管理.docx_第4页
第4页 / 共28页
实验八数据库安全管理.docx_第5页
第5页 / 共28页
实验八数据库安全管理.docx_第6页
第6页 / 共28页
实验八数据库安全管理.docx_第7页
第7页 / 共28页
实验八数据库安全管理.docx_第8页
第8页 / 共28页
实验八数据库安全管理.docx_第9页
第9页 / 共28页
实验八数据库安全管理.docx_第10页
第10页 / 共28页
实验八数据库安全管理.docx_第11页
第11页 / 共28页
实验八数据库安全管理.docx_第12页
第12页 / 共28页
实验八数据库安全管理.docx_第13页
第13页 / 共28页
实验八数据库安全管理.docx_第14页
第14页 / 共28页
实验八数据库安全管理.docx_第15页
第15页 / 共28页
实验八数据库安全管理.docx_第16页
第16页 / 共28页
实验八数据库安全管理.docx_第17页
第17页 / 共28页
实验八数据库安全管理.docx_第18页
第18页 / 共28页
实验八数据库安全管理.docx_第19页
第19页 / 共28页
实验八数据库安全管理.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实验八数据库安全管理.docx

《实验八数据库安全管理.docx》由会员分享,可在线阅读,更多相关《实验八数据库安全管理.docx(28页珍藏版)》请在冰点文库上搜索。

实验八数据库安全管理.docx

实验八数据库安全管理

实验八数据库安全管理

一、目的与要求

1.掌握创建用户和角色的方法

2.掌握SQL授权命令和收回权限的命令

二、实验准备

1.了解SQLServer登录身份和登录模式的概念;

2.了解用户、角色、登录三者的概念;

3.了解权限授予和收回的的T-SQL语法。

三、实验内容

(1)创建登录名

1.创建新的登录名testlogin

(1)在对象资源管理器的目录树中安全性”登录名”,点击右键选择新建登录

名”,设置登录名为testlogin,“SQLServe身份验证”密码为abc,默认数据

库为“studentdb”如图8-1所示。

瓦望空谆翹器T4x

TJXXV6O2123恪QLServer4.0.15M•」XXYl

l£LJ;»庭岸

E|_^宜樂

SNTAUTHQRUYXSVSTEM昌弓a

”j寤器雋色

-J

l+:

h孫备器疋来

E□EWJ

F匚1eS

I卜」NotrffcationServices

l昌SQLServer畑(已禦用伍XP)

肚勰音禮器

-7xl

白7

d|占JXXY6O2123(SQLServer9.Q.1390-」XXYl

出」楼辜

Fl_J左全性

Fl二

%BUlLTIN\AdminiTtrators

iT'jJXX¥&0222\&QLServer3005MSF

JXXV6D222\SQLServer2DO5MSE

r*jJXXV6O22A5QLSfrrver2OO5SQL

ANTAUTHORJTY\S¥STEM

A53

占te^dogirr

出uJ雅芭

E口径醤

E一1嵐黑器讨金

0Ld

+_jNotificebonServices

bSQLServer世理(已翌卑世理XP)

图8-1

提问:

此时用testlogin登录名创建新的连接,登录到对象资源管理器,是

否能登录成功?

不能登陆成功

⑵右击testlogin登录名,选择属性,设置用户映射”,设置映射到此登录名

的用户为“studentdb”如图8-2所示。

这里即是创建和登录名同名的用

户,该用户属于默认数据库。

这个用户具有的数据库角色是public

丈件旧糯[E〕视圄個工具CT)或口㈣

曲资頂誉理器

▼n刈

■SS(O)'亚

曲■

4甘逢童诫■歯L&囹说左|吕」

I-.0JXXY602123侶QLServer9-0.1399-JXXV<0Ui!

3!

强岸

QU宜吐

F

翊BUILTIN^dminfstrators

r]J)(X¥6022?

\$QL$efver2005MSF

轴JXXY6O222\SQLSenrtr2005MSS

!

>jJXXV6O222\SQLServer20055QL

&NTAUTH0R1TY\£¥£TEM

舟«

&tEstiogin

(3)确定后再次以testlogin及其密码登录查ssms,在testlogin登录名下新建查

提问:

此时是否查询命令能查询到st_info表中的数据?

为什么?

答:

不能,因为未获得访问特定数据库中数据的权利

JXK¥«2U3.Etudentdb-SQLQu^ryLfiqr損賽警X

select"fz™3t&info|」

图8-2

⑷若要查询studentdb数据库中表的数据,则要在数据库角色成员身份中选择db_datareader角色(回到sa登录下设置该登录名的属性),再运行上题中的查询语句,查看结果。

(5)

总吴尽住-t«llogir»

$晦-CJMJil

Mh

严阳些壽角邑-曲•如射

拽牡缰冬名的用户動:

RU4

B

B

■ulas*

mdiil

■idb

用户

'StuJHIitdb

iHtl&pn

dbt

tMpdi

就絆囱包翻J!

出血m畑*tmZ

_|躺一中亡etxsirift^JiA_b*ekupcf«i:

*t4r

/lA.dHl'UAa^LaE岛_血1mi.l・r*d*3^ddll.4-kL3.dh.dH*.T*d“iriiik^rdh_di-7.Td»^mtlt

F4-in4r3tyJidpjp.

31

n存一*TJ-ah3T-=-kW-邑

ron¥t_inE^

--

=3ft*.:

w

11

12

13

U

15

a_m嘤嶼叫OODIEOI的i2HJMK»l『A血]®1町29HIBGIIB他呦梵JW1WO1072311[KIK2H1KO101XQIKIU2M1DK-1Q:

2WiKC1H>2EH2K^IDS2RQK1K-2W5flK-10/

3ijiri_LUttm7-l2.1DDQQ&»ffi»l3£7-l2-2GHIil»-HlDQD■隔S29DQWDdDX>19I:

7-O5-13MWBM»l3£&U7430DI»W[]aC>is^-mwAMoasI轉lxIZm^DdDQOT昭洛谄OOWDOOKi卿囲曲gmgiix皿-HESWlBDQlK.nDQC

I超DEdniHiKDODXiilrf-1211mOftDOtrai

a.Nm

粕科学[嘶计W罠時血I*冲1科宇除啦kmh^kc-iss

口肋七㈣皎□宜七加就

MULL

MJLL

!

■JLL

Mill

LULL

K'JLL

MJLL

NULL

JJ

MJLi

•疇=1玉注南协州盲甲ai■县

厂函ii棉确帀广苗斟知

HULL駅省報击和TOI县

■底击

■r»i

F^nrtHULLHULLHULLHULLHULLNULLHULLHULLNULLHULLHULLHUllHULLHULLHULL

在查询编辑器中运行命令

updatecinfosetccredit-ccredit-1wherecno-・97100:

.X

看是否允许

 

 

 

若不允许,则要在数据库角色成员身份中选择db_datawriter角色。

重新运

行该条更新语句,查看结果

曲相虽

用户

■k5t«r

E

■i■弧

studeutdb

;ttxtlaci-^

ttnpdb

□已自用雜户•女Mdfr

员身谢W.Etud-intdb

F]dh_BCCA33hdnsn

dh.lMidcMp響址也L@tf

■/db_d6lu*4i.dtr

dh_diU“iG

.dJb_6HYy4*t

jdb_dmyxl4twrraifr日dh_Mr.n«rdh_l.i£u^lLyKtlnad.

/|puh-lLC

数据库角色应员身份电):

^tudentib

db_Acces,Eadmindb_backupoperatg够db_datareader*db_dlatawrit-&r

db^ddladmindb_denydatareaderdb_denydatawr11erdb_owner

db_securityadmin9public

CNo

匚.Type

CCredit

———一

CDes

19010122

艺术设计学

选修

4

NULL

20010051

民法学

7

NULL

29000011

体育

4

NUtl

9710011

大学计質机基讹

必修

3

Am

9710021

曲程序设计基础

必修

3

M.L

9710031

敎据库应用基础

必僱

3

NHL

9710041

(:

语言程序设计“

3

NLAL

9720013

大学计茸机基…

1

NULL

9720033

数据库应用基…

1

本实践是在学…

9720043

t语言程序慄程"

2

Am

米NULLNULLf^JLLf^JLLNUIL

图8-3

2.提问:

testlogin登录名登录后,允许访问服务器上所有的数据库吗?

能访问哪些数据库?

登录用户只能看到并访问它自己的数据库而不能看到其他的数据库

(二)创建用户

创建用户时选择映射到已有登录名,即令一个登录名可以访问多个数据

库。

一个新的登录名(如testlogin)创建后,在其默认数据库下会建立一个同名

用户(testlogin),即用户testlogin允许访问登录名默认的数据库studentdb。

要用testlogin登录后能访问其他数据库,则要在其他数据库中创建新用户,映

射到testlogin这个登录名,这样登录后就可以访问其他数据库了。

如,在

studb数据库下创建一个新用户U1,属于testlogin登录名。

⑴回到sa登录下,展开S'tudentdb”数据库”安全性”用户”,右击新建用

户”,填写用户名为U1,如图8-4,点对话框按钮,选择登录名如图8-5,点

击浏览”,选择testlogin,如图8-6

血JXXV&02123(5

遗CjS.SiBjErt

i±LJ戢皿快開

Esi|jfiiudtn^db

SI二遊匪簣至裁

田:

J衰

田丄呗S1

ii-jsxa

IlJ可軒施

 

图8-4

用户曾QD:

*

©证植棕©:

c曙將称⑥.

断禅»):

u

此用喷有的架珂口:

1用曲期植*

 

图8-5

 

 

=ju五-巧朝前

用户宕00:

H登录名2:

证书启称(C

率托I主疔僧

tF1'®"i"J?

Pv

藍认架枸mi•

此用户將甘的护忡切).

 

癬11牛(!

1酉商谴类型的对蠻。

匹可的対敲E.

[EinLUHVAiiLiu.strfct«rs]登录名

[JTXrM22?

^Q]^erv^2XO5H5nElJ5«-1;JIXT6Ce22SUE5QLSERVm]登录名

[TBT6fl22?

^QLS^v^aH5H5SqLVS®-tJTXT6D2223^SpLSIKVm]登乗客

[皿1T64]22:

rGgLStry魁敗弟QW皿Uh迂$關笳时02證$临諷15皿惟艮]萤录害

[HTiinHDKnYVSYSIIHj輩录宅

£^1螢录名

[LAdtldgkrJ

Q_j轴.军疑関

.*u1CE

it_j同丈词

£」可氓性

.*.二ServiceBroker

GJ蚩全性

E_J

虽gue^t

电INFORMATION.SOE

兮^ys

AU1i_j嶺

图8-6

提问:

若要在S'tudentdb”数据库中创建映射到testlogin登录名的新用户

U2是否能成功?

为什么?

不能成功

 

 

证书君和㈡

3JU^cd):

止隔曰用有的亲枸口

同肯申砂

]db_:

kee«l-iaikLA

]©H—H/iiCUf*旳~站"

)db_dAW“血

flicmMofr&QLs

O

创退対于用户輿#。

啊如曲SdSftv航Smg)

J搁(jTransac祐QLi吾句或枇散進8接生了舁聲*(MicroKliS^SarH^.DnrrKttaihfei)谡登录已用另一牛用户容开直祎户#舸剧两萌①吕皿■K*:

35W3)

靳弋匀£~淞

|Jb._d4t-a.iirltvr

(2)刷新testlogin登录下的数据库,查看是否能访问studb数据库了

隈射到£耀耒剁用户cw:

V.K

用户

If认顒构

\P

1B4rt*r

■«dll

■sA

■4nsrfb

VI

曲0

EtnivnUb

UiUopa.

£

EJ

t4»jdb

dl_bKliT44ptf«llfd^_dkt«ri

use目匸udb

(3)在testlogin登录下,新建查询,运行命令""汇厂,查看是否成

灯凶”-M爭■比.卞JF日羽|毎|

F.

JXXVfiO2123.(tudbSQlJQueryrsqrJS罢

usestudb

seiecc-Cx™3

 

口吕estudb

授予U1用户查询图书表的权利,命令为

grantselectonStoU1

回到testlogin的查询窗口中,重新运行上题的查询语句,看是否成功

JXX¥M2U3.rtUdb-SQLQueryJ,sql*JJusestudb

grantonStoU1

耳消息

命令已成功完成。

JXX¥642123.fludb•SQLQdi■甲2L绢I"JXX¥6D2123.=tudb■SQLQue^l.iql1usediudb

卜ultct*rrw5

-1

III

」哨!

8

1

■nonametw:

bcrndaadnaraentcc傅addtwiftfi

1拓厂]张三男19954)^2000.00:

00.000CS_计算机帧團面世砂HULL

2Tlio"sjJE女19SM7-lDOOM0OimENjgig*总广东NULL

 

⑸若要收回该权限可以用命令revokeselectonSfromU1。

问期#■叱殆厂乌耳生1僅

JXX¥6O2L23.Etudb-EQLQuerylsql*」XXY6O:

revokeaeleeron5framUi|

Jj消宴|

命令已成功完成.

(三)管理角色

1.角色分类为服务器角色和数据库角色、应用程序角色。

分别查看系统预设的服务器角色和数据库角色有哪些。

服务器角色:

Sysadmin,serveradmin,setupadmin,securityadmin,

processadmin,dbcreator,diskadmin。

db_datareader

数据库角色:

db_owner,db_accessadmin

db_datawriter,db_ddladmin,db_securityadmin,db_backoperator,db_denydatareader,db_denydatawriter。

2.自定义角色

(1)在studb数据库中创建一个自定义角色,名为testrole。

展开目录树

数据库”“tudb”安全性”角色”数据库角色”,右击新建数据

库角色,填写角色名称为“testrole'选择所有者为“U1”如图8-7所

 

迭择页

才安全庐鱼

选拦第皓阵用户菠角色

jrrS'%

选择这些对象宾裂

用户.应用程序角色」如据血伺色

输入寒选择的对象名称删〕⑻:

检查名称©

浏览⑻

匹駅的対療啊.

dfe

:

:

A

[4bol

用户

r&

用户

r.a

[IWTDRMATIOH^CHElM

用户

n誓

[public]

埶摇库角色

”旦A

[syi]

用户

=

.圜汕

[VI]

用户

•V

 

r—

踊定

取消

帮助

图8-7

⑵设置testrole对studb数据库中S,C,SC表的若干权限

右键点击testrole角色,选择属性,设置安全对象,如图8-8所示

」戲据阵龟色-秆建

T回

迭择页

如安全対象

L扩虑厲性

角色名称01):

teztrale

所有者®

n

址角色糊有的架构⑸:

*1

:

:

=

dbo

图8-8

点击添加”,选择添加对象为特定对象”,如图8-9

图8-9

选择安全对象类型为表”,如图8-10

厂r

存谕过福

11?

j

t—

"r,Jr厂厂r厂厂

J内脈倒數

:

恬星函数

1喪值函埶

.跆函频

1应用程帛角色

」程厚集

 

 

图8-10

再点击浏览”,选择选择该角色允许设置的S,C,SC表,如图8-11

 

 

图8-11

回到角色属性窗口,此时就能对允许访问的表设置具体数据库权限了,如

图8-12,对C表授予“insert”“delete”“select权限up则在这些项目对应的复选框中打钩,这里还可以赋予授权权限和拒绝该权限。

这样就使得testrole角色具有对数据库中多个表的多项权限,那么把该角色授予给用户,就能一次给用户授予多项权限了。

图8-12

⑶在sa登录下,将testrole角色授予给testlogin登录名下映射到的studb数

据库中的U1用户。

即设置testlogin登录名的属性,对studb数据库勾选

testrole角色,如图8-13所示。

mesterm^del

m^db

ReportServerJSQiLE...

ReportS&rverJSQLE...

 

tempdh

 

dfrn.yd.atareaaerdtjiydttuiriursecurityadiTiin.

public

 

图8-13

(4)在testlogin登录下,在查询编辑器中里窗体中运行查询C,SC表的命令,和

对SC表进行删除的命令deletefromSCwherecno='C1'查看是否成功。

sno

eno

score

S1

C2

76.0

S1

C5

77.0

S10

C5

50.0

S2

C2

93.0

NULL

NULL

NULL

3.为角色授予权限和收回权限的命令与对用户相同

⑴收回testrole中对C表的删除的权限,命令为revokedelectonCfromtestrole_

(2)要授予testrole角色能修改SC表score字段的权限,则命令为grant

update(score)onSCtotestrole

四、思考与练习

1.登录、用户、角色的概念如何区分?

三者在SQLServer中有何关系?

答:

a.服务器登录名属于某组服务器角色;

b.服务器登录名需要于数据库的用户映射后才拥有操作数据库的权限

c.数据库用户属于某组数据库角色以获取操作数据库的权限

d.数据库角色拥有对应的数据库架构,数据库用户可以通过角色直接拥有架构

e.数据库用户有默认架构,写SQL语句可以直接以对象名”访问

f.非默认架构则要以架构名.对象名”访问

2.用户自定义的角色是属于所有数据库的吗?

是否能在每个数据库的安全性下角色中看到?

答:

用户自定义的角色不是属于所有数据库,不能在每个数据库的安全性下角色中看到

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2