TechTarget中国网站推荐
您现在的位置:TT SOA > 数据服务 > SOA和数据安全

SOA和数据安全

2008-2-21  选择字号:  | |
打印本文章
正在加载数据...

  在和用户谈论有关SOA实现时,经常会涉及到数据隐私这个话题。它的典型用例类似于多组用户需要访问相同的数据库,但是鉴于法律或企业原因而无法查看其他用户的信息。例如,HR是非常重要的敏感信息,企业的其他部门都不能访问,类似信息还包括销售预测、生产配额和企业发展规划。很多数据被存储在数据库中,其安全程度并不比每个应用程序组的基本身份验证和私有视图/表高多少。

  问题随着SOA的应用而加剧,当您开始使用启用服务的数据时,如何确保数据的使用者只能访问其权限范围内的数据。强制的解决方案将仅仅关闭那些您无权查看的服务。但是这样会造成服务延迟,因为您不得不为每个新用户创建新的服务。因此问题实际上就是:在不编写大量需要在终端保护的自定义服务代理情况下,如何对面向服务的数据实施安全策略?

  AquaLogic Enterprise Security提高了一种细粒度授权策略引擎,它可以说明如何授权或者如何拒绝对某行数据的单个值的访问。在我们的最新版本中,我们实现了ALES和AquaLogic Data Services Platform (ALDSP)之间的有趣集成,这样,您就可以使用XQuery语句作为策略定义的一部分。这就是说,您可以调用一个ALDSP服务获取数据,并自动使ALES应用XQuery“收缩”过滤器作为安全检查的一部分。

  例如,假如您具有一个可以检索投资基金列表的数据服务:

  如果您以前没有在工作区内见过ALDSP服务的话,那么这里简单介绍一下:数据服务方法为“getFunds”(左侧),返回数据的状态显示在中间(FUND)。数据服务本身使用XQuery编码,而ALDSP在后台将其转换为相应的SQL格式。这种转换最关键的一点是结果集的状态,注意,我们具有一个名为“FUND_TYPE”的元素,它可能是“EQTY”、“BOND”或“FX”等。

  现在假设根据基金类型(股票、债券等)将基金经理人划分为若干组。在ALES中,我们可以定义一组策略,这些策略提供了XQuery形式的数据修正过滤器,因此只返回某一类型的基金:

  我们可以阅读这些策略,比如“grant access to the DataServices/Invest/FUND.ds/getFunds method for group equity_fund_manager, returning aldsp_xquery_expression "./FUND_TYPE = 'EQTY'”。每种基金类型的策略都有所不同,并且将根据用户所属的组来实施这些策略。

  这种方法具有如下几种优点:

  数据修正策略完全独立于数据服务定义——所有的用户可以调用同一个getFunds方法,而ALES在后台删除用户无权访问的数据行。安全策略可独立于服务定义进行开发。

  所有用户只需要一种数据服务——因此不需要为每种用户类型构建单独的getEquityFunds、getBondFunds、getFXFunds等。

  在ALDSP将结果返回给调用方之前进行数据修正——因此即使我们只关心一百万条基金记录中的三种债券记录,也不会带来性能损失。

  ALES对数据修正进行了充分的审计,因此我们可以跟踪服务调用的次数,以及未授权用户是否试图查看他无权访问的数据行。

  整个实现过程没有进行任何编码——数据服务在工作区中以可视方式创建,并且ALES策略是通过管理控制台以可视方式创建的。惟一需要编写的代码是服务消费者(我们甚至可以使用ALDSP Service Control简化这一过程)。

来源:IT168    作者:Bill Dettelback    
采用面向服务架构(SOA)中常见的错误易于理解,只要稍加努力,就可以避免这些错误。忽视这些错误(因而重蹈覆辙)可能导致你为引入SOA而付出的全部努力偏离轨道……
SOA、虚拟化甚至刀片服务器是目前数据中心最热门的技术方向。SOA解决了业务灵活性问题,虚拟化改变了基础架构,在提高计算密度的同时提高了服务器部署的灵活性和可靠性……
一般情况下,SOA呼声最高的是各种技术平台下的应用集成,似乎快速搭建应用的各种技术把人们的眼球全部都吸引光了,而在数据方面却很少有人会静下心来好好思索……
前面抛出了问题的所在,下面该讲解决方案了。 SOA中数据环境的目标展望组织思考应用和数据的方式必须演进--必须停止将数据认为是“二类公民”……
SOA是面向服务体系结构(Service Oriented Architecture)的缩写,其主要是由面向对象(object-oriented)式软件组件以松散藕合(loosely coupled)的方式组成……
面向服务的架构(SOA)是一种基于可以重用的服务的,新的开发应用的架构体系. 近年来, 企业界对于SOA的需求越来越急切. 为了满足这样的需求, 一系列的SOA基础架构产品被推出. 主要的厂商如Oracle, BEA System, IBM都提供了SOA平台产品. 在一个包含各类应用的复杂的IT系统中, 要使用适配器并且在一个符合业务需求的流程中将各类应用串连在一起是一个非常困难的事情, 但是现在的SOA平台将困难转变成了容易。
Web 2.0是2003年之后互联网的热门概念之一,不过对什么是Web2.0并没有很严格的定义。一般来说Web 2.0是相对Web1.0的新的一类互联网应用的统称。
Ruby on Rails, 也称RoR或简称Rails, 是一个使用Ruby语言写的开源网络应用框架,它是严格按照MVC结构开发的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少的配置。
最新更新
专家答疑
技巧
Jason Bloomberg
企业是否应该意识到,云计算有许多积极因素,是否也有负面影响呢?重要的是要记住,云计算仍然非常新,而且在许多方面比vaporware更现实……
Ron Schmelzer,Jason Bloomberg
我们正在进入多元化的银行和金融服务,我们处理客户关系管理CRM,BI,遗产系统,产品J2EE和.NET和其他异构平台。如果我们想要转移到一个共同的平台,为什么要选择SOA……
Ed Tittel
在您最近的博客中提到,在XML.com中有你喜欢的XML内容。关于XML的信息还可通过什么途径可以得到?请与我们分享更多的来源……