第16讲 数据库系统的增强安全性 第7章:数据库系统的增强安全性.

Slides:



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

第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
1 第 5 章 SQL 语句基础 在 Oracle 数据库中,为了方便管理用户所创建的 数据库对象,引入了模式的概念,这样用户所创建的 数据库对象就都属于该用户模式。对于一般的用户而 言,数据库中的数据是以表、视图行等方式存储的( 表和视图就是最基本的用户模式对象),用户只需要 根据自己的需求查询数据库,然后由数据库根据请求.
数据库完整性 第 10 章 完整性约束条件 完整性控制 Oracle 的完整性. 什么是数据库的完整性  数据的正确性和相容性  防止不合语义的数据进入数据库 例 : 学生的年龄必须是整数,取值范围为 ; 学生的性别只能是男或女; 学生的学号一定是唯一的; 学生所在的系必须是学校开设的系。
2010 年 6 月课件制作人:王亚楠 1 模块 2 项目开发概论 教学课件 年 6 月课件制作人:王亚楠 2 目录 目标 了解:数据库技术的基本概念与结构 理解:数据模型的分类与结构组成 掌握:关系数据库及 SQL 的基本理论 知识 掌握:数据库设计的方法与步骤 内容 2.1 数据库技术基础.
第 7 章 数据库 1. Overview  数据库概述  数据库管理系统  数据库的体系结构和数据库模型  SQL 语言  数据库技术  构建数据库系统 2.
C A D C D.
数据库原理 彭煜玮 计算机学院 珞珈图腾数据库实验室.
Visual FoxPro 教程 淮海工学院计算机工程学院 巫晓琳.
数据库原理及应用(ORACLE)实用教程
数据库系统原理及应用 Database Theory and Application
SQL的简单查询.
十一 ASP对数据库的访问.
An Introduction to Database Systems
第2章 SQL语言初步 2.1 SQL的基本概念 2.2 基本表、索引的创建、删除和修改操作 2.3 SQL的查询语句——SELECT
第2讲 Transact-SQL语言.
  中国技术交易信息服务平台 中国技术市场管理促进中心.
第8章 数据库技术基础 数据库可以直观地理解为存放数据的仓库,只 不过这个仓库是在计算机的大容量存储器上。
数据库技术 实践.
OceanBase 0.4:从API到SQL 日照
Access数据库程序设计 总复习.
管理資訊系統 David Kroenke 資料庫處理 第4章.
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
第六章 数据库和ADO.NET 褚龙现 软件学院.
資料庫 (Database) SQL Server 2008實作
TBSMGS数据存储管理软件 北京金信桥信息技术有限公司 2010年05月27日.
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
数据库原理及设计 --作业.
MySQL資料庫安全管理.
文科计算机小公共课规划教材 Access 程序设计.
计算机应用基础 上海大学计算中心.
数据库应用技术 天津大学计算机基础教学部 2013年9月.
翰林自然 六年級上學期 第二單元 聲音與樂器.
数据库管理软件 Access 2003的使用 安丘市职业中专 雷云龙 1.
An Introduction to Database System
数据库应用与程序设计.
JAVA 程式設計與資料結構 第十一章 JDBC.
Oracle数据库入门.
数据库技术 第十章 数据库完整性 中国科学技术大学网络学院 阚卫华.
数据库技术 第三章 关系数据库标准语言SQL 中国科学技术大学网络学院 阚卫华.
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
2、掌握SQL中各种查询方法和数据更新方法 3、掌握SQL中视图的定义方法和用法 4、掌握SQL的授权机制
面向高能所信息化系统的高可用数据库服务 王丽 计算中心 中科院高能所 第十八届全国科学计算与信息化会议.
Microsoft SQL Server 2000 李金双.
資料庫安全 (Database Security)
第8章 数据库的安全和完整性约束 数据库的破坏一般来自: 1.系统故障; 2.并发所引起的数据不一致; 3.人为的破坏;
班級:博、碩子一甲 授課老師:鐘國家 助教:陳國政
实验 2:MS Access QBE Query使用
5 数据库管理与保护 数据库运行的最小逻辑工作单位是事务,所有对数据库的操作,都以事务作为一个整体来执行或撤销。
第三章:包   包(package)是一个可以将相关对象存储在一起的PL/SQL结构。包包含了两个分离的部件------包说明(specification)和包主体(body)。每个部件都单独被存储在数据字典中。包只能存储在数据库中,不能是本地的。除了可以将相关对象作为一组存在一起以外,包也是十分有用的,因为它们在依赖性方面的限制是比较小的。也有许多性能上的优点。
医院职工公费医疗系统.
第四讲 数据库对象(视图、序列、同义词、索引)
第 五 章 数据库安全策略 1.
ORACLE 第九讲 触发器.
MySQL开发规范 DB组-张浩.
江西财经大学《数据库应用》精品课程组 2011年 Comments are welcome!
An Introduction to Database System
第一章 数 据 库 概 述 第一节 引言 第二节 数据库基本概念 第三节 数据库系统结构 第四节 数据模型 第五节 数据库管理系统
CS, ZJU 4/18/2019 Chapter 7 数据库.
数据透视表与SQL典型应用 ——数据分析人士必杀技
SQL查询语句 蔡海洋.
OceanBase 0.4:从API到SQL 日照
第三章 SQL Server数据管理.
第六類 資料庫備份與回復.
創造不一樣的人生 -如何與身心障礙者接觸 新竹教育大學 薛明里.
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
2017学考复习 信息管理(导引P37).
資料庫應用與實作 一到六章重點、習題.
第4章 数据查询.
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

第16讲 数据库系统的增强安全性 第7章:数据库系统的增强安全性

本讲内容 主题:数据库系统的增强安全性 教材内容: 第7.1节:虚拟专用数据库机制 第7.2节:基于标签的安全机制 © 2009 电子工业出版社

VPD安全机制概貌 Oracle DBMS实现的安全机制 功能:基于内容的访问控制 粒度:记录级访问控制 安全策略的配置:安全管理员 关键技术:用谓词给SQL语句的WHERE子句添加限定条件 © 2009 电子工业出版社

VPD机制的用户印象 不同用户似乎操作不同的DB对象,虽然实际上是同一个对象。 这由透明的WHERE子句条件约束实现 用户甲 用户乙 © 2009 电子工业出版社

VPD机制的运用方法 安全管理员针对DB对象及其上的操作设定安全策略 用户对DB对象进行操作时,安全策略约束用户的操作。 每个安全策略(规则)由一个策略函数定义 每个策略函数返回的字符串构成一个谓词 用户对DB对象进行操作时,安全策略约束用户的操作。 谓词作为约束条件透明地附加到SQL操作语句的WHERE子句上 © 2009 电子工业出版社

安全策略的设定方法 在应用程序中编写代码描述策略函数 在应用程序中调用VPD机制提供的DBMS存储过程根据策略函数建立安全策略 描述语句:CREATE OR REPLACE FUNCTION 在应用程序中调用VPD机制提供的DBMS存储过程根据策略函数建立安全策略 存储过程:DBMS_RLS.ADD_POLICY 上述两项应用程序功能由安全管理员使用 第一项功能描述安全策略(规则) 第二项功能使安全策略(规则)生效 © 2009 电子工业出版社

策略函数的定义方式 函数名 DB模式名 DB对象名 对象字段名 © 2009 电子工业出版社

安全策略的建立方式 DB模式名 DB对象名 策略名 策略函数名 © 2009 电子工业出版社

安全策略的作用方式 用户Scott执行以下操作: 实际执行的是以下操作: WHERE子句由VPD机制自动添加,对用户透明。 SELECT DISTINCT deptno FROM emp; 实际执行的是以下操作: SELECT DISTINCT deptno FROM emp WHERE deptno != 10; WHERE子句由VPD机制自动添加,对用户透明。 © 2009 电子工业出版社

策略函数与安全策略 先定义策略函数 再引用策略函数建立安全策略 建立安全策略后,可修改策略函数,无须重新建立安全策略。 实际上是使安全策略生效 建立安全策略后,可修改策略函数,无须重新建立安全策略。 VPD机制自动按新的策略函数实施访问控制 © 2009 电子工业出版社

安全策略与DB操作 常见DB操作包括SELECT、INSERT、UPDATE、DELETE或INDEX等。 默认情况下,安全策略对各类操作均实施控制。 建立安全策略时,可限定该策略仅对指定操作类型实施控制。 用STATEMENT_TYPES条款描述 © 2009 电子工业出版社

安全策略与操作类型关联的方法 在调用存储过程建立安全策略时指明 使该安全策略仅对INSERT和UPDATE操作生效 要求操作结果满足约束条件 © 2009 电子工业出版社

环境信息的利用 哪个用户正在执行操作? 当前用户的用户名是什么? 当前用户所在部门的部门号是什么? “会话用户”或“当前用户” 当前用户的用户名是什么? 当前用户所在部门的部门号是什么? 由系统函数SYS_CONTEXT提供环境信息 当前用户的用户名: sys_context(''userenv'',''session_user'') 当前用户所在部门的部门号: sys_context(''people_ctx'',''deptno'') 注,userenv:用户环境,people_ctx:表people的上下文,deptno:表people中表示部门号的字段。 © 2009 电子工业出版社

用户环境信息应用示例 约束条件:当用户名等于当前用户时 © 2009 电子工业出版社

部门环境信息应用示例 约束条件:当部门号等于当前部门时 © 2009 电子工业出版社

针对UPDATE操作的访问控制 © 2009 电子工业出版社

多个安全策略共存问题 VPD机制以“与”运算确定约束条件 策略冲突时,条件为“假”,访问将被拒绝。 借助环境参数,有选择地使策略生效,可避免策略冲突。 © 2009 电子工业出版社

针对字段的访问控制 规则:当且仅当访问涉及敏感字段时控制生效。 表people中的salary字段被定义为敏感字段 © 2009 电子工业出版社

VPD机制的“免制约”特权 由安全管理员启用的安全策略控制全体用户对DB对象的访问行为,DBA也不例外。 “免制约”特权指“EXEMPT ACCESS POLICY”授权 发放授权的方式: GRANT EXEMPT ACCESS POLICY TO SYSTEM; 该授权使得用户System获得“免制约”特权 © 2009 电子工业出版社

OLS安全机制概貌 Oracle DBMS实现的安全机制 粒度:记录级访问控制 模型基础:BLP模型 © 2009 电子工业出版社

标签与访问控制 © 2009 电子工业出版社

OLS机制的标签 三元组:<等级,类别,组别> 一般表示:(等级:类别:组别) 有效形式: 示例: “等级”为数值型,“类别”和“组别”为集合型。 一般表示:(等级:类别:组别) 有效形式: (等级::)、(等级:类别:)、(等级:类别:组别) (等级::组别) 示例: (绝密::)、(机密::)、(秘密::)、(非密::) (绝密:海军:)、(绝密:海军,空军:) (机密:海军,空军:纽约)、(秘密:陆军:纽约,夏威夷) © 2009 电子工业出版社

基于标签的“读”访问判定 © 2009 电子工业出版社

基于标签的“写”访问判定 © 2009 电子工业出版社

OLS机制的应用方法 创建安全策略 定义标签元素 定义标签 启用安全策略 给用户分配标签 设立一个存放OLS机制配置信息的容器 存储过程:sa_sysdba.create_policy 定义标签元素 定义等级、类别、组别等元素 存储过程:sa_components.create_level/compartment/group 定义标签 利用元素构造标签 存储过程:sa_label_admin.create_label 启用安全策略 把标签控制信息落实到DB表中(包括添加标签字段) 存储过程:sa_policy_admin.apply_table_policy 给用户分配标签 设置用户的标签属性(蕴含访问授权) 存储过程:sa_user_admin.set_user_labels © 2009 电子工业出版社

示例样本 以某跨国公司的信息发布数据库为背景 安全策略名:ESDB 等级元素: 类别元素: 组别元素: 用户群名称: DB模式名:SCOTT EXEC、MGR、EMP(对应执行层、经理层、职员层) 类别元素: SALES、DEV、IS(对应营销部、开发部、内援部) 组别元素: CORP、US、NY、LA、EMEA、APAC(对应全公司范围、美国区域、纽约区域、洛杉矶区域、欧洲和中东及非洲区域、亚太区域) 用户群名称: ALL_EMPLOYEES、ALL_MANAGER、ALL_EXECS DB模式名:SCOTT DB表名:ANNOUNCEMENTS 标签字段名:ROWLABEL © 2009 电子工业出版社

OLS安全策略的创建 编写创建安全策略的代码,由安全管理员执行。 OLS默认的安全管理员是LBACSYS。 © 2009 电子工业出版社

OLS安全策略的启用 假如标签元素和标签等均已定义好,则可启用已创建的安全策略。比如,把策略ESDB实施到模式SCOTT中的表ANNOUNCEMENTS上。 选项table_options: NO_CONTROL:暂不控制 READ_CONTROL:控制“读”操作 WRITE_CONTROL:控制“写”操作 © 2009 电子工业出版社

OLS安全策略的重启 如想变更安全策略的选项等信息,可先把它停用再重新启用。 © 2009 电子工业出版社

等级元素的定义 值为9000、8000、7000的三个等级元素的定义: © 2009 电子工业出版社

单元素标签的定义 标签标识号label_tag必须唯一,整个DBS的所有安全策略中标签的标识号不能有重号。 © 2009 电子工业出版社

给用户分配单元素标签 标签可直接分配给DB用户,也可以分配给用户群,还可以分配给应用系统、IP地址域、或其他相关对象。 © 2009 电子工业出版社

类别元素的定义 类别号comp_num仅用作标识符,不表示类别的大小。 © 2009 电子工业出版社

双元素标签的定义 含等级元素和类别元素的标签的定义: © 2009 电子工业出版社

给用户分配双元素标签 给用户分配含等级元素和类别元素的标签: © 2009 电子工业出版社

组别元素的定义 组别之间可能存在父子关系,例如,组别CORP是组别US的父组。 © 2009 电子工业出版社

三元素标签的定义 含等级、类别、组别元素的标签的定义: © 2009 电子工业出版社

给用户分配三元素标签 给用户分配含等级、类别、组别元素的标签: © 2009 电子工业出版社

标签的取值范围与默认值 可能取值:可以分配给用户的标签的取值范围 默认会话标签:当前会话采用的标签值 默认记录标签:有LABEL_DEFAULT选项时系统自动分配给记录的标签值 © 2009 电子工业出版社

等级元素取值范围与默认值的设定 与用户SCOTT的标签相关的设定方法: © 2009 电子工业出版社

类别元素的添加方法 把类别DEV添加到用户SCOTT的标签中,授予对该类别的“读”和“写”权,并将它置于会话默认值和记录默认值中。 © 2009 电子工业出版社

组别元素的添加方法 把组别US添加到用户SCOTT的标签中,授予对该组别的“读”和“写”权,并将它置于会话默认值和记录默认值中。 © 2009 电子工业出版社

使自动赋值和访问控制生效 为“读”和”写”控制及自动赋默认值而重启安全策略: © 2009 电子工业出版社

问题? wenchang@ruc.edu.cn © 2009 电子工业出版社