SOA安全的最简单和最常用的方法是在虚拟专用网上传送服务请求。这为简单的、粗颗粒的请求提供了充分的安全。它兼容SOAP、REST和非Web服务协议,甚至对于许多外部的集成情况都是非常充分的。不过,并非所有的安全情况都是简单的。对于更复杂的需求和精细的SOA安全,设计师必须进行大量的规划和设计。
SOA安全的最简单和最常用的方法是在虚拟专用网上传送服务请求。这为简单的、粗颗粒的请求提供了充分的安全。它兼容SOAP、REST和非Web服务协议,甚至对于许多外部的集成情况都是非常充分的。不过,并非所有的安全情况都是简单的。对于更复杂的需求和精细的SOA安全,设计师必须进行大量的规划和设计。为了制定一个全面的战略和SOA安全架构,设计师必须考虑安全要求、业务状况和应用程序基础设施的广泛的多样性,把多种产品、标准和客户化制作的组件结合到一个灵活的和强大的SOA安全解决方案。
至少有10种产品种类能够在SOA安全战略中发挥作用并且这些产品存在功能重叠的地方。SOA的构件结构和Web服务安全技术规范意味着设计师必须认真规划他们将使用哪一种技术规范和什么时候使用这个技术规范。拥有不同安全要求的业务情况也许需要不同的技术规范和产品的组合。标准和技术规范仍在成熟之中,这进一步增加了复杂性。因此,这个行业还缺少许多技术规范的最佳做法。设计师也许面临额外的挑战,包括分散的SOA基础设施、多种SOA消息交换方式、把多个环境的安全统一起来的需求以及在一个服务呼叫另一个服务时在多个层次上传送身份识别的需求。这还没有提到一些常见的问题,如机构之间的摩擦、成本和架构治理的困难等等。
由于这些复杂性,几乎没有企业承受得起建立一个完整的和全面的SOA安全解决方案的前期投资。这些SOA安全解决方案将解决所有未来的需求。这意味着设计师的最终挑战是要随着时间的推移逐步总结出一个全面的解决方案。为了帮助执行这个逐步增强的方法,这里有四个广泛的解决方案方式。这些方式表明如何把不同的产品结合为一个SOA安全解决方案以满足目前的需求以及表明目前的解决方案如何为未来的需求开辟一个道路。
方案1:简单的虚拟专用网在短时间内提供一个基本的解决方案
作为一个共同的起点,一些SOA用户有一些直接的方案,要求他们迅速找到一个可接受的、即使是不理想的SOA安全解决方案。在这些情况下,SOA请求和回应仅使用传输级安全进行保护。采用SOAP和REST协议,这个工作一般是通过双向SSL(安全套接层)完成的。采用虚拟专用网连接,甚至在公共互联网上的请求也是保密的和安全的。简单的虚拟专用网方法通常使用明确的身份识别:任何通过虚拟专用传送的请求都允许访问可用的服务。虽然一条简单的VPN线路支持单个用户的身份识别,但是,这种应用是很少的,因为管理每一个用户的证书管理成本太高。一条简单的虚拟专用网线路通常配置为这项服务的用户平台与这个服务平台之间的一条直接的传送级连接。这个服务平台也许是一台应用服务器或者是一个简单的Web服务环境。在Forrester进行的一项调查中,三分之二的SOA用户说仅仅使用一条简单的虚拟专用网线路是他们SOA安全武器库中的一个重要选择。
方案2:根据应用服务器完成审计和遵守法规的要求
这个连续的统一体的中间分为两种方法,一种是中间的方法,另一种是基于应用服务器的方法。这两种方法中的每一个方法都能够处理身份识别和单个用户的授权。这种基于应用服务器的方法是在服务实施平台中的SOA安全功能的基础上建立起来的。通过允许服务平台根据实际的最终用户保持安全环境,这种方法使实施高级的身份识别战略更加方便。这种方法还允许审计登记记录实际的最终用户服务请求活动。这对于详细的审计和遵守隐私和其它规定是非常重要的。虽然这有不要求对新的SOA特殊产品进行现金投资的优势,但是,如果一个企业有多个平台,配置和集成工作也许会使这个解决方案的工作时间成本相当于或者甚至超过购买和配置SOA专业产品的成本。
基于应用服务器的SOA安全通常使用一种简单的虚拟专用网连接作为基础。这种方案的一种可能的扩展也许包括使用一种SOA插件或者来自单一登录或者身份识别管理环境的应用服务器安全插件以便提供一台应用服务器和由身份识别管理产品控制的其它应用资产之间的一致的安全性。
方案3:单个的直接的整合安全流程
这个连续的统一体中间的另一边是单个的直接的方法。这种方法把SOA安全功能重点放在位于服务实施平台前面的强制执行政策点上。这种方法简化了SOA安全,提供了一个单一的解决方案(包括中间的和管理的工具)。这些工具能够提供所有的SOA服务的安全(至少对于消息格式和中间软件支持的协议是如此)。然而,在单纯地实施这种方法的过程中,服务平台实际上将关闭SOA安全功能以支持可信赖的所有的SOA安全的中间软件。这种中间软件也许由几种不同种类的产品提供,包括SOA设备、SOA管理解决方案、企业服务总线、以集成为中心的业务流程管理套装软件或者专业的SOA安全产品。
一个单个的中间软件的方法也许还使用一个简单的虚拟专用网连接作为基础。这种中间软件处理所有的SOA安全流程。因此,不要求服务平台拥有任何具体的SOA安全支持。这将允许这个解决方案支持广泛的服务平台。
方案4:由经纪人安排的、分层次的、统一的提供全面的SOA安全
在这个连续的统一体的远端,SOA安全解决方案深入地集成到服务电话的多个层次中,以保证每一个服务平台都能够访问用户的身份,支持联合和令牌交换等高级的安全方案。目前,甚至没有几家公司接近这种类型的解决方案。然而,随着SOA安全解决方案、标准和产品的成熟,以及随着隐私和金融法规越来越严格,高级的SOA解决方案将更可行(在财务上和在技术上都更可行性),甚至会出现一些强制执行的方案。由经纪人安排的、分层次的、统一的SOA安全解决方案将使用多种标准,集成多种产品并且很可能需要客户化的集成以便把所有这些功能结合起来。
为了说明你的SOA安全战略的发展,你要尽可能在设计中让比较简单的SOA安全方式与更复杂的方式统一起来。虽然你的机构已经适应了在安全上做出让步以避开由经纪人安排的、分层次的、统一的安全战略的成本,但是,随着SOA安全的成熟以及网络安全需求的增长,更高级的安全战略将更容易获得和更强制地执行。