【IT168 信息化】
设想一下:要为公司下设的大约1000个部门提供验证和授权服务,还要为大约36万名管理员授予权限,以控制哪些人可以访问哪些资源,这有多复杂?
这实际上是Sabre控股公司面对的情况,其目的是为了让其客户可以访问Sabre提供的一系列旅行服务和数据。Sabre控股公司是从美国航空公司分离出来的,主要业务是为消费者提供机票预订等旅行服务。Sabre控股公司的IT安全负责人Kurtis Holland解释,Sabre在过去几年里采取了很多手段在开放系统上实现全面的身份管理。“我们企业在高峰时期每分钟要处理150万条事务——大约每秒25900条,其中许多基于身份管理,这是一大挑战。”
开始阶段
1998年,Sabre开始将IT系统迁移到开放系统中,并着手启动一项计划,实施基于Unix和Linux系统的面向服务的架构(SOA),并且使用包括TCP/IP、IBM WebSphere MQ和CORBA在内的多项标准。SOA计划背后的业务目标是,根据用户组和角色来实行授权管理,同时推出使用通用应用编程接口(API)的身份管理服务。这项服务要支持10万多个域、20万个用户组和数百万个用户名,并且这个数据以后有增无减。身份管理解决方案还必须利用中央数据库和目录服务。
Holland认为,至少有三种产品对满足上述身份管理需求而言不可或缺:Web单次登录(SSO)解决方案、目录存储区(directory store)和应用提供工具(provisioning tool)。
1999年,Sabre在Windows NT系统上部署了Netegrity SiteMinder解决方案,提供SSO功能(Netegrity后来被冠群收购)。至于目录方面,该公司部署了Sun iPlanet目录服务器(现名为Sun Java系统目录服务器)。
随着Sabre所要支持的应用数量不断增多,其中更多的应用基于开源平台,因此,公司需要一款工具帮助自己为用户自动提供这些应用。2005年初,该公司在Linux平台上部署了SiteMinder,并向Sun购买了另一套工具,其中包括Sun身份和访问管理器。
这套Sun工具实际上为开放系统环境模拟大型机的应用提供了条件,同时提供增强的审计追踪报告以及进行二级授权。
但也许最重要的是,Sun工具支持用Java编写的应用。这让Sabre能够为开放系统环境开发出越来越多的新应用。
工作方式
如今,Sabre公司在大型机、Linux和Unix等系统上运行了各种应用。航班、汽车和酒店预订服务(如Travelocity提供的服务)方面的繁重任务基本上从大型机上卸了下来。与乘客姓名记录资料有关的功能(如预订和票务)仍与航班运营数据一同留在大型机上。
大约70000家公司或者服务商使用这些应用,这意味着要对这些人员实行授权和验证。有些员工可能只可以使用应用,而另一些员工则可以更新航班时刻表、票价和空余座位等内容。
为了处理混合应用,Sabre维护两套不同的目录,提供了粗粒度和细粒度相结合的方案。“粗粒度”的姓名记录资料数据主要保存在Sun Java目录服务器中,该目录服务器用来提供最初的验证和授权——实际上就是允许用户进入正门。保存在Oracle数据库中的数据用来作出粒度更细的决策,这些决策针对用户能不能访问某几行或某几列数据,或者能不能更新应用里面的某些数据。
Oracle数据库被认为是主记录数据库。它含有大约1000个域、20万个“分部”即用户组方面的数据,并且详细描述了每个用户可以进行的操作。把这些数据保存在数据库中而不是保存在目录中,这简化了数据模型和复制,从灾难恢复和身份联合的角度来看很重要。
未来在于联合
实际上,身份联合是Sabre面临的下一大挑战。一段时间以来,它一直与许多客户一起在使用联合的Web SSO,但通常是针对每个客户采取针对性的措施。有些使用SiteMinder自己实施的Web SSO;有些使用包括安全标记声明语言(SAML)在内的标准,SAML这项基于XML的标准用于交换身份数据;还有些使用微软的Web服务增强(WSE)。
Sabre现正在努力把实施的各种一次性SSO迁移到真正基于SAML的架构上;客户有需要,就尽量弃用一次性SSO。他认为这需要时间,“我们的经营范围太大了,有各种不同的身份提供商和访问管理系统。”
但技术问题只是个开始,难点主要表现为合同和业务语言方面,涉及谁拥有身份?你是否信任他们?万一你需要解决或者审查业务交易事务,有哪种审计追踪可供使用?总之,缺少建立信任、调和事务的机制阻止了这种联合方法在全球范围内采用。