a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 78|回复: 2

[计算机四级] 计算机四级考试数据库技术复习辅导资料14

[复制链接]
发表于 2012-7-31 20:48:14 | 显示全部楼层 |阅读模式
第14章 安全管理
1 b! `( r3 {1 V14.1 安全控制
1 i1 C- g8 ~# ]7 f14.1.1 安全控制模型( @! |2 [6 H  B/ F) U/ ]

, S* y9 G$ o6 P3 V身份验证 操作权控制 文件操作控制 加密存储与冗余
) z$ b  A% J; W' K8 {$ p% q" t* x14.1.2 数据库权限的种类及用户的分类7 l( O/ W: W6 d! Q+ d5 S
1、 权限的种类  d3 U+ L; _  C
(1) 对DBMS进行维护的权限;
2 @$ w# z/ d2 z2 v(2) 对数据库中的对象和数据进行操作的权限。
7 {+ X( R0 P, m9 X7 A/ W(A) 对数据库对象的权限,包括创建、删除和修改数据库对象;! x; r2 t2 |% X4 n) ]/ j
(B) 对数据库数据的操作权限,包括对表、视图数据的增、删、改、查权限。
: F" S& j* D3 ?% W- ?% F; E2、 数据库用户的分类0 U. B" m4 E& n  `
(1) 数据库系统管理员(sa):在数据库中具有全部的权限;
+ _3 r; I6 g- @( n6 `9 x(2) 数据库对象拥有者:对其所拥有的对象具有一切权限;
! `* ]0 [1 L) y# C- m. `(3) 普通用户:只具有对数据库数据的增、删、改、查权限。3 i2 |: Z, W" F1 t) b, k
14.2 SQL Server 的安全控制. A( w  {; Z, |& _: k
1、 用户访问SQL Server 数据库中的数据中,必须经过三个认证过程# k  p1 v2 ]: z
(1) 身份认证:验证用户是否有连接到数据库服务器的“连接权”;
- Y' f5 S' ^. E( t" A2 I/ Y, a(2) 验证用户是否数据库的合法用户;: H( P! j& ~8 M# H
(3) 验证数据库用户是否具有要进行的操作的操作权限。6 s4 s# C/ E" m; T; }: E7 u- b
2、 SQL Server的用户有两种类型:
  X) f2 d* c. h9 j1 A+ U(1) Windows授权用户:来自Windows的用户或组;
' c8 z3 F$ U) P3 s* R(2) SQL授权用户:来自于非Windows的用户,也将这种用户称为SQL用户。; P1 O: O8 f) ?9 u( u" u' q
3、 SQL Server 为不同用户类型提供不同的安全认证模式:
' n1 J9 J1 r: a# A" S( f  X# h(1) Windows 身份验证模式:允许Windows NT或Windows 2000用户连接到SQL Server,在这种模式下,SQL Server将通过Windows来获得用户信息,并对账号和密码进行重新验证,当使用Windows身份验证模式时,用户必须先登录到Windows,然后再登录到SQL Server;( C+ C  j' |% ]. r
(2) 混合验证模式:表示SQL Server接受Windows授权用户和SQL授权用户。9 b! K. I! H# \5 [4 I2 M- W
14.3 管理SQL Server 登录账户
6 U+ P- P; s( ?& j$ w5 F14.3.1 系统内置的登录账户
) c/ r( ?) @) c3 D* o1、 BUILTIN\Administrators:是一个Windows组账户,表示所有的Windows Administrators(系统管理员)组中的用户都可以登录到SQL Server,此组中的成员同是具有SQL Server的系统管理员权限;" n& u' Y4 q- _! `; c: n
2、 Sa:SQL Server验证模式的系统管理员账户;
( Z$ M- Z$ R# X% y3 M: z3 |3、 域名\Administrators: Windows的系统管理员同时也是SQL Server的合法用户,并且具有SQL Server的系统管理员权限。2 o; K$ b* W0 M
14.3.2 建立登录账户
$ L0 T4 c! o" L1、 使用企业管理器建立登录账户
$ C5 U* W9 K. L2、 使用系统存储过程建立登录账户* Q, M" x( w( }8 l9 y: S- |
(1) 建立SQL Server身份验证的登录账户:( \% h& F* A6 t  C7 T  ?* S
sp_addlogin [@loginame=]’login’[,[@passwd=]’password’][,[@defdb=]’database’]
  A" j3 L& c5 m, B) v其中:
" r1 \) p8 y; C# o/ T(A)[@loginame=]’login’:登录账户名;1 I" d, L- A9 B
(B)[@passwd=]’password’:登录密码;
- N( }8 q* v3 D  p3 w$ l(C)[@defdb=]’database’:连接的数据库。
" J& [0 V4 n3 l9 p3 \+ B3 `5 a(2) 建立Windows身份验证的登录账户6 _. C2 v# o/ v8 _# R# _$ U
sp_grantlogin [@loginame=]’login’/ ]0 v+ a* S, R# Y9 T
其中:[@loginame=]’login’为要添加的Windows NT用户或组的名称,Windows NT组和用户必须用Windows NT域名限定,格式为“域\用户”
回复

使用道具 举报

 楼主| 发表于 2012-7-31 20:48:15 | 显示全部楼层

计算机四级考试数据库技术复习辅导资料14

14.3.3 删除登录账户1 S0 Y+ f2 A/ v5 N" I
1、 使用企业管理器删除登录账户;
7 r7 I8 ^- ~* w( }- w! O2、 使用系统存储过程删除登录账户:4 G: d' M+ O% d
(1)删除SQL Server身份验证的登录账户:
/ C) Q9 ], Z# P  O0 t# osp_droplogin [@loginame=]’login’: i; ~& c' ]& \  k8 Z
其中:[@loginame=]’login’:将被删除的登录账户名;
5 o5 M$ U% M# M(2)删除Windows身份验证的登录账户: _: j' x( a' N+ S+ |5 F8 Q
sp_revokelogin [@loginame=]’login’
: ^: L; ]! U1 E/ \& s+ o1 v其中:[@loginame=]’login’为要删除的Windows NT用户或组的名称,Windows NT组和用户必须用Windows NT域名限定,格式为“域\用户”
3 z. A8 q5 c0 _( c14.4 管理数据库用户
$ ~# ~4 H  N5 P1 q/ n" Z+ T" x; n/ P& N/ L14.4.1 建立数据库用户
; M) w7 F1 W+ M. V( q1 g+ ^' z8 [1、 使用企业管理器建立数据库用户;
6 C  G, W% J' P) Z2、 使用系统存储过程建立数据库用户:/ s$ q. V5 ^3 b/ p$ n) [) w
sp_adduser[@ loginame=]’login’[,[@name_in_db=]’user’][,[@grpname=]’group’]
2 |4 p9 w: R! e4 S0 i其中:
# y. e0 Q# u% ?2 }/ {2 P(1)[@ loginame=]’login’:登录账户名,login必须是已有的SQL Server登录账户或Windows NT用户名
& C! a+ m$ p+ j! X8 `6 o(2)[@name_in_db=]’user’:新数据库用户名,如没有指定,则user与login名相同;) F6 O9 ]0 K' F/ e! \: ?
(3)[@grpname=]’group’:角色名,新用户自动地成为此角色的成员,group必须是当前数据库已有的角色。
6 o2 u; l0 }1 ^! ?! b" T! a+ f" I14.4.2 删除数据库用户
6 a, Y  |1 @# v; r4 M  z1、使用企业管理器删除数据库用户;0 b  i! s" c9 [
2、使用系统存储过程建立数据库用户:
, ^. e' W( |. d, ~sp_dropuser[@name_in_db=]’user’5 x6 r- [0 O' n; M" |& k
14.5 管理权限3 L! |" I2 \7 d1 w9 `
14.5.1 SQL Server权限种类5 A8 `: p# {; N+ A/ ~! E
1、 对象权限:指用户对数据库中的表、视图等对象中数据的操作权限,相当于数据库操作语言(DML)的语句权限;
) q! P0 S- g8 ?6 a1 A2、 语句权限:相当于数据定义语言(DDL)的语句权限,专指是否允许执行:CREATE TABLE、CREATE VIEW等与创建数据库对象有关的操作;
% l0 Q3 C+ ]# ~0 \! v' u& ]3、 隐含权限:指数据库管理系统预定义的服务器角色、数据库角色、数据库拥有者和数据库对象拥有者所具有的权限
$ X) G9 ~# e. P1 C% C14.5.2 权限的管理; o% E9 B/ E$ ]  O- [4 I5 l
权限的管理包括:
( R& D* Q1 N, g% k2 o6 [" b: ](1) 授予权限:允许用户或角色具有某种操作权;. o" u% m! Y/ D4 y4 P2 f0 f7 [$ ?
(2) 收回权限:不允许用户或角色具有某种操作权,或收回曾经授予的权限;* u' C9 W3 v  x2 [
(3) 拒绝访问:拒绝某用户或角色具有某种操作权限;
# D# r" j$ r! L; A- j3 G0 _1、 使用企业管理器管理数据库用户权限;
# X/ i+ L0 t/ n3 \+ J9 n. e2、 使用企业管理器管理语句权限;
( m! Z: `4 N9 N7 v+ s3 {, V  G3、 使用Transact-SQL语句管理对象权限! r2 x* W% b+ n. B5 H
(1) GRANT语句:用于授权;
, F, D5 k3 h( h) E. h8 pGRANT 对象权限名 [,…]ON{表名|视图名|存储过程名}- g5 a$ Q& S! d3 W
TO{数据库用户名|用户角色名}[,…]/ x- Z/ c+ d% N: q6 ~' V1 S& K- r- O: r. m
(2) REVOKE语句:用于收回权限;
% W. B/ |" J5 S) `REVOKE 对象权限名 [,…]ON{表名|视图名|存储过程名}# \  X# m5 }8 v! @' Y
TO{数据库用户名|用户角色名}[,…]
- b+ {  }/ L0 v& x3 V) j" R. g(3) DENY语句:用于拒绝权限。2 v! L6 k5 D4 n) r3 l) d
DENY 对象权限名 [,…]ON{表名|视图名|存储过程名}. d7 R" \' c, f
TO{数据库用户名|用户角色名}[,…]
" t2 L9 }8 C8 P( o/ D* j. w7 P4、使用Transact-SQL语句管理语句权限1 `# |) f) ^  U3 ~
(1)授权语句:
' I" U7 q. d- @! b5 v+ CGRANT 对象权限名 [,…] TO {数据库用户名|用户角色名}[,…]( `! ^, z# D) b
(2)收权语句;
  e3 N$ R0 M, v% N* fREVOKE 对象权限名 [,…] FROM {数据库用户名|用户角色名}[,…]
" x+ A' o  f6 s. |(3)拒绝权限。8 J4 b) o1 C! y5 `6 _
DENY 对象权限名 [,…] TO {数据库用户名|用户角色名}[,…]% g: }! J  _/ ^' r; g( W1 q& i
14.6 角色
7 O5 W. C. {7 N. |+ I' M14.6.1 固定的服务器角色
0 y; n2 `& J! u+ A4 s- j! B  d是在服务器级上定义,这些角色具有完成特定服务器级管理活动的权限,用户不能添加、删除或更改固定的服务器角色。用户的登录账户可以添加到固定的服务器角色中,使其成为服务器角色中的成员,从而具有服务器角色的权限。# t) `9 \# Q% X
固定的服务器角色2 s: Z6 l3 |/ \1 H& X1 L
描述4 a6 O1 M# {( q2 c
Sysadmin
1 W# N% Y3 s; l+ @& u可在SQL Server中进行任何活动,该角色的权限包含了所有其它固定的服务器角色权限
$ `- O1 E' [7 Z/ D, g- xServeradmin/ D+ h1 ^0 L4 B" \3 ?. ^0 ?
配置服务器范围的设置
9 a4 c1 d, b. t) fSetupadmin
: S! l2 k/ n! D2 a. e. r' n# k5 V添加和删除链接服务器,并执行某些系统存储过程9 e  d7 N8 E5 i" w$ p* A
Securityadmin
6 G- Q; o+ k% |管理服务器登录账户
" \$ p5 g# }$ |. FProcessadmin% p$ I) Z( Z) U4 R0 C) [
管理在SQL Server实例中运行的进程# m, G9 x# o; e6 b- v) Z
Dbcreator
$ J: W1 Q$ Z/ A6 o* }" y创建、更改和删除数据库
% e# O: n; ^9 t/ y8 E  e( v- z) QDiskadmin1 k5 l* v' p( O; o5 K7 i! y8 y& c
管理磁盘文件; q) r: \. P; n# O) q
bulkadmin
5 l! A8 c6 [/ h7 c执行BULK INSERT语句: P/ N' b! A. J9 Q
固定的服务器角色的成员是系统的登录账户,系统内置的- J) A) |# z. i5 k! D: a2 F8 h  q
(1) BUILTIN\Administrators组;
" p1 f' y5 w- x+ L* q(2) Sa
  v" D( ~' x4 `. z* M# e/ ^  g5 W(3) 域名\Administrators- H6 F  _2 j) |& s- I% }
自动是sysadmin角色中的成员。2 b! `# b( I4 p
1、 添加固定的服务器角色成员
5 l$ `% B# _$ E(1) 用企业管理器实现;
& F; ^1 Z% h* j* a7 U9 b(2) 用系统存储过程实现;
& V7 F4 q9 C3 m' X+ b% asp_addsrvrolemember[@loginame=]’login’[@rolename=]’role’
; N* ], W+ R2 o) S  g, X& S其中:
' i) R( B/ V; e6 c[@loginame=]’login’:添加到固定服务器角色的登录名称;& S& ]' v( Z$ T: W3 A
[@rolename=]’role’:要将登录添加到的固定服务器角色的名称。; Y  Z3 g! P2 A
2、 删除固定的服务器角色成员
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-31 20:48:16 | 显示全部楼层

计算机四级考试数据库技术复习辅导资料14

14.6.2 固定的数据库角色
$ [, ]8 d' _6 W, H是在数据库级别上定义,用户不能添加、删除或更改固定的服务器角色。用户的登录账户可以添加到固定的数据库角色中,使其成为成员,从而具有数据库角色的权限。% n/ \& d) p4 k; D& B8 `9 [' Y
固定的数据库角色: i& B0 q( b% t. T( a
描述
- J2 W& r# q9 b( a" sDb_owner6 x9 u9 |: }; `& F/ S: z" M9 Y: E
在数据库中拥有全部权限
0 `2 b6 S2 w: s" B; C7 DDb_accessadmin* v1 k$ A" f& [* B, W
可以添加或删除用户ID8 A# R: Z# {0 D! H. ~
Db_securityadmin  l& B" z: C8 X
可以管理数据库角色和角色成员,并管理数据库中的语句权限和对象权限
& |# A. C: c9 `( r- X$ T: Q0 F& aDb_ddladmin2 V% e" ~: Z; v" G9 }* w+ F- ]
可以建立、修改和删除数据库对象(运行所有的DDL语句)
+ G8 T/ ^3 e  ~& j" gDb_backupoperator
0 {: v- n! N- F; P/ B# M! E可以进行数据库的备份、恢复操作- v! X2 x5 Z1 n) U1 r) H& }. r
Db_datareader
- S& \5 z: L% X- B1 U: `可以查询数据库中所有用户表中的数据& m, |  e! s: p: t8 ^
Db_datawriter$ J8 F6 U7 M2 H8 }3 a
可以更改数据库中所有用户表中的数据
0 X1 D! w8 h, c# _1 u& `Db_denydatareader
1 T+ ^' o2 I/ ]) R% o不允许查询数据库中所有用户表中的数据+ |' P: n, P# V' k: a
Db_denydatawriter* A7 C# h! e" G9 R. ?
不允许更改数据库中所有用户表中的数据1 d5 n" n+ l, ~. z( ?3 i. V2 Q
public" n' }/ }1 o: R# x/ h: d' e) w6 b
默认不具有任何权限,但用户可对此角色进行授权5 h1 |% Z" j3 o2 y! k- {8 `- O4 R1 V
其中public角色是一个特殊的角色:: M% Z& ^/ Q) x& g& s& }( v4 m
(1) 数据库中的每个用户都自动地是public角色成员,用户不能从public角色中添加和删除成员;) @$ a& s- v. d4 R8 l' U
(2) 用户可以对这个角色进行授权。
+ V* M/ Y3 W; X& l- Y9 p. W1、添加固定的数据库角色成员
: ^  j/ J6 Y4 ^# p(1) 用企业管理器实现;" ~, J- r& s8 V; K
(2) 用系统存储过程实现;
; E; [  J. {" h' |) C6 M; K! Lsp_addrolemember [@rolename=]’role’,[@membername=]’security_account’
" L  t' t3 B4 h3 o: E0 o其中:- y& P; G' \2 |5 o
[@rolename=]’role’:当前固定数据库中的角色名称;2 ?. Y5 ?% y1 G( I$ P' k
[@membername=]’security_account’:添加到角色中的用户名。7 h" S" Q8 C0 a- I) s# I9 ^/ i# L
2、删除固定的数据库角色成员
; I0 H, b) H$ }14.6.3 用户自定义的角色% w3 B% |8 U0 E9 M
属于数据库一级的角色,用户可根据实际工作职能定义一系列角色,并给每个角色授予合适的权限。只需将数据库用户放置到合适的角色中即可。
  B) b; a) P; c0 d' K1、建立用户自定义库角色# a% Z3 s! x# ?4 c( o
(1) 用企业管理器实现;
" e+ `/ e& ]6 J7 L9 [, [(2) 用系统存储过程实现;' F( s2 x3 Q7 O/ b/ m5 N4 n/ f9 H
sp_addrole [@rolename=]’role’,[@ownername=]’owner’9 m8 _8 G0 x2 i0 C" w
其中:6 [8 Y% w6 n0 q2 l) C5 S, F
[@rolename=]’role’:新的角色名称;; B% P2 O- r3 D( l& v
[@ownername=]’owner’:新角色的所有者。. W/ l. ^' D  Y: g3 \- s1 P, @3 m
3、 为用户定义的角色授权;
0 b3 [% t/ e  i/ J0 `5 K4、 添加和删除用户自定义角色成员
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-10 02:53 , Processed in 0.232621 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表