如何利用Oracle虚拟私有数据库进行整合

Oracle虚拟私有数据库(Virtual ">Private Database,下文简称VPD)是Oracle数据库产品中提供的一个安全功能,它能够保证Oracle数据库的多租户特性,与此同时,可以帮助用户进行数据库的整合。

  Oracle VPD能够针对数据库表和视图,在行与列级别对数据访问进行控制。从名称来看,Oracle VPD表达的意思多少有些误导的嫌疑,毕竟Oracle数据库已经是一个多用户的数据库,每个用户也许没有意识到他们正在共享数据库。因此,将Oracle VPD称为虚拟私有模式对象(Virtual Private Schema Object,VPSO)更为贴切,因为它会在数据库内将表、视图以及同义词进行虚拟化。但是在本文中,我们还是现将其称为VPD。

  鉴于Oracle的用户/角色安全权限模型允许访问模式对象,因此VPD将通过访问策略来强制对模式对象数据的细粒度访问。当访问策略开始执行,VPD将会动态地调整SQL语句,如SELECT、UPDATE和INSERT,其方式就是加一个WHERE条件来过滤结果。VPD不仅对用户是透明的,而且它的安全性是无法被忽视的。在Oracle企业版数据库产品中,VPD选项还是免费提供的。

  在下文要提到的VPD用例中,将介绍它如何在同一个模式下存储多个公司的数据。

  使用Oracle VPD

  在许多初创的公司中,口香糖生产公司ABC看到了商机,希望能够借助托管的业务系统来迅速占领市场。他们决定建立一个客户信息系统(CIS)作为集中的网络托管与数据服务应用。为了让这个基于云的SaaS交付模型能够取得成功,他们必须整理一套解决方案,能够不修改现有的应用代码,并提供数据安全性保障,并快速地进行测试,将投资回报率最大化。

  公司的IT团队否定了为每个客户端部署单独的数据库策略,因为这样做无法满足所有的需求。因此他们开始考虑共享一个单独的数据库,其中数据库负责人建议在同一个数据库模式下用Oracle VPD存储多客户数据。他解释了VPD对于应用是完全透明的,能够提供行级数据安全,满足销售团队的灵活性需求,它是最划算的部署策略。他解释了客户为何无法认识到他们在共享一个模式对象。

  此外,他还描述了设计的主要组件是如何部署的(表1)。首先,用户将继续使用特定客户端连接池作为一个代理,通过现有的Web应用来连接到数据库。当数据库会话建立之后,一个应用语境将被设置来高效地捕获客户端标识符属性。安全性访问策略将基于一个策略函数,它将应用到模式对象中以强制客户端数据的逻辑分离。策略函数将使用应用语境和一个客户端标识列来返回一个条件限制行,访问CIS的表、视图以及同义词。

(责任编辑:蒙遗善)

时间: 2024-09-28 19:57:17

如何利用Oracle虚拟私有数据库进行整合的相关文章

Oracle数据库安全之虚拟私有数据库 (VPD)

Oracle的安全分为四大部分,分别是用户管理.访问控制.数据保护和监控,具体可参考 <[Oracle] 数据库安全概述> http://blog.csdn.net/u010415792/article/details/9008089 今天着重讲讲访问控 制中一种常见的技术VPD,VPD的全称是Virtual Private Database 虚拟私有数据库,它在 Oracle 8i时就出现了,是Oracle比较早期的一种数据安全手段. 它是指通过指定策 略,对用户的SQL自动添加过滤谓词,以

甲骨文宣布对Oracle虚拟网络推出新的增强功能

北京,2013年11月7日--甲骨文公司近日宣布对Oracle虚拟网络(Oracle Virtual Networking)推出新的增强功能,以http://www.aliyun.com/zixun/aggregation/17183.html">帮助客户进一步提高架构性能,降低成本和复杂性,并简化存储和服务器的连接性. Oracle虚拟网络是业界首个且是唯一一个开放结构的数据中心架构,可利用一次性连接解决方案和简单的软件定义网络配置来简化复杂数据中心的部署. Oracle虚拟网络是唯一的

Oracle 10g新特性之虚拟专用数据库

五种类型的策略.列相关策略以及列屏蔽使得 VPD 成为 DBA 的安全工具箱中一种功能更加强大的工具 虚拟专用数据库 (VPD) 也称为细粒度访问控制,它提供强大的行级安全功能.它是在 Oracle8i 中推出的,已经受到广泛的欢迎,并且在从教育软件到金融服务等各种应用程序得到采用. VPD 的工作方法是,通过透明地更改对数据的请求,基于一系列定义的标准向用户提供表的局部视图.在运行时,所有查询都附加了谓词,以便筛选出准许用户看到的行.例如,如果只允许用户查看帐户管理员 SCOTT 的帐户,则

oracle 11g-VC++2010利用Occi处理Oracleo数据库getString方法报错的问题

问题描述 VC++2010利用Occi处理Oracleo数据库getString方法报错的问题 Oraccle版本:Oracle11g 11.2.0.1 Oracel的Instant Client版本11.2.0.3 Oracle For VC++2010运行库instantclient-basic-nt-11.2.0.3.0.zip 在 ResultSet->getString 时定义: static string str = ResultSet->getString(1);可以通过, 但

利用Oracle数据库发送邮件的实例代码_oracle

--发送邮件的主过程如下所述: Procedure send_mail_ (p_From Varchar2, --邮件发送人 p_Fromuser Varchar2, --发件人昵称 p_Touser Varchar2, --接受人昵称 p_To Varchar2, --邮件接收人 p_Cc Varchar2, --邮件抄送人 p_Subject Varchar2, --邮件标题 p_Message Varchar2, --邮件内容 p_User Varchar2, --邮件验证用户 p_Mai

利用ISAPI实现向数据库中添加记录

本文介绍了用HTML(HypertextMakeupLanguage)编写界面.编写ISAPI(InternetServerApplicationProgrammingInterface)交互程序以实现向用MicrosoftSQLServer建立的数据库中添加记录的方法. 1.前言 MicrosoftSQLServer是一种可伸缩的.高性能的关系型数据库管理系统(RDBMS),它专为分布式客户机-服务器计算环境而设计.它的内置数据复制功能.强大的管理工具和开放式的系统体系结构为发布信息提供了一个

在ASP中利用Oracle Object for OLE访问Oracle 8

object|oracle|访问 ASP(Active Server Pages)是微软公司为开发互联网络应用程序所提出的工具之一,它是一种类似HTML(Hypertext Markup Language超文本标记语言).Script与CGI(Common Gateway Interface通用网关接口)的结合体,但是其运行效率却比CGI更高.程序编制也比HTML更方便且更有灵活性,程序安全性及保密性远比Script好.因此ASP是目前网页开发技术中最容易学习.灵活性最大的开发工具. ASP内置

Navis利用Oracle Pillar Axiom 600存储系统取代NetApp解决方案

北京,2012年8月16日--作为Cargotec公司的一部分和通过终端实现货运管理的全球技术领导者,Navis已利用Oracle Pillar Axiom 600存储系统取代了Net​​App存储解决方案,以支持用于其SPARCS N4终端运营系统的集成和开发环境. 在向这些环境的完全虚拟化转型以全面满足业务发展需求的过程中,NAVIS迫切需要一种高性能.可扩展的分层存储解决方案,以支持其http://www.aliyun.com/zixun/aggregation/13521.html"&g

利用Oracle执行计划机制提高查询性能

oracle|性能|执行 消耗在准备利用Oracle执行计划机制提高查询性能新的SQL语句的时间是Oracle SQL语句执行时间的最重要的组成部分.但是通过理解Oracle内部产生执行计划的机制,你能够控制Oracle花费在评估连接顺序的时间数量,并且能在大体上提高查询性能. 准备执行SQL语句 当SQL语句进入Oracle的库缓存后,在该语句准备执行之前,将执行下列步骤: 1) 语法检查:检查SQL语句拼写是否正确和词序. 2) 语义分析:核实所有的与数据字典不一致的表和列的名字. 3) 轮