策略驱动的服务安全

 
   | |

导读:本系列文章将通过对策略驱动服务安全治理的介绍,展示如何在SOA治理的框架中实现服务安全问题与业务问题的解耦,如何处理SOA安全中的加解密、数字签名、身份认证和服务访问授权等问题,以及如何把SOA安全的灵活性与高性能统一在一个解决方案中。

关键词:SOA治理 策略驱动服务安全

 
正在加载数据...

    在SOA治理的支撑下,策略驱动的服务安全解决方案,使业务需求产生出来的目标在操作层面上能够得到很好的贯彻和执行。总的说来,策略驱动的服务安全能够提供:

  控制的可见性:策略是控制逻辑的具体表现,而不会像硬编码那样分散在系统的各个角落难以可视化;

  高度的灵活性:能够快速响应市场竞争或者企业自身、行业内部规程和法规的变化;

  能够做到一致性管理,利用策略配置的工具能够做到策略的一致性管理,并很少发生配置错误;

  能够充分保证服务和应用都是满足控制要求的,特别是对于外部的访问者;

  能够降低花销和节省时间,不需要设计、编写、测试、部署和维护硬编码。

  策略驱动的服务安全解决方案是策略驱动的服务治理的一部分。用策略驱动的方式来进行服务安全管理时,应该参考策略管理生命周期(Policy Management Life Cycle),如下图所示。

图 3. 策略管理生命周期

图 1. 策略管理生命周期

    策略管理生命周期是一个闭环的四段方法论。

  策略撰写(Author),依据业务和技术需求识别、设计、编写和巩固策略,并识别出有可能被策略影响到的利益相关者;
 
  策略转换(Transform),把撰写的策略(有可能还是业务需求的形式)转化成可以执行的形式,并把它部署到策略实施点(Policy Enforcement Point, PEP);

  策略实施(Enforce),在运行的环境中实施已经部署的策略;

  策略监控(Monitor),测量、分析和报告策略的运行数据,检查策略的满足性要求,并把监控的结果作为输入进入下一个回环的撰写阶段的输入,以便进一步完善策略满足新的业务需求。
 
  在策略驱动的服务治理中,策略被分为三个层面:

  业务层面,把策略描述为业务某种形式的说明;

  架构层面,把策略明确为架构风格和开发模式;
 
  实施层面,把策略细化为各种配置条目。

  在实际应用中,策略应用有不同的方面。除了本系列文章要讨论的涉及服务安全方面的策略,实际的应用环境中往往还有服务质量、业务规程等方面的策略。无论对哪方面的策略,从业务、架构和实施三个层面看到的策略形式是一个逐步细化的过程,如下表所示。

表 1. 策略的层面

 层面 服务安全 服务质量 业务规程
 业务层面安全与隐私策略
所有个人信息必须被保护
业务服务策略
白金卡客户优先访问服务
 业务策略
保证所有的财务事务满足法律法规
 架构层面应用安全策略
所有的经理只能访问他们自己的直接客户的信用记录
服务生命周期策略
所有部署的服务被分类
部署生命周期策略
所有的服务必须是原创的
 实施层面 访问控制策略
消息应当被数字签名,访问通过授权
服务级策略
白金卡服务的响应时间必须小于 X 秒
原创认证策略
每部分代码都要有相应的所有者

 
  事实上,IBM提出了多种SOA策略,下面是一些具体的例子。

图 2. 多种不同策略示例

图 2. 多种不同策略示例

    消息安全策略(Message Security Policy),消息内容的加密和签名,使得消息内容不能被偷窥和篡改;

  访问控制策略(Access Control Policy),细粒度的访问控制,使得能够灵活控制敏感信息不会泄露;

  可靠消息递送策略(Reliable Messaging Policy),消息不会由于传递路径中某些节点的故障而丢失,能够保证消息传递到目的地;

  服务生命周期策略(Service Lifecycle Policy),为服务在生命周期转换的时候指定一个或多个验证器,以保证服务满足某些规程;
 
  WS-I符合策略(WS-I Compliance Policy),WSDL 都满足 WS-I 规范,使得 J2EE 平台的 WEB 服务能够和 .NET 平台的 WEB 服务互操作;

  原创认证策略(Certificate of Originality Policy),应用的代码都要原创,不能抄袭任何拥有知识产权的系统的代码,以免带来法律上的风险。

  在这6种策略格式里,应在构建时(Buildtime)实施的策略是服务生命周期策略、WS-I符合策略和原创认证策略,应在运行时(Runtime)实施的是消息安全策略、访问控制策略和可靠消息递送策略。在服务安全方面,主要是消息安全策略和访问控制策略,在本系列后续文章中我们将进行更详细的介绍。

  表 2. 传统IT安全与策略驱动的服务安全的比较

 层面 与业务耦合性 管理方式 资源的调配互联协议支持 
 传统IT安全解决方案强,安全逻辑和业务逻辑不能很好的分离,安全逻辑的更改会影响业务逻辑分散式管理,每个系统需要各自维护一套安全方案 安全处理占用业务处理的 IT 资源,影响业务处理能力  和底层互联协议安全相绑定 
 策略驱动的服务安全解决方案弱,安全代码和业务代码很容易分离,安全逻辑的更改不会影响业务逻辑  集中式管理,跨越系统,实现统一创建、分发、实施策略。安全作为服务 (SasS) 不占用业务处理的 IT 资源,提高业务处理能力  依靠 ESB 的能力实现和协议无关的数据安全处理能力

  这里需要指出的是,基于策略的服务安全方案的出现并不会取代以往的企业应用安全方案,而是随着企业SOA战略实施的不断改进和对旧有系统的改造与重用,在原有的安全方案上的补充和提高,借助于SOA的松散灵活的服务架构来实现更高级别的对于服务安全的需求。


揭开WebLogic Web服务安全性的面纱
 揭开WebLogic Web服务安全性的面纱(一)
 揭开WebLogic Web服务安全性的面纱(二)
 揭开WebLogic Web服务安全性的面纱(三)
 Web服务安全技术(二)
 Web服务安全技术(一)
 策略驱动的服务安全

原文出处:http://www.ibm.com/developerworks/cn/webservices/1001_xiaobo_soasecurity/
 
来源:IBM    作者:肖波&于世伟    
 
 
 
 
 

SOA与Web服务安全

 
由于微软Azure在市场上可以买到并且于二月份开始付费使用,微软就云计算向美国国会献策。本周微软高级副总裁Brad Smith就颁布一项……
 
由于Web服务的安全要求至少有点模糊的事实,这个情况恶化。Web服务应该是灵活的,以至于其他程序员能用他们来编排Web服务创建者也许没有想象……
 
可扩展标识语言(XML)、Web服务和面向服务架构(SOA)在软件开发领域是最流行的东西。这些流行词在拥有成百上千个独立系统的大型企业中……
 
在面向服务架构中,测试并不能够节省应用程序的运行时间。 没错,运行时间进程和环境必须被测试,但是,通过在细微的视角审视服务的能力极限……
 
如果Wall Street实施健壮的企业架构,经济萎缩应该已经避免了——至少如果你问企业架构新书编者Leon Kappelman……

热门技术手册排行

 

随着开源技术越来越成熟,一个稍有开发经验的人通过学习就可以用开源的产品和技术构建一套可用的系统。对于从事软件开发的人员,尤其是对Java或动态语言相关领域的人来说,“开源”也许是他们最喜爱的单词。但是,很多时候我们需要的不仅仅是一个可用的系统,而是希望这个系统开发更简易、性能更高和扩展性更好等。这确实是一个令人头痛的问题。本指南很多地方都是点到为止,要深入了解相关信息的读者请借助参考资料、网站等自行挖掘。

 

本专题分六部分探讨SOA设计模式,当初设计面向服务架构的一大初衷就是降低服务间耦合度,由此提高服务的灵活性和自由度。

 

业务流程管理(business process management,bpm)不是一个新概念,甚至不是一个新名词。它是从相关的业务流程变革领域,如业务流程改进(bpi)、业务流程重组(bpr)、业务流程革新中发展起来的。流程管理技术也是从早期的工作流管理、eai、流程自动化、流程集成、流程建模、流程优化等技术中发展起来的。

 

TOAGF是一个架构框架,简而言之,TOGAF是一种协助发展,验收,运行,使用,和维护架构的工具。它是基于一个迭代(Iterative)的过程模型,支持最佳实践和一套可重用的现有架构资产。

 

云计算的概念越来越流行,Amazon、Google和IBM是第一批将云计算引入公众视线的公司。云计算就是新的Web2.0,一种既有技术上的市场绽放。

 

Mashup是一个非常cool的新的应用程序种类。如果你想真正的了解它们,我们需要回过头来看看你现在的计算机,其实它就是一个非常好的帮助你理解mashup的模型。现在开源的操作系统无疑是非常好的apis的集合或应用程序编程接口,帮助开发者去构建其应用程序。计算机本身也是一个很好的为用户提供接口的例子,键盘和鼠标可以被理解为你通过计算机的接口而使用的不同的应用程序。本技术手册为读者提供了一些相关信息,如果需要深入了解mashup,读者可以借助其他参考资源。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录