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

mpfshine

mpfshine

2016-02-19 14:37

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐如何利用oracle 10g的列值掩码技术隐藏敏感数据,无聊中的都看过来。

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选项以用来返回所有行。这两个参数的结合就可以实现列值掩码。列表A显示了一个称为rls_dept的策略函数。它返回断言“department_id=60”,用来设定对于EMPLOYEES表中60行之内的department字段。

(实际上,这个函数并不返回一个静态表,它可以确定当前用户是谁,并据此返回给该用户正确的部门值。)列表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应用或者其它工具。 列表A: CREATE OR REPLACE

FUNCTION rls_dept (obj_owner IN VARCHAR2, obj_name IN VARCHAR2)

RETURN VARCHAR2

AS

predicate                 

VARCHAR2 (200);

BEGIN

predicate := 'department_id = 60';

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

RETURN (predicate);

END rls_dept;

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

/

列表B: BEGIN

DBMS_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;

/

展开更多 50%)
分享

猜你喜欢

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

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

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

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

s8lol主宰符文怎么配

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

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

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

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

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

lol偷钱流符文搭配推荐

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

Oracle 10g学习之数据库恢复

编程语言 网络编程
Oracle 10g学习之数据库恢复

Oracle 10g中利用哈希函数提高查询速度

编程语言 网络编程
Oracle 10g中利用哈希函数提高查询速度

lolAD刺客新符文搭配推荐

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

jquery 输入框数字限制插件

jquery 输入框数字限制插件

如何找出Mac OS X Lion消失的滚动条

如何找出Mac OS X Lion消失的滚动条
下拉加载更多内容 ↓