当前位置:支点网 >> 资讯
滚动新闻:

SOA安全性基础知识:创建任何人使用的设计

作者:佚名  来源:TechTarget中国  时间:2008-7-1 17:24:26
  本系列讨论面向服务的体系结构(Service-Oriented Architecture,SOA)安全性实现路线图。本系列共包括三个部分,本文是其中的第二部分,将讨论可帮助SOA安全团队开发成功的高层次设计的规则。

 

  表2. SOA安全需求

  需求编号 服务 描述

  1 Identification 所有主体必须能够唯一进行标识。
  2 Identification 安全性必须提供分配给所有指定主体的唯一标识的机制。
  3 Identification 安全性必须提供记录何时添加、删除或修改主体的标识。
  4 Identification 安全性必须提供用于管理标识的管理接口。

  可以通过主体/服务表对此关联关系进行进一步说明,此表在构造HLD时非常有用。表3所示的就是一个这样的表格。

  表3. SOA安全主体/服务表

  审核 身份验证 凭据 标识
  应用程序或服务   X
  硬件   X
  消息   X
  编排   X
  服务组件   X
  SOA组件 (ESB)   X
  用户   X
  实用工具   X

  请注意,此流程不是静态的,而是动态的:收集了足够的需求后,团队就基本上准备好开始初级HLD的工作了。随着其他需求的添加,将继续影响HLD。而且,随着HLD的不断充实,在达到稳定状态(一个文档中的更改不会对其他文档造成影响)前,也可能会出现其他意料之外的需求。

  首先,团队不应太过于关注一个体系结构概念,因为创建SOA HLD的过程可能变化非常大,涉及到很多涉众。因此,最好使用有助于HLD设计和HLD设计管理流程的工具。SOA安全团队成员应该熟悉“Developing a J2EE Architecture with Rational Software Architect Using the Rational Unified Process”之类在线教程。同样,HLD的目的首先是向SOA安全团队进行清楚地说明。然后,应该与EA合作,确保文档与企业模型的总体体系结构概念一致。

  创建关系图

  让我们从图2所示的简单关系图开始。

  图2. SOA安全集合

  这里的“SOA安全集合”代表满足所有SOA安全需求的所有安全服务。它渗透到整个SOA实现中,可以充分满足当前和以后的需求。值得注意的是,此关系图满足前五个规则,即:

  ·为关系图或关系图组。
  ·开始时尽可能简单尽可能抽象。
  ·所有涉众都能够理解。
  ·满足需求文档中列出的整个需求集。
  ·使用的关系图数量尽可能少。(只有一个关系图最好了,但并非总是可行。)

  不过,图2并不满足任何其他规则,因此必须对其进行进一步的优化,不过务必注意,这样的关系图比一张白纸可有用得多。

  通过在下一个关系图(图3)中将图2作为基础关系图使用,可向您的SOA集合添加SOA安全服务、主体和主体交互元素。此外,还可包括第三方工具和电子边界之类的元素。除了主体与安全服务的中间层之间的交互外,还要考虑除了SOA安全性提供的服务外还提供关键服务的第三方工具和服务。

  图3. SOA安全集合(细节)

  仔细研究一下这个关系图,会发现此图满足其他规则需求,包括:

  ·包含所有主要对象,但必须对其进行保护,并以通用的方式对其进行表示
  ·包含对象间所有的关键安全关系
  ·利用面向对象的概念,如封装、继承和多态性

  图3保护此实现的所有主要SOA安全服务。可以根据需要包括其他服务,但包括超过三个或四个服务并不会得到更多的信息。图3也包含所有的主体:通过使用不同的形状,可将其用于以多态的方式表示所有主体交互。

  如果假定每个主体的每个边界都是执行点(EP)和决策点(DP),则已在此关系图中包含了HLD所需的所有元素。将不会提供关于这些EP或DP将如何实现的细节:这些细节将在详细设计部分予以介绍。

  创建DLD

  以此HLD为基础,您可以着手生成DLD(首要规则第10条)。在这种情况下,可以使用与产品无关的统一建模语言(Unified Modeling Language,UML)概念来说明SOA安全服务之间的关系,如图4中所示。

  图4. 主要安全组件

  在图4中,根据HLD关系图提供了安全服务的详细组件关系图。

  总结

  创建SOA安全HLD时,务必从详细需求开始着手。通过使用正确的工具设计和管理流程,并遵循本文中的首要规则,您和SOA安全团队可以创建所有人都认为清楚的HLD,而不会陷入概念的泥潭中。

  本系列的下一篇文章(最后一篇)将重点讨论创建用于生成SOA安全测试用例的有用概念。为了遵循规则10,您将使用此HLD开始生成测试用例。在此之前,欢迎您提供有用的意见和建议。

  关于作者

  John Betancourt是Intelleges的总裁兼CEO,该公司的业务重点是供应链安全性、大型SOA实现和网络安全性。

[1] [2] 
责任编辑:李伟
【字体: 】【打印此文】【关闭窗口】【论坛
相关信息
相关评论