策略驱动的服务安全

日期: 2010-02-01 作者:肖波&于世伟 来源:TechTarget中国 英文

    在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的松散灵活的服务架构来实现更高级别的对于服务安全的需求。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • SOA治理模型核心:人

    治理在IT领域非常关键,但是很多时候企业的做法往往太过单向,企业SOA治理模型往往忽视了所有部分当中最关键的组件:人。

  • 如何使用SOA治理工具保证项目进度

    由API的增加以及为业务应用创建出简单好用接口的需求增长所驱动,这些合并的API-GRC工具帮助开发人员创建,发布,管理并且推广API的使用。

  • SOA治理工具优势:自动化、集中化

    SOA项目出现了失去控制的倾向,有可能会导致SOA行动出轨,失去对未来努力的支持,并且浪费时间和资源。

  • SOA架构:为什么需要API管理?

    为什么我需要API管理?它能带来哪些好处?其实只是术语变了,但需求还是一样的。在SOA炒作的鼎盛时期,厂商们都宣扬他们的产品支持SOA治理。