Welcome

首页 / 软件开发 / 数据结构与算法 / 在SOA和云中我们真的需要身份传递吗

在SOA和云中我们真的需要身份传递吗2013-11-17 infoq 译:陈菲IT 开发者,尤其IT安全专家已经为创建一个企业级的身份控制机制奋斗了多年。在这一领域最广为人知的 倡议和模型就是单点登陆(SSO),单个终端用户的身份能够在系统间传递并能在整个企业内被认知。

在当今的IT环境下,安全问题还必须要处理面向服务的环境以及云计算(简称云)。许多企业安全专家及供应 商都有对服务和云在SSO方面的考虑。尽管如此,一个简单的问题仍然需要被回答,那就是从商业视角来看, 建立SSO对于SOA和云可行吗?在开发该SSO之前,我们必须明白当我们进入面向服务的生态系统(SO Ecosystem)和云时,身份控制的安全执行环境已经改变。

面向服务的生态系统

OASIS参考架构 基金会(SOA-RAF)[1] 把面向服务的体系结构(SOA)扩展到了包含关注SOA架构的SO生态系统概念。SO生态 系统可以解释为“一个空间中,人、流程和机器共同采取行动,把业务能力作为服务提供给自己及更大的社区 以实现目标”。

在一个SO生态系统中,可能没有一个人或者组织能真正控制或者负责整个生态系统。 任何“中心化”的基础设施,管理或控制功能,以安全性为例,只存在于签订了自由商业合同的单个服务间, 如他们的供应商之间或业主之间。一个SO生态系统和业务以及技术都相关联的。这就允许维护者同时关注技术 及业务。举例来说,在云中,技术方面的标识管理受到提供云业务的财务关系及其它约束的影响。

所 有权的约束

SOA-RAF为SO生态系统中的所有权定义了一个视角:“该视角关注了SO生态系统中对于拥有 和管理基于SOA系统的顾虑。很多这类顾虑往往无法通过自动化来解决;与此相反,它们往往包含基于人的流 程,比如:治理体。”

SOA-RAF继续强调,“所有权……在SO生态系统中提出了大量的拥有其他复杂系 统的不同挑战,比如:企业套件。因为当某一系统跨越多个拥有域时,任意一方在控制和授权上都有严格的限 制。”所有权这一概念在企业安全上并没有真正得到考虑,因为企业本身就是由一个单一所有制域组成的。

 

该单一所有制域允许了SSO,同时忽略了新老系统的混合,其应用 只有嵌入的安全体制或根本就没有。在企业里,安全专家往往拥有IT里每个系统无限制的权限,并对他们信息 系统里所有企业单元的安全负有责任。一个SO生态系统渗透着所有制边界,安全专家需要处理有着不同商业, 技术和安全需求的多种所有制域。

服务所有权边界

SOA-RAF声明每个服务所有者或提供者都可 能有自己的特殊权利或政策。由于企业中最重要的服务是商业服务,它们一般都有不属于IT管辖范畴的商业所 有者,比如:BU,组或团队,部门或业务线(LOB)。在这种情况下,IT只是一个开发和维护协助者,而非所 有者。而这恰恰又极大地影响了安全解决方案。

SOA-RAF解释道,“就算……是在一个单一的组织内, 不同的团队和部门之间也都经常存在所有权边界问题。这体现了组织现实情况的同时,也反应了组织管理层的 真正意图和动机…因此,尽早考虑多边界给基于SOA系统所带来的影响,就为处理任意形式存在的边界提供了 坚实的基础,而不是考虑这些边界是否会存在。”

业务及其技术服务,可能属于同一安全/身份域,形 成了与其一致的商业所有权和相应的边界线。此外,一个域可能覆盖一个或多个业务的所有权,形成了该域的 认证权威。

商业服务这一概念可能能通过“SOA所有权的骑士法则”[2]来总结:

该服务是我的,但是又不是我的

该顾客是我的,但是又不是我的

该伙伴是我的,但是又不是我的

该供应商是我的,但是又不是我的

换句话说,服务或者客户只知晓和见到他们的直接联系人。他们并不关心他们的联系人如何执行或他们在 其商业交易中为谁服务。如果现实中,他们中有任意一人关心的话,就表明了该面向服务并没有完全实现。

商业所有权边界

商业所有权的问题在于它的边界对技术解决方案的不透明化,包括服务及其相 关的安全控制。在一个身份域中,参与者可能同意承认彼此身份,然后整个系统将如同任意有SSO的企业般工 作。同样,参与者可能拒绝开放他们的边界。任意一个商业或服务所有权彼此间都互不依赖(否则就不是一个 所有权)。这意味着如果安全专家需要修改与服务相关的安全信息,就需要从其所有者那里获得同意。

进一步说,IT不能简单地强制使用特定的安全服务,比如:政策执行,认证服务,授权服务,身份管 理服务之类。需要首先征得商业服务及其客户的准许才可以。SOA-RAF里规定这类协定以服务合同的形式存在 。实际上,在SO生态系统中,服务合同集代替了集中的验证和授权。

服务合同和财务边界

一个 服务合同至少包含有服务接口、交互和执行政策,特殊功能协议,沟通渠道,期望结果和SLA。服务合同作为 客户-服务关系和交互的基础的同时,其在云中也起着特殊的附加作用。

服务合同将两个云中的商业实 体联结在一起,验证了这些实体不同的利益与目的。尽管在企业内部可能会同意跨服务所有权边界分享身份( 由于企业单一授权),但是在云里,财务独立的商业并不会相信外来的身份(对PKI的采用已经验证了这点) 。

对每个云供应商来说,财务利益总是高于一切。云中的财务可行性比一个合理的解决方案来的重要 的多。举个例子,如果一个云供应商为客户维护其验证机构,那他为什么要接受外部消费者支付安全费用给外 部的验证机构?这些客户为什么不直接付费给云供应商?这是个商业问题,而不是技术。