a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 76|回复: 2

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

[复制链接]
发表于 2012-7-31 20:48:14 | 显示全部楼层 |阅读模式
第14章 安全管理
( ^8 {9 b# A2 i6 e14.1 安全控制, }$ T8 D7 i! v7 z# m, A* g
14.1.1 安全控制模型  j) Z2 w4 ^7 o4 J( I$ I

1 B4 A9 Z5 o* U, |( Q4 O+ @身份验证 操作权控制 文件操作控制 加密存储与冗余- r! o7 e# T; G5 M9 a/ L
14.1.2 数据库权限的种类及用户的分类9 x0 u8 l6 C, |
1、 权限的种类
# s) S0 c2 {# ?7 Q+ g+ [) f(1) 对DBMS进行维护的权限;( _3 o2 M0 _' n/ o9 A
(2) 对数据库中的对象和数据进行操作的权限。
! h8 o; R' K! T& o+ b) a; e/ l(A) 对数据库对象的权限,包括创建、删除和修改数据库对象;
" v, H) R3 P9 v. S(B) 对数据库数据的操作权限,包括对表、视图数据的增、删、改、查权限。5 F3 v! v3 v' N% G* ^& L5 q
2、 数据库用户的分类- c7 L  o+ a. \4 i& n
(1) 数据库系统管理员(sa):在数据库中具有全部的权限;* {4 j9 z( ~( e7 c- o( g
(2) 数据库对象拥有者:对其所拥有的对象具有一切权限;
1 I3 [+ {: I/ G: m/ k(3) 普通用户:只具有对数据库数据的增、删、改、查权限。% s" T# q, F0 ^" @8 a
14.2 SQL Server 的安全控制( }3 S+ [! D9 [$ m  j
1、 用户访问SQL Server 数据库中的数据中,必须经过三个认证过程, C- I6 S; r  Z/ d
(1) 身份认证:验证用户是否有连接到数据库服务器的“连接权”;
5 l0 Y: Z7 k( P(2) 验证用户是否数据库的合法用户;  T$ B4 N: r$ R4 P# t
(3) 验证数据库用户是否具有要进行的操作的操作权限。
+ l) X7 A" D4 ?- ^1 ^0 `2、 SQL Server的用户有两种类型:, r# P3 I) K. `$ @
(1) Windows授权用户:来自Windows的用户或组;6 m5 [* `3 x. v! G; ]
(2) SQL授权用户:来自于非Windows的用户,也将这种用户称为SQL用户。/ ], e' T6 J. z+ X5 X% i
3、 SQL Server 为不同用户类型提供不同的安全认证模式:
, q# }' ^- l; l* w6 z(1) Windows 身份验证模式:允许Windows NT或Windows 2000用户连接到SQL Server,在这种模式下,SQL Server将通过Windows来获得用户信息,并对账号和密码进行重新验证,当使用Windows身份验证模式时,用户必须先登录到Windows,然后再登录到SQL Server;
5 ?( O3 Q  z6 R; M6 H(2) 混合验证模式:表示SQL Server接受Windows授权用户和SQL授权用户。
% U: f0 h3 o2 d1 g( t' u14.3 管理SQL Server 登录账户# t9 v8 b7 I7 ^) D9 {+ d# S
14.3.1 系统内置的登录账户
/ O$ Y  v% A8 ?2 Q) ?' E; ?$ F1、 BUILTIN\Administrators:是一个Windows组账户,表示所有的Windows Administrators(系统管理员)组中的用户都可以登录到SQL Server,此组中的成员同是具有SQL Server的系统管理员权限;
) g  v; n/ A( F5 X! t  O; D! z2、 Sa:SQL Server验证模式的系统管理员账户;
4 D1 {* }/ _$ r3 Y; B1 U3、 域名\Administrators: Windows的系统管理员同时也是SQL Server的合法用户,并且具有SQL Server的系统管理员权限。
( e8 s' U: J4 R" X; P/ w5 U14.3.2 建立登录账户
0 ]" m% J& p/ F0 J: ^2 p1、 使用企业管理器建立登录账户
- Y* J# Q# c* f, O7 o. |& ~' m2、 使用系统存储过程建立登录账户
+ w2 `1 O. T9 |& @" R4 D1 X# n(1) 建立SQL Server身份验证的登录账户:* w* j- u4 U0 j5 e4 E  o, g
sp_addlogin [@loginame=]’login’[,[@passwd=]’password’][,[@defdb=]’database’]
& M1 x  L$ ]. P8 r' B: u- a' I其中:
) G: F% [/ P; D& D* C(A)[@loginame=]’login’:登录账户名;, Y9 B+ g8 s$ V0 D
(B)[@passwd=]’password’:登录密码;$ V2 r! |0 c, n: Z0 \4 l  s+ Y
(C)[@defdb=]’database’:连接的数据库。6 X' I, `3 D/ ~5 I1 i- z( r, T
(2) 建立Windows身份验证的登录账户
2 Z9 q. z9 Y- f1 Y. L' Xsp_grantlogin [@loginame=]’login’6 L2 Z& K! p+ w
其中:[@loginame=]’login’为要添加的Windows NT用户或组的名称,Windows NT组和用户必须用Windows NT域名限定,格式为“域\用户”
回复

使用道具 举报

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

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

14.3.3 删除登录账户1 E" m9 \) b" x- C. v3 K7 i5 n1 h
1、 使用企业管理器删除登录账户;+ ]3 N4 C# g" J% h
2、 使用系统存储过程删除登录账户:
% T$ W- p- j/ m- C1 j(1)删除SQL Server身份验证的登录账户:1 W7 e& h! X9 s' E% V
sp_droplogin [@loginame=]’login’
% A; S; Y: h( G6 P" W% M1 z% A6 R9 u其中:[@loginame=]’login’:将被删除的登录账户名;
0 J% n9 y9 w( _# R. H4 c" `  W(2)删除Windows身份验证的登录账户
( X" ~  @* `( g3 O3 h* y0 Gsp_revokelogin [@loginame=]’login’
, T! P0 F: k& {: ^+ \其中:[@loginame=]’login’为要删除的Windows NT用户或组的名称,Windows NT组和用户必须用Windows NT域名限定,格式为“域\用户”( O0 H7 Q3 @% U" d  a0 i
14.4 管理数据库用户
6 P( V5 i0 C% k# {% {9 U14.4.1 建立数据库用户
( l7 N" D6 S( z/ m& i1、 使用企业管理器建立数据库用户;
. u# P" C  v7 V8 N2、 使用系统存储过程建立数据库用户:
$ Q' Z2 K- C* `9 @$ ]sp_adduser[@ loginame=]’login’[,[@name_in_db=]’user’][,[@grpname=]’group’]
- M: n* s$ Y' e2 v8 B$ |/ E. V0 g其中:9 d, I3 M/ M( V. Y+ N/ c
(1)[@ loginame=]’login’:登录账户名,login必须是已有的SQL Server登录账户或Windows NT用户名# |7 z- }2 s, H0 }. d; q
(2)[@name_in_db=]’user’:新数据库用户名,如没有指定,则user与login名相同;2 B. o2 f! d6 |. J1 r# z+ f
(3)[@grpname=]’group’:角色名,新用户自动地成为此角色的成员,group必须是当前数据库已有的角色。
0 v9 {& k( ^7 B1 h5 y6 r3 Y14.4.2 删除数据库用户
" N% K# n) T8 A. L1、使用企业管理器删除数据库用户;2 |- q* o* [. O% K7 ~5 C
2、使用系统存储过程建立数据库用户:
! X1 Z9 v' {4 r6 K# U1 b( j0 C& B5 msp_dropuser[@name_in_db=]’user’9 D3 N$ Z( u8 x1 H2 V8 i1 k
14.5 管理权限2 ~: _0 s$ T4 f0 w. M7 q
14.5.1 SQL Server权限种类7 u( |2 N2 g( s8 a' H: M" \
1、 对象权限:指用户对数据库中的表、视图等对象中数据的操作权限,相当于数据库操作语言(DML)的语句权限;
5 j3 V: y+ C7 q5 ]2、 语句权限:相当于数据定义语言(DDL)的语句权限,专指是否允许执行:CREATE TABLE、CREATE VIEW等与创建数据库对象有关的操作;
1 K; I) P) y9 T# p: P% T: \* y3、 隐含权限:指数据库管理系统预定义的服务器角色、数据库角色、数据库拥有者和数据库对象拥有者所具有的权限& ]7 h  O* M9 E1 o" q. }
14.5.2 权限的管理0 h. W6 [7 v8 g/ b# U' ^
权限的管理包括:3 \5 l2 z" @) b5 T! s6 I, j: s8 |
(1) 授予权限:允许用户或角色具有某种操作权;
2 }& z6 T9 T; }9 ~; ~2 C% A3 m(2) 收回权限:不允许用户或角色具有某种操作权,或收回曾经授予的权限;1 N4 f7 _/ H% t8 j3 c. k; R
(3) 拒绝访问:拒绝某用户或角色具有某种操作权限;0 v  q0 X" @( k) x
1、 使用企业管理器管理数据库用户权限;5 ]( a; N6 {% h* q& p2 X& `* M
2、 使用企业管理器管理语句权限;
  L9 S* n9 o' r% P1 B! x, s3、 使用Transact-SQL语句管理对象权限6 q9 S0 T# ], R* x2 w* r' @# s; X
(1) GRANT语句:用于授权;
* E: }' g  ^+ S, }4 X5 _GRANT 对象权限名 [,…]ON{表名|视图名|存储过程名}- w! ~5 d1 {" d: s6 f( N: g
TO{数据库用户名|用户角色名}[,…]' ~  L7 m. Z- |8 c, h; ?0 D+ q
(2) REVOKE语句:用于收回权限;
9 V) X8 f1 S( r" S3 }4 V; P5 d( z& GREVOKE 对象权限名 [,…]ON{表名|视图名|存储过程名}
( ^! J" e/ [5 b4 wTO{数据库用户名|用户角色名}[,…]
+ U7 L/ W* ]' W(3) DENY语句:用于拒绝权限。
; @; w) g: G! ~& cDENY 对象权限名 [,…]ON{表名|视图名|存储过程名}- W5 m, k! P/ [; V5 ^4 R1 K' n+ ~
TO{数据库用户名|用户角色名}[,…]. n1 R7 P3 U3 D7 C
4、使用Transact-SQL语句管理语句权限
- c" ^" ?1 ~# q' i' X6 C& H(1)授权语句:& N" h0 @6 w; I6 U+ S; L. y
GRANT 对象权限名 [,…] TO {数据库用户名|用户角色名}[,…]% ?8 h' q& Y' l" W" I6 `& C
(2)收权语句;
1 ]% q- m& A4 ?0 lREVOKE 对象权限名 [,…] FROM {数据库用户名|用户角色名}[,…]+ M3 ?2 S  n+ [' z2 A6 E1 s9 Y: L% j( R
(3)拒绝权限。* d4 x& ~( Y3 a
DENY 对象权限名 [,…] TO {数据库用户名|用户角色名}[,…]
1 Z5 `  C/ Z1 u# r9 u. Y14.6 角色4 k; r" j* p3 M, o
14.6.1 固定的服务器角色7 x; r3 Y8 {3 C3 {2 s! t) ~0 A
是在服务器级上定义,这些角色具有完成特定服务器级管理活动的权限,用户不能添加、删除或更改固定的服务器角色。用户的登录账户可以添加到固定的服务器角色中,使其成为服务器角色中的成员,从而具有服务器角色的权限。
  N4 z" Y3 {& h% W( u: `: z  W固定的服务器角色: e' p, h* H! c8 u" B
描述
' W( Q3 {9 y' }$ m7 rSysadmin  ?* h, M7 \: t0 j( s. X7 r* Z
可在SQL Server中进行任何活动,该角色的权限包含了所有其它固定的服务器角色权限
% W/ f0 R# U, s' h: C: pServeradmin0 D' Z+ i7 b6 K& A
配置服务器范围的设置
5 S3 {6 v$ m9 h4 X) I& XSetupadmin4 Q- g+ Z3 s! T
添加和删除链接服务器,并执行某些系统存储过程0 r7 T4 I+ H& r! t  y5 K8 g' W. F
Securityadmin) X0 y( }" ?; W- `) ~! A0 j1 ^
管理服务器登录账户8 Z7 g5 N1 C4 ^3 m$ @3 W
Processadmin2 v' x; O/ r2 b# d# N
管理在SQL Server实例中运行的进程  w6 m, Y& Z, [" ?) g
Dbcreator3 y% U9 |* h9 J, v6 F
创建、更改和删除数据库
+ z& {" P# D9 ]0 Z7 j* Y4 n' gDiskadmin7 P. P$ z% a% I* M9 H
管理磁盘文件6 {  ~" m3 j+ s; r8 b
bulkadmin9 J: [  p3 I  d, c4 I: H
执行BULK INSERT语句( B% U* m+ S( d0 n' n
固定的服务器角色的成员是系统的登录账户,系统内置的/ o! q0 d( V7 c4 ^/ O: y+ L
(1) BUILTIN\Administrators组;
4 F- j6 L3 }# e3 j0 h' a(2) Sa- }: E0 D5 d$ C5 k0 B  w9 E
(3) 域名\Administrators9 i, n3 ]& Y& d7 v! F
自动是sysadmin角色中的成员。
6 E7 U' P7 E2 \$ |0 s1、 添加固定的服务器角色成员) P& Y) P( S0 c8 l
(1) 用企业管理器实现;1 ?4 J. J3 k; ~
(2) 用系统存储过程实现;
# J8 g! A( @. q& |6 x4 C2 Ysp_addsrvrolemember[@loginame=]’login’[@rolename=]’role’
$ X; X! k0 X6 t9 p1 E6 r其中:
6 B: M8 Y+ w- _4 `. E[@loginame=]’login’:添加到固定服务器角色的登录名称;8 A' v0 f* b" [5 Q2 o7 d
[@rolename=]’role’:要将登录添加到的固定服务器角色的名称。
$ z7 R4 e0 K& \( `. C2、 删除固定的服务器角色成员
回复 支持 反对

使用道具 举报

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

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

14.6.2 固定的数据库角色( a1 [2 V/ B7 N+ G# @/ E+ ~& X5 U' C) \
是在数据库级别上定义,用户不能添加、删除或更改固定的服务器角色。用户的登录账户可以添加到固定的数据库角色中,使其成为成员,从而具有数据库角色的权限。3 X! J  \/ O: J! f5 h! x
固定的数据库角色
+ U2 d$ [2 X1 u: H( e& u: j描述
' v! C; L$ ?- x# TDb_owner
- }" z1 B& Y/ Z% K" E9 ^在数据库中拥有全部权限' S& K( l. q: y7 [
Db_accessadmin  t4 m+ r& O- |, W
可以添加或删除用户ID% g7 o0 [# k" f$ d8 \
Db_securityadmin3 T0 e7 I8 b& q1 e( _! D
可以管理数据库角色和角色成员,并管理数据库中的语句权限和对象权限
; o$ s1 F: F# P6 F/ }# bDb_ddladmin! j% r6 O' O/ W5 F% U
可以建立、修改和删除数据库对象(运行所有的DDL语句)
+ V+ u* [+ k* A7 f6 hDb_backupoperator; y( E/ b9 |% m  I* e$ T* G
可以进行数据库的备份、恢复操作
8 p' g$ h6 v' \" b7 r6 sDb_datareader
! Y7 w, Z2 |6 P6 y/ D4 ~可以查询数据库中所有用户表中的数据, _- }. Y1 f1 r! C( z) P
Db_datawriter8 ?' e% o2 S  K0 b
可以更改数据库中所有用户表中的数据. t$ n) Q0 l5 S
Db_denydatareader$ K& S- W3 q: U& {/ [$ ]/ z
不允许查询数据库中所有用户表中的数据2 L% u$ R" |* |% I! T7 H5 m
Db_denydatawriter0 h% s9 C) `5 h( Z$ i
不允许更改数据库中所有用户表中的数据
  n  G6 f$ ], ]% U( W, G* f+ k7 |public
9 |/ P( I1 U& f( u$ J$ A默认不具有任何权限,但用户可对此角色进行授权3 F( U" I: b1 U9 z: `3 s$ H( e
其中public角色是一个特殊的角色:
5 W, s% ?$ j& t; J1 f/ F" |(1) 数据库中的每个用户都自动地是public角色成员,用户不能从public角色中添加和删除成员;4 l6 c# `, a( t7 e6 ^" k
(2) 用户可以对这个角色进行授权。5 i+ D  f6 U3 g6 I. Q
1、添加固定的数据库角色成员9 u2 _' F3 a  H9 R1 f- @  @, n
(1) 用企业管理器实现;; j8 ^7 v3 T! }7 G& _8 P
(2) 用系统存储过程实现;
( Q! }) I  o+ k4 h) k; c& Usp_addrolemember [@rolename=]’role’,[@membername=]’security_account’" z* m% C! x. t
其中:0 ~; X$ `; K1 u- w$ n! A, T  w/ V! w' _
[@rolename=]’role’:当前固定数据库中的角色名称;" _) k- p$ v9 e) ^0 D# s, m
[@membername=]’security_account’:添加到角色中的用户名。9 `- F9 d8 \- s
2、删除固定的数据库角色成员
. k5 U' B2 M/ ^9 r0 }14.6.3 用户自定义的角色
4 M! ]* y4 W& K0 B) Y# L属于数据库一级的角色,用户可根据实际工作职能定义一系列角色,并给每个角色授予合适的权限。只需将数据库用户放置到合适的角色中即可。
! \- n9 Y! I% w7 q" d' b( g1、建立用户自定义库角色  q) n% C1 R; [- B8 u
(1) 用企业管理器实现;
  n" m5 L" J4 u(2) 用系统存储过程实现;* B# E# o- c4 j0 ~9 s9 j  P& I% z6 R
sp_addrole [@rolename=]’role’,[@ownername=]’owner’
4 N0 j9 L5 S. B; J" I其中:9 K/ g+ Y5 |( [! [! M( L  G7 @/ z
[@rolename=]’role’:新的角色名称;
/ n$ T. p: q1 @7 E* S7 H2 R9 k[@ownername=]’owner’:新角色的所有者。
) A+ q4 i! f& R& @3 X8 w3、 为用户定义的角色授权;* T# X3 n5 [7 }# M! K! L
4、 添加和删除用户自定义角色成员
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 16:29 , Processed in 0.331918 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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