虚拟专用数据库概述
来源:才华咖 本文已影响2.66W人
来源:才华咖 本文已影响2.66W人
虚拟专用数据库是一项重要技术,使企业能够构建托管的、基于 Web 的应用程序。实际上,许多 Oracle 应用程序本身使用 VPD 实施数据分隔,包括 Oracle 和 Oracle Portal 等程序。下面小编为大家整理了关于虚拟专用数据库概述的文章,希望能为你提供帮助:
概述
虚拟专用数据库 (VPD) 提供了角色和视图无法提供的行级访问控制。对于互联网访问,虚拟专用数据库可以确保在线银行的客户只能看到他们自己的帐户。Web 托管公司可以在同一 Oracle 数据库中维护多个公司的数据,但只允许每个公司查看其自身数据。
在企业内部,虚拟数据库可在应用程序部署方面降低拥有成本。可以在数据库服务器一次实现安全性,而不用在访问数据的每个应用程序中分别实现安全性。因为是在数据库中实施安全性,所以不管用户访问数据的方式如何,安全性较以前更高。访问即席查询工具或新报表生成程序的用户不再能绕过安全环节。虚拟专用数据库是一项重要技术,使企业能够构建托管的、基于 Web 的应用程序。实际上,许多 Oracle 应用程序本身使用 VPD 实施数据分隔,包括 Oracle 和 Oracle Portal 等程序。
虚拟专用数据库如何工作
将一个或多个安全策略与表或视图关联后,就可以实现虚拟专用数据库。对带安全策略的.表进行直接或间接访问时,数据库将调用一个实施该策略的函数。策略函数返回一个访问条件(WHERE 子句),即谓词。应用程序将它附加到用户的 SQL 语句,从而动态修改用户的数据访问权限。
你可以通过编写一个存储过程将 SQL 谓词附加到每个 SQL 语句(用于控制该语句的行级别访问权限)来实施 VPD。例如,如果 John Doe(他属于 Department 10)输入 SELECT * FROM emp 语句,则可以使用 VPD 添加 WHERE DEPT = 10 子句。这样,您便可以通过对查询进行修改
案例说明
1. 搭建环境--创建模式拥有者和相应的用户,赋予权限
view plaincopy to clipboardprint?
CONNECT sys/password@service AS SYSDBA;
CREATE USER schemaowner IDENTIFIED BY schemaowner
DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
GRANT connect, resource TO schemaowner;
CREATE USER user1 IDENTIFIED BY user1
DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
GRANT connect, resource TO user1;
CREATE USER user2 IDENTIFIED BY user2
DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
GRANT connect, resource TO user2;
GRANT EXECUTE ON DBMS_RLS TO PUBLIC;
CONN schemaowner/schemaowner@service
CREATE TABLE users
(id NUMBER(10) NOT NULL,
ouser VARCHAR2(30) NOT NULL,
first_name VARCHAR2(50) NOT NULL,
last_name VARCHAR2(50) NOT NULL);
CREATE TABLE user_data
(column1 VARCHAR2(50) NOT NULL,
user_id NUMBER(10) NOT NULL);
INSERT INTO users VALUES (1,'USER1','User','One');
INSERT INTO users VALUES (2,'USER2','User','Two');
COMMIT;
GRANT SELECT, INSERT ON user_data TO user1, user2
CONNECT sys/password@service AS SYSDBA;
CREATE USER schemaowner IDENTIFIED BY schemaowner
DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
GRANT connect, resource TO schemaowner;
CREATE USER user1 IDENTIFIED BY user1
DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
GRANT connect, resource TO user1;
CREATE USER user2 IDENTIFIED BY user2
DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
GRANT connect, resource TO user2;
GRANT EXECUTE ON DBMS_RLS TO PUBLIC;
2015计算机四级《数据库》复习要点:创建和管理数据库
计算机四级数据库工程师模拟应用题
2016年计算机四级数据库复习笔记:数据库的实施
计算机四级《数据库技术》考点:数据库应用系统生命周期
2015计算机四级考试《数据库》知识:数据库的物理结构
计算机二级Access数据库表的组成概述
2015年计算机四级考试《数据库技术》基础知识:数据库应用系统
2015年计算机四级《数据库工程师》复习重点:数据库系统
KVM虚拟化集群技术概述
2015计算机四级《数据库工程师》复习重点:数据库事务概要设计
计算机三级数据库技术单选专项模拟题
2015计算机四级《数据库工程师》复习重点:数据库的物理结构
怎么用php去调用数据库里面的数据
2015年计算机四级《数据库工程师》复习重点:数据库基本概念
Oracle数据库概述及特点
计算机《MySQL》知识点:将数据装入数据库表
2015计算机四级《数据库》复习要点:SQL Server 2000概述
2017电子商务员考点:数据库的基本概念
计算机三级数据库技术模拟测试
PHP数据库Oracle数据完整性
PHP向MySQL数据库保存数据代码
计算机三级《数据库技术》模拟题
Oracle数据库插入日期型数据的方法
计算机三级数据库技术模拟题
计算机等考三级数据库模拟练习试题
数据库工程师
2016全国计算机四级论述题(数据库)
虚拟专用数据库概述
计算机三级数据库技术考前模拟
三级数据库技术考前模拟练习题
初级经济师重点知识:数据仓库与数据挖掘
计算机三级数据库考前模拟练习题
中级统计师知识点:用数字来概括数据
用云计算数据库进行的数据库设计论文
计算机四级数据库模拟试题及答案
2016计算机三级数据库模拟试题
计算机三级数据库技术考前模拟练习
2016计算机三级《数据库分析》概念题及答案
2016年计算机四级数据库必备经典论述题
虚拟主机租用协议书