Download presentation
Presentation is loading. Please wait.
Published byΕυάγγελος Δουρέντης Modified 6年之前
1
教 师:曾晓东 电 话:13679007201 E_mail:zengxiaodong@263.net
数据库技术 教 师:曾晓东 电 话:
2
第11章 数据库与基本表的创建和管理 11.1 安全控制 11.2 SQL Server的安全控制
11.4 管理数据库用户 11.5 管理权限 11.6 角色
3
11.1 安全控制 安全控制:在数据库应用系统的不同层次提供对有意损害行为的安全防范。 1. 安全控制模型 2. 数据库权限的种类及用户分类
4
1. 安全控制模型 文件操作控制 操作权控制 身份验证 用户 数据库应用程序 数据库管理系统 操作 系统 加密存储 与冗余 数据库
5
2. 数据库权限的种类及用户的分类 权限的种类 用户的分类 系统维护权 操作权 系统管理员 对象拥有者 普通用户
数据库对象权限:创建、修改、删除 数据操作权:增、删、改、查 用户的分类 系统管理员 对象拥有者 普通用户
6
11.2 SQL Server的安全控制 三个认证过程 第一个是验证用户连接到SQL Server数据库服务器的资格。
第二个是验证用户是否是数据库的合法用户。 第三个是验证用户是否具有操作许可。
7
SQL Server用户来源和认证模式 1.用户来源 Windows授权用户 SQL授权用户 2.认证模式 混合模式
Windows Only授权模式 3.设置安全验证模式 使用企业管理器
8
11.3 管理SQL Server登录帐户 建立登录帐户 修改登录帐户的属性 删除登录帐户
9
建立登录帐户 展开“安全性”,单击“登录”节点。 右击内容窗格中的空白处,从弹出式菜单中选择“新建登录”命令。
10
11.3.2 修改登录帐户的属性 展开“安全性”,单击“登录”节点。
在右边的内容窗格中,右击想要修改密码的登录帐户,从弹出的菜单中选择“属性”命令。 可以进行如下更改: 更改密码 更改默认数据库 更改显示给用户所使用的语言
11
11.3.3 删除登录帐户 展开“安全性”节点,单击“登录”节点。
在右边的内容窗格中,右击想要删除的登录帐户,从弹出的菜单中选择“删除”命令或按Delete键。
12
11.4 管理数据库用户 建立数据库用户 删除数据库用户
13
建立数据库用户 单击要建立数据库用户的数据库节点,右击“用户”, 在弹出的菜单上选择“新建数据库用户”命令。
14
删除数据库用户 展开要删除用户的数据库。 单击“用户”,然后在右边的内容窗格中右击想要删除的数据库用户,从弹出的菜单中选择“删除”命令。
15
11.5 管理权限 SQL Server权限种类 11.5.2权限的管理
16
11.5.1 SQL Server权限种类 对象权限 是指用户对数据库中的表、视图等对象中数据的操作权。 语句权限
相当于数据定义语言(DDL)的语句权限,这种权限专指是否允许执行:CREATE TABLE、 CREATE VIEW等与创建数据库对象有关的操作。 隐含权限 指由SQL Server预定义的服务器角色、数据库角色、数据库拥有者和数据库对象拥有者所具有的权限。
17
11.5.2 权限的管理 授予权限:允许用户或角色具有某种操作权。 收回权限:不允许用户或角色具有某种操作权,或者收回曾经授予的权限。
拒绝权限:拒绝某用户或角色具有某种操作权,既使用户或角色由于继承而获得这种操作权,也不允许执行相应的操作。
18
使用企业管理器管理数据库用户权限 展开“数据库”节点并展开要设置权限的数据库,单击“用户”节点。
在内容窗格中右击要设置权限的数据库用户,从弹出的菜单中选择“所有任务”下的“管理权限”命令 。 授予权限 收回权限 拒绝权限
19
使用企业管理器管理语句权限 展开“数据库”,右击要设置语句权限的数据库,从弹出的菜单中选择“属性”,在弹出的窗口中,选择“权限”标签页。
20
使用Transact-SQL语句管理对象权限
GRANT:授予权限; REVOKE:收回权限; DENY:拒绝权限。
21
语法格式 授权语句 GRANT 对象权限名 [ , … ] ON {表名 | 视图名 | 存储过程名}
收权语句 REVOKE 对象权限名 [ , … ] ON { 表名 | 视图名 | 存储过程名 } FROM { 数据库用户名 | 用户角色名 } [ , … ] 拒绝语句 DENY 对象权限名 [ , … ]
22
示例 例1.为用户user1授予Student表的查询权。 GRANT SELECT ON Student TO user1
例2.为用户user1授予SC表的查询权和插入权。 GRANT SELECT,INSERT ON SC TO user1 例3.收回用户user1对Student表的查询权。 REVOKE SELECT ON Student FROM user1 例4.拒绝user1用户具有SC表的更改权。 DENY UPDATE ON SC TO user1
23
使用Transact-SQL语句管理语句权限
授权语句 GRANT 语句权限名 [ , … ] TO {数据库用户名 | 用户角色名} [ , … ] 收权语句 REVOKE 语句权限名 [ , … ] FROM { 数据库用户名 | 用户角色名 } [ , … ] 拒绝语句 DENY 语句权限名 [ , … ] TO {数据库用户名 | 用户角色名} [ , … ]
24
示例 例1.授予user1具有创建数据库表的权限。 GRANT CREATE TABLE TO user1
例2.授予user1和user2具有创建数据库表和视图的权限。 GRANT CREATE TABLE, CREATE VIEW TO user1, user2 例3.收回授予user1创建数据库表的权限。 REVOKE CREATE TABLE FROM user1 例4.拒绝user1创建视图的权限。 DENY CREATE VIEW TO user1
25
11.6 角色 为便于对用户及权限的管理,可以将一组具有相同权限的用户组织在一起,这一组具有相同权限的用户就称为角色(Role)。
SQL Server 2000中,角色分为: 固定的服务器角色 固定的数据库角色 用户自定义的角色
26
固定的服务器角色 固定的服务器角色 描述 sysadmin
可在SQL Server中进行任何活动。该角色的权限包含了所有其它固定的服务器角色的权限。 serveradmin 配置服务器范围的设置。 setupadmin 添加和删除链接服务器,并执行某些系统存储过程(如 sp_serveroption)。 securityadmin 管理服务器登录帐户。 processadmin 管理在 SQL Server 实例中运行的进程。 dbcreator 创建、更改和删除数据库。 diskadmin 管理磁盘文件。 bulkadmin 执行 BULK INSERT 语句。
27
添加固定的服务器角色的成员 展开“安全性”节点,单击“服务器角色”,在右边的内容窗格中,在要添加成员的固定的服务器角色上右击鼠标,在弹出的菜单中选择“属性”命令。 单击“添加”按钮。
28
删除固定的服务器角色成员 选择要删除的登录帐户,单击“删除”按钮。
29
固定的数据库角色 固定的数据库角色 描述 db_owner 在数据库中拥有全部权限。 db_accessadmin 可以添加或删除用户ID。
db_securityadmin 可以管理数据库角色和角色成员,并管理数据库中的语句权限和对象权限。 db_ddladmin 可以建立、修改和删除数据库对象(运行所有的DDL语句) db_backupoperator 可以进行数据库备份、恢复操作 db_datareader 可以查询数据库中所有用户表中的数据。 db_datawriter 可以更改数据库中所有用户表中的数据。 db_denydatareader 不允许查询数据库中所有用户表中的数据。 db_denydatawriter 不允许更改数据库中所有用户表中的数据 public 默认不具有任何权限,但用户可对此角色进行授权
30
添加固定的数据库角色的成员 展开“数据库”节点,展开要操作的数据库,单击“角色”,
右击右边内容窗格中要添加成员的数据库角色在弹出的菜单中选择“属性”命令。 单击“添加”。
31
删除数据库角色的成员 选择要删除的用户,单击“删除”按钮。
32
11.6.3 用户自定义的角色 用户自定义的角色属于数据库一级的角色。
用户可以根据实际的工作职能情况定义自己的一系列角色,并给每个角色授予合适的权限。 用户自定义的角色的成员可以是数据库的用户,也可以是用户定义的角色。
33
建立用户自定义的角色 展开“数据库”,并展开要添加用户自定义角色的数据库。 右击“角色”节点,选择“新建数据库角色”命令。
34
为用户定义的角色授权 展开要操作的用户自定义角色所在的数据库。
右击“角色”节点,在右边的内容窗格中,右击要授予权限的用户自定义的角色,在弹出的菜单中选择“属性”命令。 单击“权限” 按钮。
35
添加和删除用户自定义角色的成员 同固定的数据库角色添加和删除成员的过程。
Similar presentations