用Oracle10g列值掩码技术隐藏敏感数据

灯火容不得

灯火容不得

2016-01-29 14:40

用Oracle10g列值掩码技术隐藏敏感数据,用Oracle10g列值掩码技术隐藏敏感数据

Oracle的虚拟私有数据库特性(也称作细颗粒度存取控制)对诸如SELECT等数据管理语言DML语句提供行级安全性检查。PL/SQL策略函数和某个数据表相关联,这个函数可以检查当前用户的上下文背景并添加查询中WHERE语句的条件(断言),一个用户或者应用可以这样来写:


SELECT * FROM employees;但是实际上oracle将会执行这样的语句:SELECT * FROM employees            WHERE department_id = 60;

因此,只有在查寻范围之内的行(在department数据表中的前60行)才会被查询语句返回。利用oracle 10g中的新选项可以让oracle返回所有行,而不仅仅是被授权的行。然而,未被授权行中包含的某些列(称为安全相关列)将显示NULL来代替实际数据,而其它的列值将会正常显示。

要想使用列值掩码必须在虚拟私有数据库策略中做两件事。

首先必须创建一个列级策略来设计某些列为安全相关列.其次必须在查询中包含ALL_ROWS选项以用来返回所有行。这两个参数的结合就可以实现列值掩码。

CREATE OR REPLACEFUNCTION rls_dept (obj_owner IN VARCHAR2, obj_name IN VARCHAR2)RETURN VARCHAR2ASpredicate                 VARCHAR2 (200);BEGINpredicate := 'department_id = 60';RETURN (predicate);END rls_dept;            /

列表A

列表A显示了一个称为rls_dept的策略函数。它返回断言“department_id=60”,用来设定对于EMPLOYEES表中60行之内的department字段。(实际上,这个函数并不返回一个静态表,它可以确定当前用户是谁,并据此返回给该用户正确的部门值。)

BEGINDBMS_RLS.ADD_POLICY(object_schema='HR', object_name='EMPLOYEES',policy_name='restrict_dept_policy',function_schema='HR',policy_function='rls_dept',sec_relevant_cols='salary,commission_pct',sec_relevant_cols_opt=dbms_rls.ALL_ROWS);END;            /

列表B

列表B显示了如何应用列表A中的函数创建列值掩码。在DBMS_RLS包中的过程ADD_POLICY创建一个称为restrict_dept_policy的新策略。参数sec_relevant_cols表明字段salary和commission_pct是安全相关列。一个包含上述两个字段的查询将会应用到该策略函数,不包含的查询就不会应用该策略。最后,参数sec_relevant_cols_opts设定为常量ALL_ROWS。

列值掩码应用于SELECT语句,无论哪个客户访问数据库都可以实施列值掩码,诸如SQL *Plus、.NET应用或者其它工具。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)
展开更多 50%)
分享

猜你喜欢

用Oracle10g列值掩码技术隐藏敏感数据

电脑网络
用Oracle10g列值掩码技术隐藏敏感数据

用Oracle 10g列值掩码技术隐藏敏感数据

编程语言 网络编程
用Oracle 10g列值掩码技术隐藏敏感数据

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

如何利用oracle 10g的列值掩码技术隐藏敏感数据

编程语言 网络编程
如何利用oracle 10g的列值掩码技术隐藏敏感数据

oracle10g 数据备份与导入

编程语言 网络编程
oracle10g 数据备份与导入

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Oracle 10g列掩码与关系视图比较

编程语言 网络编程
Oracle 10g列掩码与关系视图比较

Oracle10g 安装方法

编程语言 网络编程
Oracle10g 安装方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用PHP读取IMAP邮件

用PHP读取IMAP邮件

在ORACLE中实现SELECTTOPN的方法

在ORACLE中实现SELECTTOPN的方法
下拉加载更多内容 ↓