`
- 浏览:
6285 次
- 性别:
- 来自:
上海
-
VPD全称Virtual Private Database,这个技术提供了对数据库信息的细粒度访问控制。关于VPD的更多描述性信息可通过Oracle官方文档获得:http://download.oracle.com/docs/cd/B19306_01/network.102/b14266/apdvpoli.htm#i1009600通过一个具体案例,体验一下VPD带给我们的功能特点。1.初始化环境构造表T,其中包含一个字段X。sec@ora10g> create table t (x number);sec@ora10g> insert into t values (1);sec@ora10g> insert into t values (2);sec@ora10g> insert into t values (10001);sec@ora10g> insert into t values (10002);sec@ora10g> commit;sec@ora10g> select * from t; X---------- 1 2 10001 100022.问题场景描述禁止查询T表中X列值大于10000的数据。3.实现方法一:使用视图这种方法可能是大家都很容易想到的,实现起来相对简单。但无法真正做到禁止访问基础表。sec@ora10g> create view v_t as select * from t where x <=10000;View created.sec@ora10g> select * from v_t; X---------- 1 2此时如果直接查询基础表t,仍然可以获得说有的数据。sec@ora10g> select * from t; X---------- 1 2 10001 100024.实现方法二:使用VPD1)创建VPD需要的函数,这里给出的名字是f_limited_query_t。CREATE OR REPLACE FUNCTION f_limited_query_t (s_schema IN VARCHAR2, s_object IN VARCHAR2) RETURN VARCHAR2ASBEGIN RETURN 'X <= 10000';END;/Function created.2)将函数与需要保护的表进行关联BEGIN DBMS_RLS.add_policy (object_schema => 'SEC', object_name => 'T', policy_name => 'POLICY_LIMITED_QUERY_T', function_schema => 'SEC', policy_function => 'F_LIMITED_QUERY_T');END;/PL/SQL procedure successfully completed.3)验证VPD效果此时在sec用户下直接查询t表,获得的也仅仅是我们要求的数据范围。sec@ora10g> select * from t; X---------- 1 2即便是连接到其他用户依然无法获得sec用户下t表隐藏掉的数据。sec@ora10g> conn secooler/secoolerConnected.secooler@ora10g> select * from sec.t; X---------- 1 2只有sys用户有权查看到sec用户下t表的全部数据sec@ora10g> conn / as sysdbaConnected.sys@ora10g> select * from sec.t; X---------- 1 2 10001 100024)去掉VPD对数据访问的限制我们可以使用DBMS_RLS.drop_policy来完成这个任务。secooler@ora10g> conn sec/secConnected.BEGIN DBMS_RLS.drop_policy (object_schema => 'SEC', object_name => 'T', policy_name => 'POLICY_LIMITED_QUERY_T');END;/PL/SQL procedure successfully completed.此时可获得T表的全部数据sec@ora10g> select * from t; X---------- 1 2 10001 100025.小结这里给出的是VPD最简单的一种使用方法,在实际应用中需求可能会比较复杂,但通过分析并仔细定制,VPD都可以胜任。欢迎大家分享关于VPD技术的具体应用案例。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Oracle VPD(Virtual Private Database)技术是Oracle数据库提供的一种安全机制,它允许数据库根据用户的上下文信息动态地修改SQL查询,实现数据的行级访问控制。这种技术的主要目的是确保敏感数据的安全,同时简化...
VPD是Oracle数据库提供的一种高级安全特性,用于实现数据的行级安全。VPD允许数据库根据用户的上下文信息动态过滤查询结果,即在用户尝试访问数据时,VPD会附加额外的访问条件,从而实现数据的隔离。这些附加条件...
Oracle8i中引入的Oracle行级安全性特性提供了细粒度的访问控制--细粒度意味着是在行一级上...使用Oracle的VPD功能不仅确保了企业能够构建安全的数据库来执行隐私政策,而且提供了应用程序开发的一个更加可管理的方法。
Oracle中的虚拟私有数据库(Virtual Private Database,VPD)是一种强大的安全机制,它提供了行级安全保护,确保数据的敏感性得到妥善管理。VPD允许根据用户的权限控制对数据行的访问,使得不同级别的用户只能看到...
6. **安全标签和多层安全**:Oracle 11g引入了Secure Application Roles和Virtual Private Database (VPD)等特性,允许基于用户、时间、地点等条件进行访问控制,实现数据的多层隔离。 7. **实时应用监控**:Oracle...
5. **安全增强**:VPD 结合了Oracle的其他安全特性,如行级安全性(RLS)和细粒度访问控制(FGAC),提供了更强大的安全层,防止非法访问和数据泄露。 在医院信息管理系统中,VPD 可以确保医生、护士、行政人员等...
2. **行级安全性**(Row-Level Security):使用虚拟私有数据库(Virtual Private Database, VPD)策略,可以基于用户的身份或会话属性限制对数据行的访问。这样,即使DBA登录,也只能看到他们有权查看的数据。 3. ...
这种方法可以实现行级安全,确保数据隐私。 2. **标签安全(Label Security)**:此特性允许根据数据的敏感程度进行分类和控制,确保只有具备相应安全级别的用户才能访问相应标签的数据。 3. **数据库加密(Database ...
除了角色和权限,Oracle还提供了行级和列级的访问控制,如虚拟私有数据库(Virtual Private Database, VPD)和列加密等特性,可以进一步增强数据安全性。VPD允许设置基于行的访问策略,使得不同用户只能看到他们有权...
Oracle9i引入了Fine-Grained Access Control (FGAC) 提供更细致的数据访问控制,以及Virtual Private Database (VPD) 实现基于行级的安全策略。 另外,Oracle9i的并行执行是提升大规模数据处理能力的关键。通过并行...
- **精细权限管理**:Oracle 11g2提供精细的权限控制,如行级安全性、列级安全性,以及虚拟私有数据库(VPD)策略。 - **审计功能**:系统审计跟踪数据库活动,为合规性和安全性提供保障。 5. **备份与恢复**: ...
7. **Virtual Private Database (VPD)**:VPD提供了一种行级的安全机制,可以根据用户的访问权限动态过滤数据,增强了数据的安全性。 8. **内置Java虚拟机(Built-in Java VM)**:Oracle 11g内置了Java虚拟机,使得...
例如,虚拟私有数据库(Virtual Private Database, VPD)允许根据用户角色或安全策略对数据进行行级访问控制,而透明数据加密(Transparent Data Encryption, TDE)则可以在不改变应用程序的情况下对表空间进行加密...
通过Fine-grained Access Control(FGAC)和Virtual Private Database(VPD),可以实现更高级别的数据安全。 8. **并行执行**:Oracle的并行执行机制将大任务分解为多个子任务,通过并行服务器(PGA和AGG)进行...
在数据库安全机理方面,Oracle支持多种安全机制,如行级和列级的权限控制,以及对象和系统级别的权限管理。此外,Oracle的虚拟私有数据库(VPD)功能允许创建基于用户、时间或其他条件的动态安全策略,进一步细化了...
Oracle中的虚拟专用数据库(VPD,Virtual Private Database)是一种强大的行级安全机制,它首次出现在Oracle8i中,被广泛应用于各种行业,如教育软件和金融服务。VPD的核心原理是通过对数据请求的透明修改,根据预...
虚拟私有数据库通过定义行级安全性策略限制用户访问权限,确保只有特定条件下的记录才可被查看或操作,增强了数据访问控制机制。 ### 总结 “Oracle 11i 实用大全第七部分”旨在帮助用户深入了解 Oracle 11i 的核心...