当前位置:
文档之家› 第9章数据库的安全性与完整性 重点
第9章数据库的安全性与完整性 重点
数据库完整性的含义 完整性规则的组成 完整性约束条件的分类 触发器(Trigger)
An Introduction to Database Systems
第九章
9.2.2 完整性规则的组成
完整性规则主要由以下三部分构成: ( 1 )触发条件:规定系统什么时候使用规则 来检查数据。 ( 2 )约束条件:规定系统检查用户发出的操 作请求违背了什么样的完整性约束条件。 ( 3 )违约响应:规定系统如果发现用户的操
SHUJUKU XITONG YUANLI
第九章
(3) 设置语句和对象权限
用户可获得的权限主要有:
① 对象权限
字段:SELECT、UPDATE、REFERENCES
视 图 :SELECT 、 UPDATE 、 DELETE 、
INSERT
存储过程:EXECUTE
SHUJUKU XITONG YUANLI
第九章
(1)用户标识和鉴定
用 户 标 识 和 鉴 定 ( Identification &
Authentication)是系统提供的最外层安全
保护措施。标识和鉴定一个用户最常用的方
法是用一个用户名或用户标识号来标明用户
身份,通过用户名和口令来鉴定用户的方法
简单易行,但用户名与口令容易被人窃取,
因此还可以用更复杂的方法。例如,利用用
第九章
第九章 数据库的安全性与完整性 数据库的安全性 完整性控制
9.1 9.2
An Introduction to Database Systems
第九章
9.2
完整性控制
9.2.1 9.2.2 9.2.3 9.2.4
数据库完整性的含义 完整性规则的组成 完整性约束条件的分类 触发器(Trigger)
数 据 库 对 象
SQL Server的四个环节
SHUJUKU XITONG YUANLI
第九章 1.进入Microsoft SQL Server服务器
Microsoft SQL Server有两种鉴别模式:
Windows鉴别和Microsoft SQL Server鉴
别。
2. 访问Microsoft SQL Server数据库
性管理
An Introduction to Database Systems
第九章
9.1.2数据库安全控制的一般方法
安全性控制就是要尽可能地杜绝所有可 能的数据库非法访问,不管它们是有意的还 是无意的。
用户
用户标识和鉴别
DBMS
存取控制
OS
操作系统安全保护
DB
密码存储
计算机系统的安全模型
SHUJUKU XITONG YUANLI
一般来说,访问Microsoft SQL Server数
据库需经过以下三个步骤:
SHUJUKU XITONG YUANLI
第九章
(1) 在Microsoft
SQL Server服务器上建立服务器登
录标识。
(2) 在数据库中建立用户帐号、角色并设置用
户访问权限。
角色是数据库访问权限的管理单位 , 其成 员继承角色的访问权限。 角色共分两种:服务器角色和数据库角色。
许指定 用户存取指定数据。
(4) 运行方面的问题,如使用口令时,如何
使口令保密。
(5)硬件控制方面的问题,如CPU是否提供
任何安全性方面的功能。
SHUJUKU XITONG YUANLI
第九章
(6)操作系统安全性方面的问题,如在主存储
器和数据文件用过以后,操作系统是否把它
们的内容清除掉。
SHUJUKU XITONG YUANLI
第九章 ① 固定服务器角色
SYSTEM ADMINISTRATORS(sysadmin): 该
角色权限最大 , 能执行任何操作 , 包括否决其他 固定服务器角色。
DATABASE CREATORS (dbcreator):该角色
能创建和修改数据库。
SHUJUKU XITONG YUANLI
第九章
(3)视图机制
关系数据库系统中,就是为不同的用户定义 不同的视图,通过视图机制把要保密的数据对无 权存取这些数据的用户隐藏起来,从而自动地对
数据提供一定程度的安全保护。
SHUJUKU XITONG YUANLI
第九章
(4)审计
审计功能是一种监视措施,它跟踪记录 有关数据的访问活动。审计功能一般主要 用于安全性要求较高的部门。
包括恶意破坏数据和越权存取数据。完整性则是
防止合法用户使用数据库时向数据库中加入不合
语义的数据。也就是说,安全性措施的防范对象
是非法用户和非法操作,完整性措施的防范对象
是不合语义的数据。
SHUJUKU XITONG YUANLI
第九章
9.2
完整性控制
9.2.1 9.2.2 9.2.3 9.2.4
SHUJUKU XITONG YUANLI
第九章 ⑤ 应用程序角色
该角色不分配给任何用户 , 而是分配给某一
个运行在Microsoft SQL Server上的应用程序。
设置应用程序角色的原因有两点:
一是限制访问数据库所使用的应用程序; 二是提高Microsoft SQL Server服务器的运 行性能,避免在此服务器上运行其他程序。
DISK ADMINISTRATORS (diskadmin) :该角
色负责管理磁盘文件。
SHUJUKU XITONG YUANLI
第九章
PROCESS ADMINISTRATORS(processadmin) : 该
角色管理运行在 Microsoft SQL Server 上的不
同进程。
数据库系统原理
SHUJUKU XITONG YUANLI
中国计量学院信息学院
China JiLiang University 2009
SHUJUKU XITONG YUANLI
第九章 数据库的安全性与完整性
9.1 数据库的安全性 9.2 完整性控制
An Introduction to Database Systems
An Introduction to Database Systems
第九章
9.1
数据库的安全性
9.1.1 数据库安全性
9.1.2 数据库安全控制的一般方法
9.1.3 SQL Server 的用户与安全
性管理
An Introduction to Database Systems
第九章
份数据库的工作。
SHUJUKU XITONG YUANLI
第九章 ③ 公共角色 每一个数据库都有一个公共角色 , 每 创建一个新的用户帐号时 , 此帐号自动拥 有该角色。不能对该角色添加或修改用 户帐号 , 对其唯一的操作是为它分配权限。 ④ 自定义数据库角色 自定义数据库角色同固定数据库角色
一样,管理多个用户的相同权限。
SHUJUKU XITONG YUANLI
第九章
② 固定数据库角色
DATABASE OWNER (db_owner):该角色
拥有某个数据库的所有权限 , 能执行其他数
据库角色的操作。
DATABASE
ACCESS
ADMINISTRATOR(db_accessadmin) : 该
角色管理某个数据库的用户帐号。
第九章 (2) 增加数据库用户 sp_adduser login_id[,username[,grpname]] (3) 创建用户组 sp_addgroup grpname (4) 用户口令 sp_password old_passwd ,new_passwd[,login_id]
SHUJUKU XITONG YUANLI
SHUJUKU XITONG YUANLI
第九章 服 务 器 角 色 负 责 整 个 Microsoft SQL
Server服务器的访问权限,而数据库角色只
负责某个数据库的访问权限。数据库角色可 再往下分为三类 : 固定数据库角色、公共角
色和自定义数据库角色 , 而服务器角色只包
含固定服务器角色。
户非法使用数据库造成数据泄露、更改或破
坏。
安全性问题有许多方面,其中包括:
(1)法律、社会和伦理方面的问题,例如请求 查询信息的人是不是有合法的权力。 (2)物理控制方面的问题,例如计算机机房是 否应该加锁或用其他方法加以保护。
SHUJUKU XITONG YUANLI
第九章
(3) 政策方面的问题,如确定存取原则,允
SQL Server的用户与安全性管理
Microsoft SQL Server 的安全性是非常牢靠
的,任何用户企图访问数据库中的数据之前,必须
要通过四道关卡,下图 表示出了这四个环节。
Байду номын сангаас
SHUJUKU XITONG YUANLI
第九章
用户登 录请求
操作系 统
SQL Server 数据库 服务器
SQL Server 数据库
户的个人特征。
SHUJUKU XITONG YUANLI
第九章
(2)存取控制
数据库系统中,为了保证用户只能访问他有
权存取的数据,必须预先对每个用户定义存取权
限。存取权限是由两个要素组成的:数据对象和
操作类型。在数据库系统中,定义存取权限称为
授权( Authorization )。衡量授权机制是否灵 活的一个重要指标是授权粒度,即可以定义的数 据对象的范围。授权粒度越细,授权子系统就越 灵活,能够提供的安全性就越完善。
An Introduction to Database Systems