APP下载

基于OracleVPD技术实现系统可配置数据屏蔽

2018-03-05王立

医学信息 2018年22期
关键词:系统配置

王立

摘 要:本次研究基于Oracle VPD技术基础之上,改变了传统的建立视图屏蔽敏感数据的方法,实现了系统可配置数据屏蔽策略。简述Oracle VPD技术在运用中针对系统配置数据的屏蔽需求,及该技术的运用系统功能需求。在实现Oracle VPD技术控制的方案策略研究下,实现配置数据的有效屏蔽,满足我院对敏感数据的屏蔽需求。

关键词:Oracle VPD技术;系统配置;数据屏蔽

中图分类号:TP311.13 文獻标识码:B DOI:10.3969/j.issn.1006-1959.2018.22.004

文章编号:1006-1959(2018)22-0011-03

System Configurable Data Masking Based on Oracle VPD Technology

WANG Li

(Medical Information Center,Peking University People's Hospital,Beijing 100044,China)

Abstract:Based on the Oracle VPD technology, this study changed the traditional method of establishing view masking sensitive data and realized the system configurable data masking strategy. Briefly describe the shielding requirements of Oracle VPD technology for system configuration data, and the system function requirements of the technology. Under the research of the solution strategy of implementing Oracle VPD technology control, the effective shielding of configuration data is realized to meet the shielding requirements of sensitive data in our hospital.

Key words:Oracle VPD technology; System configuration; Data masking

随着各项新型技术设备的不断创新研发,被较为广泛的应用于我国医院的绝大多数日常工作中。出于对有关数据信息的安全及工作便捷性考虑,对敏感数据的屏蔽已经显得更加至关紧要。通常所采用的数据屏蔽方法,都是基于传统的构建视图方法,完成对有关敏感数据的屏蔽,借助不同授权用户的不同视图,完成对有关数据信息访问权限的控制[1-3]。此种情况通常需要构建诸多不同视图,存在系统开发较为复杂且整体管理不便的劣势。随着Oracle VPD技术的研发,譬如Oracle 8i系统能够有效的提供虚拟专用数据库(virtual private database),确保敏感数据的安全性,更加行之有效的实现有关数据的屏蔽[4,5]。

1 Oracle VPD技术概述

Oracle VPD技术在系统设计中,能够有效实现行级控制作用,针对不同的用户访问权限,可以看到不同的用户数据集,并且查看对授权用户的有关数据。对有关数据的查询及行级控制,主要是借助修改Oracle VPD的SQL查询功能。在用户输入后查询语句之后,会出现一条Where条件指令,完成相应的权限修改或添加,针对输出记录加以有效控制[6,7]。借助Oracle VPD技术,能够有效确保敏感数据的安全性,同时还能够运用更加便捷高效的系统开发方法,实现对敏感数据的安全屏蔽。在满足有关安全数据需求的情况下,无需变更应用代码,实现用户访问权限的变更。Oracle VPD技术所实现的针对性数据安全限制方法,主要是借助用户端完成SQL指令之后,PL/SQL函数根据不同的安全定义条件,基于SQL语句实现(WHERE子句)追加形成新的SQL语句执行口令,最终返回不同的记录中[8]。

2 Oracle VPD技术需求及方案设计

2.1业务及功能需求 在本院开展有关业务过程中,通常需要基于同一个OU下,根据不同部门完成相应的业务操作,同时确保不同的操作权限始终保持独立,有关工作人员只能对自己的权限信息屏蔽。基于上述业务需求,Oracle VPD应当基于不同的用户权限,设置差异性的订单类型,确保不同的订单信息,只有在特定的用户权限下拥有,并对权限信息进行屏蔽;不同科室的工作开展,只能使用自己科室价目表完成有关信息查询,并对价目表的科室信息加以屏蔽;不同科室可以根据具体的患者使用情况,及时修改相应的数据信息,并对患者的具体使用情况加以屏蔽;不同科室能够对自己科室内的有关订单信息加以查询及修改,之后对有关订单信息完成屏蔽。

2.2 Oracle VPD技术方案设计 Oracle VPD技术可以基于安全策略,动态化实现一个条件的行级管理来完成数据屏蔽,在实现一个或者多个的策略表视图函数关联之后,即完成了Oracle VPD的数据库功能。根据安全策略的测试用表,完成直接或者间接的数据源库调用,策略函数即可返回至一个访问条件,将应用程序添加至SQL语句后,实现动态化的用户修改数据访问权限。通常情况下,系统开发工作者在完成对部分存储过程的系统编写时,通过对SQL语句添加(SQL谓词)来实现对VPD的权限控制。VPD能够有效确保多名用户,无论基于哪种方式完成数据访问。只需要开发人员在Oracle-headers-all中添加“header-id>1000”的SQL条件谓词,那么任何程序在访问数据过程中,其真正运行的SQL语句均为“select*from oe-oeder-headers-all WHERE header-id>1000”,即实现了动态化生成条件谓词,确保了有关数据的动态化安全控制。

具体设计步骤如下:

为了实现VPD控制首先需要建一个策略函数,先建一个测试用表,插入测试数据,如:

create table cux_policy_test(code number,

name varchar2(30));

insert into cux_policy_test values('101','张三');

insert into cux_policy_test values('102','李四');

insert into cux_policy_test values('103','王五');

select * from cux_policy_test;

策略函数如下:

create OR REPLACE function t_policy(prm_schema

varchar2, prm_table varchar2)

return varchar2 is

l_where varchar2(300);

begin

l_where := ' code <> 102 ';

return l_where;

end;

在表中啟用策略函数:

BEGIN

Dbms_Rls.Add_Policy(object_name => 'cux_policy_test',

policy_name => 'cux_policy_t',

policy_function =>'t_policy' ,

enable =>TRUE );

END;

这时执行如下查询语句:

Select * from cux_policy_test;

只会显示code <> 102 的两条记录。

3 Oracle VPD技术方案应用效果分析

通过以上方法,有效的实现了基于应用系统的有关数据可屏蔽配置,同时也满足了数据的安全屏蔽需求。在我院的实际工作开展中,也实现了对ERP物流数据中不同维度的数据屏蔽(图1),其分别为物料类别、供应商类型、物料目标子库、物料来源子库。具体的定义策略函数条件子句见图2,实现不同职责可以查看的物料类型自定义(图3)。

由此可以发现VPD通过基于安全策略,实现动态化返回条件的行级数据屏蔽。在基于前台工作开展中,实现了对用户访问权限的控制,有效的减少了开发量,提升了代码的整体复用性能。

4 总结

通过在本次研究中,有效的实现了基于VPD安全策略的应用系统中有关数据的可屏蔽配置,同时也满足了数据的安全屏蔽需求,有效确保多名用户无论基于何种方式均可以完成数据访问。同时,真正运行的SQL语句能够实现动态化生成条件谓词,确保了有关数据的动态化安全控制。

参考文献:

[1]黄杰生,罗鹏,韩早强.基于虚拟专用数据库的高效数据访问权限控制[J].科技风,2017(1):160-161.

[2]Wang ZH,Wang ZY,Zhang M,et al.VPD fine-grained access control system[J].Journal of Computer Systems,2013,22(9):46-49.

[3]张连喜,王林.基于Oracle数据库的作战数据虚拟化安全应用方法研究[J].网络空间安全,2013,4(4):40-43.

[4]宋健.灵活可配置的供暖企业后端数据服务系统的设计与实现[D].北京邮电大学,2014.

[5]李广德,富丰珍,席本野,等.基于热扩散技术的三倍体毛白杨单木及林分蒸腾耗水研究[J].生态学报,2016,36(10):2945-2953.

[6]张京一.基于Hadoop的Web查询平台的权限控制与性能优化模块[D].北京邮电大学,2015.

[7]任刚,马友忠,马民生,等.可配置管理信息系统的数据库设计方法[J].现代电子技术,2010,33(14):76-77.

[8]Wang J,Zhang N,He TJ.Thoughts on AFC System Configurable Data/Service Exchange Platform[J].Metro Rail Transit,2015,28(1):8-11.

收稿日期:2018-5-9;修回日期:2018-6-7

编辑/钱洪飞

猜你喜欢

系统配置
针对不同空间的13套系统配置攻略 2020定制家庭影院组建推荐指南
计算机联锁系统配置软件设计与实现
5 000 t散货船清洁推进系统配置论证与控制设计
基于IEC61850的可视化系统配置器的设计与实现
一种1000MW机组超速保护系统配置方案
光伏电站储能系统配置研究