计算机等级考试
三级数据库技术
精讲班
:
长某著名企业
5.角色
定义:一组具有相同权限的用户就是角色。
SQL Server 2008中,角色分为预定义的系统角
色和用户角色两种。
• 系统角色又分为固定服务器角色(服务器级
角色)和固定数据库角色(数据库级角色)。
• 用户角色均是数据库级角色。
第五节 SQL Server 的安全控制
长某著名企业
固定服务器角色
• Bulkadmin:执行BULK INSERT语句权限。
• Dbcreator:创建、修改、删除还原数据库权限。
• Diskadmin:具有管理磁盘文件的权限
• Processadmin管理运行进程权限。
• Securtyadmin:专门管理登录账户、读取错误日
志执行CREATE DATABASE 权限的账户,便捷。
第五节 SQL Server 的安全控制
长某著名企业
• Serveradmin:服务器级别的配置选项和关闭服
务器权限。
• Setupadmin:添加删除链接服务器。
• Sysadmin:系统管理员 ,Windows超级用户自
动映射为系统管理员。
• Public:系统预定义服务器角色,每个登录名都
是这个角色的成员。没有授予或拒绝特定权限,
则将具有这个角色权限。
第五节 SQL Server 的安全控制
例:
(1)为固定服务器角色添加成员
Sp_addsrvrolemember
EXEC Sp_addsrvrolemember ‘user1’,‘sysadmin’
(2)删除固定服务器角成员
Sp_dropsrvrolemember
EXEC Sp_dropsrvrolemember ‘user1’,‘sysadmin’
第五节 SQL Server 的安全控制
长某著名企业
固定数据库角色
定义在数据库级别上,存在于每个数据库中。
用户加入固定数据库角色就具有数据库角色权限。
• Db_accessadmin:添加或删除数据库权限
• Db_backupoperator:备份数据库、日志权限
• Db_datareader:查询数据库数据权限
• Db_datawriter:具有插入、删除、更改权限
第五节 SQL Server 的安全控制
长某著名企业
• Db_ddladmin:执行数据定义的权限
• Db_denydatareader:不允查询数据库中所有用
户数据的权限。
• Db_denydatawriter:不允插入、删除、更改数据
库中所有用户数据权限。
• Db_owner:具有全部操作权限,包括配置、维
护、删除数据库。
• Db_securityadmin:具有管理数据库角色、角色
成员以及数据库中语句和对象的权限。
第五节 SQL Server 的安全控制
例:
(1)为固定数据库角色添加成员
Sp_addsrvrolemember
EXEC Sp_addrolemember ‘Db_datareader’,‘SQL_User2’
(2)删除固定服务器角成员
Sp_droprolemember
EXEC Sp_droprolemember ‘Db_datareader’,‘SQL_User2’
第五节 SQL Server 的安全控制
长某著名企业
用户定义的角色
• 用户定义的角色属于数据库一级。
• 用来简化使用数据库时的权限管理。
• 用户定义的角色成员可以是用户定义角色或数
据库用户。注意: 角色中的成员拥有的权限=
成员自身权限+所在角色权限。但若某个权限在
角色中被拒绝,则成员不再拥有。
第五节 SQL Server 的安全控制
长某著名企业
• 创建用户定义的角色
• CREATE ROLE
• 实例: CREATE ROLE MathDept
[AUTHORIZATION Software]
• 注意:为用户定义角色授权、添加、删除用
户定义的角色中的成员与固定数据库角色一
致。
• 删除用户定义角色
• DROP ROLE
• 实例:DROP ROLE MathDept
第五节 SQL Server 的安全控制
长某著名企业
Oracle的安全机制分为数据库级的安全控制、
表级、列级、行级的安全控制。
• 数据库级的安全性通过用户身份认证和授
予用户相应系统权限来保证;
• 表级、列级、行级的安全性通过授予或回
收对象权限保证。支持集中式、分布式、
跨平台应用。
第六节 Oracle的安全管理
长某著名企业
Oracle系统通常设置两级安全管理员:
• 全局级:负责管理、协调,维护全局数据
一致性和安全性;
• 场地级:负责本结点数据库安全性,用户
管理、系统特权与角色管理。
第六节 Oracle的安全管理
长某著名企业
1.用户与资源管理
按权限大小划分为DBA用户和普通用户。
• DBA用户由DBMS自动创建,sys与system
用户,拥有全部系统特权。
• 普通用户:由DBA用户或有相应特权的用户
创建,并授予系统特权。
第六节 Oracle的安全管理
长某著名企业
建立用户
CREATE USER use1 IDENTIFIED BY 123456
DEFAULT TABLESPACE student(存储在
student表空间)
QUOTA 5M ON student(限制使用空间为5M)
第六节 Oracle的安全管理
长某著名企业
管理用户和资源
• DBA特权用户可以改变一个用户资源使用限额、
密码、登录次数等
ALTER USER use1
QUOTA 60M ON student(限制使用空间为60M)
ALTER USER use1 IDENTIFIED BY 12345678
第六节 Oracle的安全管理
长某著名企业
删除用户
DROP USER
DROP USER user1 CASCADE(删除用
户及其所拥有的全部对象)
第六节 Oracle的安全管理
长某著名企业
2.权限管理
(1)系统特权
三种默认特权:
• Connect: 不能建立任何对象,可以查询数据
字典及访问数据库对象。
• Recource :可建立数据库对象(表、视图、
索引……)
• DBA :拥有预定义的全部权限 。
第六节 Oracle的安全管理
长某著名企业
(2)对象特权
用于维护表级、行级、列级数据的安全性。
实例:
GRANT all ON dep TO user1
GRANT select(tno,tname,sal) ON teacher TO
user2
第六节 Oracle的安全管理
长某著名企业
1.在SQL Server 2008某数据库中,用户U1是
Role1角色中的成员。设在该数据库中执行了下
述授权语句:
GRANT INSERT ON T TO U1
GRANT UPDATE, DELETE ON T TO Role1
GRANT SELECT ON T TO PUBLIC
DENY UPDATE ON T TO PUBLIC
例题讲解
长某著名企业
则用户U1对T表具有的操作权限是( )。
A. INSERT
B. INSERT、UPDATE和DELETE
C.INSERT、SELECT和DELETE
D.INSERT和DELETE
答案:C
例题讲解
长某著名企业
2.在SQL Server 2008中,设log1是SQL
Server身份验证模式的数据库服务器登录帐
户。现要授予log1具有创建数据库的权限,请
补全下列语句:
EXEC sp_addsrvrolemember ′log1′, ′ (
) ′
答案: dbcreator
例题讲解
长某著名企业
3.在SQL Server 2008的某数据库中,设用户U1同时
是角色R1和角色R2中的成员。现已授予角色R1对表T
具有SELECT、INSERT和UPDATE权限,授予角色R2
对表T具有INSERT和DENY UPDATE权限,没有对U1
进行其他授权,则U1对表T有权执行的操作是( )。
A.SELECT和UPDATE
B.INSERT、UPDATE和SELECT
C.SELECT和INSERT
D.SELECT
答案:C
例题讲解
长某著名企业
4.在SQL Server 2008中,设用户U1是某数据库
db_datawriter角色中的成员,则U1在该数据库中有
权执行的操作是( )。
A. SELECT
B.SELECT和INSERT
C. INSERT、UPDATE和DELETE
D.SELECT、INSERT、UPDATE和DELETE
答案:C
例题讲解
长某著名企业
5.在SQL Server 2008中,只具有修改
数据库中全部用户表数据权限的系统角
色是 ( ) 。
答案: db_datawriter
例题讲解
长某著名企业
6.设在SQL Server 2008某数据库中,要
设置不允U1获得对表T数据的删除权限,请
补全实现该授权操作的SQL语句:
( )ON T TO U1;
答案: DENY DELETE
例题讲解
长某著名企业
10-2