第 五 章 数据库安全策略 1.

Slides:



Advertisements
Similar presentations
Oracle. 数据操纵语言  数据操纵语言用于检索、插入和修改数据  数据操纵语言是最常见的 SQL 命令  数据操纵语言命令包括:  SELECT  INSERT  UPDATE  DELETE.
Advertisements

第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
1 第 5 章 SQL 语句基础 在 Oracle 数据库中,为了方便管理用户所创建的 数据库对象,引入了模式的概念,这样用户所创建的 数据库对象就都属于该用户模式。对于一般的用户而 言,数据库中的数据是以表、视图行等方式存储的( 表和视图就是最基本的用户模式对象),用户只需要 根据自己的需求查询数据库,然后由数据库根据请求.
2010 年 6 月课件制作人:王亚楠 1 模块 2 项目开发概论 教学课件 年 6 月课件制作人:王亚楠 2 目录 目标 了解:数据库技术的基本概念与结构 理解:数据模型的分类与结构组成 掌握:关系数据库及 SQL 的基本理论 知识 掌握:数据库设计的方法与步骤 内容 2.1 数据库技术基础.
Java 技术与应用 数据库应用 ( 第 14 章 ) 西安交大 卫颜俊 2008 年 12 月 电子信箱: QQ: 网站 : /java.
第 7 章 数据库 1. Overview  数据库概述  数据库管理系统  数据库的体系结构和数据库模型  SQL 语言  数据库技术  构建数据库系统 2.
《 ORACLE 》 计算机技术与软件工程学院 胡斌 学习情境 6 系统安全管理( 8 学时) 按照系统的职能范围不同,可将Oracle的安全体系 结构分成三个部分; (1)数据库内部的管理:主要包括用户标识/口令 ;角色与权限等。 (2)资源管理:主要通过系统概要文件限制连接 会话等。 ( 3.
桃園市都市設計審議(暨建照預審)報告書 案 名:申請單位 / 行政區 / 地段號 / 工程類型/變更設計次數 送審依據:
關聯查詢.
SQL的简单查询.
十一 ASP对数据库的访问.
第2章 SQL语言初步 2.1 SQL的基本概念 2.2 基本表、索引的创建、删除和修改操作 2.3 SQL的查询语句——SELECT
第2讲 Transact-SQL语言.
第2章 数据模型 2.1 实体联系模型 2.2 关系模型 2.3 面向对象的数据模型 习 题 2.
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
第14章 預存程序 14-1 預存程序的基礎 14-2 建立與執行預存程序 14-3 預存程序的參數傳遞 14-4 預存程序的傳回值
104學年度優良課程計畫分享暨課程計畫撰寫實務
資料庫 (Database) SQL Server 2008實作
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
MySQL資料庫安全管理.
第 八 章 資料庫安全 本投影片(下稱教用資源)僅授權給採用教用資源相關之旗標書籍為教科書之授課老師(下稱老師)專用,老師為教學使用之目的,得摘錄、編輯、重製教用資源(但使用量不得超過各該教用資源內容之80%)以製作為輔助教學之教學投影片,並於授課時搭配旗標書籍公開播放,但不得為網際網路公開傳輸之遠距教學、網路教學等之使用;除此之外,老師不得再授權予任何第三人使用,並不得將依此授權所製作之教學投影片之相關著作物移作他用。
第4讲 MySQL服务器的配置与应用.
家庭危機與因應 國立空中大學 生活科學系 唐先梅.
第8章 SQL Server安全管理 谁都可以任意访问数据库吗?
任务一:利用结构化方法分析、设计项目 (续).
第七章 安全模型理论.
An Introduction to Database System
数据库应用与程序设计.
第五讲 利用视图进行查询优化.
關聯式資料庫.
第六章 學習SQL語言.
資料庫系統 Database Systems
第 8 章 資料的 新增、修改與刪除.
課程名稱:資料庫系統 授課老師:李春雄 博士
SQL Injection (資料隱碼) 簡介
Chapter 12 T-SQL 語法與 ASP.NET.
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
2、掌握SQL中各种查询方法和数据更新方法 3、掌握SQL中视图的定义方法和用法 4、掌握SQL的授权机制
Chap 10 SQL定義、操作與控制指令.
資料庫安全 (Database Security)
第16讲 数据库系统的增强安全性 第7章:数据库系统的增强安全性.
Transact-SQL 語言設計教學.
第 16 章 觸發程序.
5 数据库管理与保护 数据库运行的最小逻辑工作单位是事务,所有对数据库的操作,都以事务作为一个整体来执行或撤销。
第9章 SQL Server的数据库保护技术 教学目标:通过本章学习,了解SQL Server的安全体系结构的含义和安全认证模式的分类;掌握SQL Server登录账号、用户账号及角色的创建方法;熟悉权限的分类,掌握对象权限和语句权限的管理方法;明确SQL Server中数据完整性的种类,掌握数据完整性实现的具体方法;熟悉SQL.
第三章:包   包(package)是一个可以将相关对象存储在一起的PL/SQL结构。包包含了两个分离的部件------包说明(specification)和包主体(body)。每个部件都单独被存储在数据字典中。包只能存储在数据库中,不能是本地的。除了可以将相关对象作为一组存在一起以外,包也是十分有用的,因为它们在依赖性方面的限制是比较小的。也有许多性能上的优点。
第6章 SQL Server权限管理 6.1 SQL Server权限管理策略 6.2 用户权限管理 上一章 返回目录.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
第四讲 数据库对象(视图、序列、同义词、索引)
第十七章 資料庫SQL 17-1 SELECT 17-2 INSERT 17-3 UPDATE 17-4 DELETE.
資訊安全概論與實務 第二篇:安全架構.
iRepor报表设计基础 IReport安装 普通实体报表 数据结果集报表 工作流主从报表 饼状图报表 柱状图,曲线图报表 条形码报表
SQL Injection (資料隱碼) 學生:a 吳倩瑜 指導教授:梁明章.
第20章 MySQL数据库.
ORACLE 第九讲 触发器.
An Introduction to Database System
CS, ZJU 4/18/2019 Chapter 7 数据库.
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
SAP Query 建立User Group (SQ03) 建立Infoset (SQ02)
3. SQL语言的应用 3.1 SQL历史和优点 3.2 数据查询 3.3 数据操纵.
SQL查询语句 蔡海洋.
本讲内容 SQL 概述 SQL 的查询功能 SQL 的操作功能 SQL 的定义功能.
第三章 SQL Server数据管理.
第六類 資料庫備份與回復.
Create and Use the Authorization Objects in ABAP
三明治DIY.
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
第4章 数据查询.
Web安全基础教程
Presentation transcript:

第 五 章 数据库安全策略 1

5.1 安全策略的定义 5.2 安全策略语言 5.3 安全策略模型 5.4 安全策略模型特性分析 5.5 安全策略的执行 本 章 概 要 5.1 安全策略的定义 5.2 安全策略语言 5.3 安全策略模型 5.4 安全策略模型特性分析 5.5 安全策略的执行 5.6 关系数据库的授权机制 2

5.1 安全策略的定义 安全策略:是粗线条描述安全需求以及规则的说明,是一组规定如何管理、保护和指派敏感信息的法律、规则及实践经验的集合。 3

保证数据库的存在安全。确保数据库系统的安全首先要确保数据库系统的存在安全。 数据库系统至少具有以下一些安全策略 保证数据库的存在安全。确保数据库系统的安全首先要确保数据库系统的存在安全。 保证数据库的可用性。数据库管理系统的可用性表现在两个方面:一是需要阻止发布某些非保护数据以防止敏感数据的泄漏;二是当两个用户同时请求同一纪录时进行仲裁。 保障数据库系统的机密性。主要包括用户身份认证、访问控制和可审计性等。 4

保证数据库的完整性。数据库的完整性包括物理完整性、逻辑完整性和元素完整性。物理完整性是指存储介质和运行环境的完整性。逻辑完整性主要有实体完整性和引用完整性。元素完整性是指数据库元素的正确性和准确性。 5

5.2 安全策略语言 安全策略语言用来描述定义不同层次的安全策略。 6

5.2.1 安全策略基本元素 安全策略定义语言具有以下一些基本概念与标记 主体(Subject):系统中的活动实体,主体在系统中的活动受安全策略控制。主体一般记为S={s1,…,sn}。 客体(Object):是系统中的被动实体,每个客体可以有自己的类型。客体一般记为O={o1,…,on}。 7

类型(Type):每个客体都可以有自己的类型。 角色(Role):在系统中进行特定活动所需权限的集合。角色可以被主体激活,主体可以同时担任不同的角色。角色一般记为R={r1,…,rn}。 任务(Task):任务一般记为TK={tk1,…,tkn}。 转换过程(TP,Tansformation procedure):可以是通常的读、写操作或一系列简单操作组合形成的特定应用过程。 8

5.2.2 SPSL SPSL是一种策略规范语言,它的主要目的是描述安全操作系统中使用的安全策略,即授权决策策略。授权决策是一个从请求到决策的映射AD={(q,d)|q ∈Q,d ∈D},其中,Q是请求集,D是决策集。 9

SPSL属于逻辑语言,主要由常量、变量和谓词三部分组成。主体集S、客体集O、动作集A和访问权限集SA均是SPSL的常量。SPSL的变量包括四个集合:Vs、Vo、Va、Vsa分别表示主体、客体、动作和带符号访问权限的变量集合。分别用st,ot,at和sat表示四个集合中的项。 SPSL的谓词有13个:cando(st,ot,sat),decando(st,ot,sat),do(s,o,sat),done(s,o,at),fail(s,o,at),din(s1,s2),in(s1,s2),cooper(e1,e2),conflict(e1,e2),super(e1,e2),owner(e1,e2),typeof(e,t)和spof(e)。 10

客体属主访问规则:cando(s1,o,a) ←owner(o,s1)。 简单的实例说明如何用SPSL描述自主访问控制策略。假定o∈O,s1∈S,s2∈S,s3∈S,g∈G,others=G-g,自主访问控制策略可表示为: 客体属主访问规则:cando(s1,o,a) ←owner(o,s1)。 同组用户访问规则:cando(s2,o,a’) ← cando(g,o,a)&in(s1,g)&in(s2,g)。 其他人访问规则:cando(s3,o,a”) ← cando(others,o,a’)& ﹁in(s3,g) 。 11

5.3 安全策略模型 安全模型的作用是在一个安全策略中,描述策略控制实体并且声明构成策略的规则。 12

5.3.1 状态机模型 状态机模型将系统描述为一个抽象的数学状态机。在这种模型里,状态变量表示机器的状态,随着系统的运行而不断地变化。 状态转移函数是对系统调用的抽象表示,精确地描述了状态的变化情况。主体和客体被模拟为集合S和O的函数。 13

下图是一个简单的状态机模型: q1 A B B B B qs qr 有机状态机模型 q0 A 14

开发一个状态机安全模型一般具有以下一些步骤 定义与安全有关的状态变量。 定义安全状态需满足的条件是静态表达式,表达了在状态转移期间,状态变量值之间必须保持的关系。 定义状态转移函数。 证明转移函数能供维持安全状态。 定义系统运行的初始状态,并用安全状态的定义证明初始状态是安全的。 15

转换函数的例子: Create-object(o,c) If o ∈O Then O’=O ∪{o}and oclass’(o)=c and s∈S,A’(s,o)= ф 16

采用有限状态机为某种安全策略构造安全模型的例子: 假设安全策略为: (1)当且仅当用户的认证等级高于文件的安全等级时,可以对文件进行读操作。 (2)当且仅当用户的认证等级低于文件的安全等级时,可以对文件进行写操作。 将其“翻译”成计算机语言。 17

根据上述对应关系,给定安全策略可以进一步表示: (1)当且仅当主体的访问等级高于客体的访问等级时,可以对客体进行读操作。 (2)当且仅当主体的访问等级低于客体的访问等级时,可以对客体进行写操作。 18

(1)sclass(s)>oclass(o)=>r∈A(s,o) 将这些与安全相关的状态变量符号化: 主体用S表示,客体用O表示,访问等级用class表示,主体s的访问等级表示为sclass(s),客体o的访问等级表示为oclass(o),A(s,o)为访问模式集合,则安全策略的形式化描述为: (1)sclass(s)>oclass(o)=>r∈A(s,o) (2)sclass(s)<oclass(o)=>w∈A(s,o) 19

该安全策略对应的安全状态可描述为:系统是安全的,当且仅当对于所有的s ∈ S,o ∈ O有 主体集S、客体集O、主体访问等级sclass、客体访问等级oclass和访问模式集合A(s,o)都是安全模型的状态变量。系统在任一时刻的状态可定义为状态变量的集合:State={S,O,sclass,oclass,A}。 该安全策略对应的安全状态可描述为:系统是安全的,当且仅当对于所有的s ∈ S,o ∈ O有 (1)If r ∈A(s,o),then sclass(s)>oclass(o) (2)If w ∈A(s,o),then sclass(s)<oclass(o) 20

定义状态转移函数是安全策略模型构造过程中很重要的一步,描述了系统的相应变化。此处涉及的状态转移函数有前面已介绍过的Create-object(o,c),设置主体s对客体o访问模式的Set_access(s,o,mode),证明状态转移函数是否正确,最后需要定义初始状态并证明其安全性。 21

5.3.2 Clark-Wilson完整性模型 Clark-Wilson模型对于许多商业系统的建模更加符合实际。该模型用程序作为主体和客体之间的中间控制层,主体被授权执行某些程序,客体可以通过特定的程序进行访问。 Clark-Wilson模型将从属于其完整性控制的数据定义为约束型数据项(CDI),而将不从属于完整性控制的数据定义为非约束型数据项(UDI)。 22

Clark-Wilson模型定义了两组过程:完整性验证过程(IVP)和转换过程(TP)。 Clark-Wilson模型采用了两个基本的方法,即所谓的严格转变(Well-Formed Transition)和责任分离(Segregation of Duties)。 严格转变是Clark-Wilson模型中保证应用完整性的一个机制。 责任分离的目的是保证数据对象与他所代表的现实世界对象的对应,而计算机本身并不能直接保证这种外部的一致性。 23

数据完整性Clark-Wilson模型有两类规则:证明规则(CR)和实施规则(ER)。 实施规则是与应用无关的安全功能。 证明规则是与具体应用相关的安全功能。 24

5.3.3 Harrison-Ruzzo-Ullman(HRU)模型 静态访问方式有读、写、执行和拥有等。 动态访问方式有对进程的控制权、授予/撤销权限等。 25

Enter r into A[Si,Oj],Si ∈S,Oj ∈O 操作顺序: S’=S,O’=O HRU模型的操作有六条,操作后状态变换表示为Q ├op Q’。其中符号A[Si,Oj]表示Si对Oj的访问权限集合,r表示某一权限,如读、写等。 (1)授予权限 命令形式: Enter r into A[Si,Oj],Si ∈S,Oj ∈O 操作顺序: S’=S,O’=O A’[Si,Oj]=A[Si,Oj] ∪{r}, A’[Sk,Ol]=A[Sk,Ol],k ≠i,l ≠j 26

Delete r from A[Si,Oj],Si ∈S,Oj ∈O 操作顺序: S’=S,O’=O (2)撤销权限 命令形式: Delete r from A[Si,Oj],Si ∈S,Oj ∈O 操作顺序: S’=S,O’=O A’[Si,Oj]=A[Si,Oj] -{r}, A’[Sk,Ol]=A[Sk,Ol],k ≠i,l ≠j 27

A’[S,O]=A[S,O] ,S⊂S’,O⊂O’ A’[Si,O]= φ,O⊂O’ A’[S,Oi]=φ,S⊂S’ (3)添加主体 命令形式: Create Subject Si,Si  S 操作顺序: S’=S ∪{Si} ,O’=O∪ {Si} , A’[S,O]=A[S,O] ,S⊂S’,O⊂O’ A’[Si,O]= φ,O⊂O’ A’[S,Oi]=φ,S⊂S’ 28

Destroy Subject Si,Si ∈S 操作顺序: S’=S-{Si} ,O’=O-{Si} , (4)删除主体 命令形式: Destroy Subject Si,Si ∈S 操作顺序: S’=S-{Si} ,O’=O-{Si} , A’[S,O]=A[S,O] ,S’⊂S,O’⊂O 29

A’[S,O]=A[S,O] ,S⊂S’,O⊂O’ A’[S,Oi]=φ,S⊂S’ (5)添加客体 命令形式: Create Object Oi,Oi  O 操作顺序: S’=S ,O’=O∪{Oi} , A’[S,O]=A[S,O] ,S⊂S’,O⊂O’ A’[S,Oi]=φ,S⊂S’ 30

Destroy Object Oi,Oi ∈O,OiS 操作顺序: S’=S,O’=O-{Oi} , (6)删除客体 命令形式: Destroy Object Oi,Oi ∈O,OiS 操作顺序: S’=S,O’=O-{Oi} , A’[S,O]=A[S,O] ,S⊂S’,O⊂O’ HRU模型逻辑关系明确,操作管理方便。但是效率低下,所以必须采用一定的方法来解决提高效率的问题。 31

5.3.4 中国墙模型 中国墙模型是一种同等的考虑机密性和完整性的安全策略模型,该模型主要用于解决商业上的利益冲突问题。 引入一个布尔矩阵N=S×O。 true, 如果主体s访问过客体o Ns,o false,如果主体s从未访问过客体o 32

允许主体S对客体O进行读访问,当且仅当以下任一个条件成立: (1)存在一个O’是S曾经访问过的客体,并且包含O’的数据集与包含O的数据集相同。 (2)对于所有曾经被S读取过的客体O’,O不和客体O’在同一利益冲突类内。 从条件(1)(2)可知,如果某个主体S读取了某一利益冲突类的任一个客体O,那么S之后只能读取与O属于同一个数据集的客体。一个利益冲突类包含N个公司数据集,那么读取这些数据集的客体至少为N个。 33

事实上,中国墙模型将数据分为有害数据和无害数据,分别表示不可以公开的数据和可以公开的公司数据。 (3)O是无害客体。 允许主体S对客体O进行写访问,当且仅当: (1)允许S对O进行读访问。 (2)对于所有有害客体O’,当O’与O在同一数据集中时,S能读O’。 34

5.3.5 信息流模型 另一类重要的安全策略则针对客体之间实际的信息传递进行控制,其中最主要的是信息流模型。 信息流模型考虑任何形式的信息流,可以是显式或隐式,而不只是通过访问操作的直接信息流。 35

信息流模型FM定义为五元组FM=<O,P,SC, ⊕,→>,其中: O={o1,o2,……}为一组带标签的客体集合,表示信息的存储,如文件、程序、变量及比特等。 P={p1,p2,……}是进程集合,表示与信息流有关的活动实体,所有信息流是由P产生的。 SC={sc1,sc2,……}是安全等级集合,与互不相关的离散的信息等级相对应。系统中每个客体oi被指派一个访问等级。 36

⊕是一个对安全等级作组合操作的二元操作符,他服从交换律、结合律,并且是封闭的。 →是一个流关系。用于决定在任何一对安全等级之间,信息是否能从一个安全等级流向另一个安全等级。 37

5.4 安全策略模型特性分析 保密性 完整性 多策略 应用领域 主要优点 主要缺点 状态机模型 支持 不支持 各个领域 能准确捕捉与问题相关的那些系统方面。有成熟的理论 定义状态转移函数和初始状态及其安全性证明比较困难 BLP模型 军事 将操作转化为规则,支持多级安全 过于抽象,实施困难,存在隐通道 Biba模型 商业 使用了层次级别 判定完整性等级和类别的标准不完善 CW模型 商业军事 引入访问控制元组概念,有效地实现责任隔离 难以实现 HRU模型 操作系统数据库系统 使用了访问控制表来实现访问控制 效率低下 38

同等的考虑机密性和完整性,后续操作基于历史操作 限制随着主体访问客体数量的增加而增加 保密性 完整性 多策略 应用领域 主要优点 主要缺点 中国墙模型 支持 不支持 商业 同等的考虑机密性和完整性,后续操作基于历史操作 限制随着主体访问客体数量的增加而增加 信息流模型 各个领域 比访问控制模型的精确度要高,引入了格的概念 不能解决多安全级别信息处理的问题,流分析复杂 39

5.5 安全策略的执行 5.5.1 基于SQL的安全策略执行 SQL语言可以定义安全策略。最简单的情 形就是SQL语言具有GRANT和REVOKE子构 件,可以向用户授予访问权限,撤销用 户访问权限。 40

例如,如果Peter可以分别读取name和salary,但是不能同时读取这两个属性,可以采用SQL类型语言定义如下: GRANT Peter READ emp.salary; GRANT Peter READ emp.name; NOT GRANT Peter READ Together(emp.name,emp.salary); 41

如果不允许Peter访问薪金超过50000元的雇员信息,可以定义如下: GRANT Peter READ emp WHERE emp.salary<50000; 42

5.5.2 查询修改 查询修改(Query Modification)是基于SQL的安全策略执行机制的重要功能,其核心思想是根据约束修改查询,这种方法对于强制安全策略和自主安全策略均可有效使用。 43

AND dept is NOT security; 假定Peter请求查询emp的所有元组,根据安全策略,Peter无法查询salary>=50000且雇员不是安全部门的记录,则查询修改如下所示: SELECT * FROM emp; 修改为 SELECT * FROM emp WHERE salary<50000 AND dept is NOT security; 44

5.6 关系数据库的授权机制 授权机制是关系数据库实现安全与保护的重要途径。 授权机制的总体目标是提供保护与安全控制,允许授权用户合法地访问信息。 45

5.6.1 授权规则 肯定授权(Positive Authorization)。 否定授权(Negative Authorization)。 冲突解决(Conflict Resolution)。 强授权与弱授权(Strong and Weak Authorization)。 授权规则的传播(Propagation of Authorization Rules)。 特殊规则(Special Rules)。 一致和完整性规则(Consistency and Completeness of Rules)。 46

5.6.2 GRANT命令 授权机制贯穿于关系及视图动态创建、动态撤销整个过程,包括授予(GRANT)、检查(CHECKING)、撤销(REVOKE)等动态环节。 通常,授权可以通过访问控制列表方式实现,这种方式支持撤销。 47

READ:允许通过查询使用Table,包括读 取关系元组、根据关系定义视图等。 INSERT:向Table添加新行(元组)。 在System R中,任意用户可以授权创建新Table。创建者被惟一全权授予Table的所有访问控制权限。如果希望其他用户共享某些访问控制,必须向各种用户授予指定的权限。可以授予的权限包括: READ:允许通过查询使用Table,包括读 取关系元组、根据关系定义视图等。 INSERT:向Table添加新行(元组)。 DELETE:从Table中删除行(元组)。 UPDATE:修改Table中现存数据,可以限 制于一定的列(属性)。 DROP:删除整个Table。 48

可以对表所有权先进行授权,或者授予指定系列的权限,或者授予明确声明以外所有权限。 授权的语法格式基本类似,可以表示为:GRANT[ALL RIGHTS|<privileges>|ALL BUT<privileges>] ON <table> TO <user-list> [WITH GRAND OPTION]。 可以对表所有权先进行授权,或者授予指定系列的权限,或者授予明确声明以外所有权限。 49

A:GRANT READ,INSERT ON EMP TO B WITH GRANT OPTION 例如,被授予者进一步向其他用户授权 A:GRANT READ,INSERT ON EMP TO B WITH GRANT OPTION A:GRANT READ ON EMP TO C WITH GRANT OPTION B:GRANT READ,INSERT ON EMP TO C 50

5.6.3 REVOKE命令 REVOKE的语法格式基本类似,可以表示为:REVOKE [ALL RIGHTS|<privileges>] ON <table> FROM <user-list>。 允许REVOKE先前授予的权限增加了授权机制的复杂性。仅采用两个元组表示用户在表上的权限并不充分,必须同时保留授权者的身份信息,因为一般指允许用户撤销由他先前授予的权限。 51

A:GRANT READ,INSERT,UPDATE ON EMP TO C 例如,执行授权撤销序列后的权限: A:GRANT READ,INSERT,UPDATE ON EMP TO C B:GRANT READ,UPDATE ON EMP TO C A:REVOKE INSERT,UPDATE ON EMP FROM C 52

5.6.4 递归REVOKE 递归撤销现象可以通过下面的实例说明 A:GRANT ALL RIGHTS ON EMP TO C WITH GRANT OPTION C:GRANT ALL RIGHTS ON EMP TO D A:REVOKE ALL RIGHTS ON EMP FROM C 53

小结 对数据库的安全策略语言、策略模型、策略的执行机 制做了全面的介绍,同时重点介绍了关于数据库授权 策略实现机制。 选择合适的安全策略,构建相应的安全模型在数据库 系统的开发应用过程中有着举足轻重的作用。安全策 略及模型从集中于面向军事领域的机密性要求,转而 面向商业领域的完整性要求,又发展到支持策略独立 性,进而向支持多种安全策略和动态安全策略方向发 展。更为主要的是,随着人们对安全威胁的认识逐步 加深以及各种安全技术的不断发展,采取多种安全机 制支持多种安全策略逐渐成为安全系统研究的共同特 征。 54