本章介绍身份及访问管理(IAM )实践的当前状况,还将介绍有助于对于用户访问云计算服务而进行认证、授权和审计的身份及访问管理支持特性。
信任边界以及身份及访问管理
在典型的机构中,应用程序部署在机构的范围之内,“信任边界”处于IT 部门的监测控制之下,几乎是静态的。在传统模式下,信任边界包括网络、系统和位于私有数据中心并由IT 部门(有时是在IT 监管下的第三方提供商)管理的应用程序。通过虚拟专用网络(VPN )、入侵检测系统(IDS )、入侵防御系统(IPS )以及多因素身份认证等网络安全控制手段,对网络、系统和应用程序进行安全访问。
采用云计算服务以后,机构的信任边界将变成动态的,并且迁移到IT 控制范围之外。在云计算中,机构的网络、系统和应用程序的边界将延伸到服务提供商的范围内(对于大多数从事电子商务、供应链管理、外包和与合作伙伴及社团协作的大公司来说这早已是事实)。这种控制权的丢失,对已有的信任管理和控制模式(包括对于员工和承包商的可信来源)形成了很大的挑战,并且若没有得到妥善管理,将对机构采用云计算服务造成阻碍。
为了弥补网络控制的丢失以及加强风险保障,机构将不得不采用更高级别的软件控制,例如应用程序安全和用户访问控制。这些控制表现为强认证、基于角色或声明的授权、准确属性的可靠来源、身份联合、单点登录(SSO )、用户行为监测以及审计。特别地,机构需要注意身份联合架构和流程,因为这可以加强机构和云计算服务提供商(CSP )之间的控制和信任。
身份联合是个为处理多态、动态、松散耦合的信任关系而兴起的行业最佳实践,而信任关系则是机构外部和内部供应链及协作模式的特征。身份联合也使被机构信任边界分隔的系统及应用程序能够实现交互,例如一个销售人员从企业网络中与Salesforce.com 进行交互。由于结合了良好的身份及访问管理实践,身份联合可以通过集中访问控制服务使用授权、网络单点登录以及权限管理的方式实现强认证,身份联合对于加速机构采用云计算会发挥核心作用。
在一些情况下,机构内的IAM 实践可能因为缺乏集中的管理及身份信息架构而受到影响。身份存储往往是通过多个管理员手动输入的,并且用户开通过程也没有很好的规范。这样做不仅效率低下,同时也会将现有的不良做法沿袭到云计算服务中。在这样的情况下,弱访问模式将使云计算中未授权用户的权限过度泛滥。
IAM 是一条双行道。云计算服务提供商需要支持IAM 标准(例如SAML )和实践,例如为用户利用身份联合扩大其实践以保持符合内部政策和标准。支持IAM 功能的云计算服务,例如身份联合,会加速传统IT 应用程序从可信公司网络到可信云计算服务模式的迁移。对于用户而言,良好实施的用户IAM 实践和流程将有助于保护存储于云计算中信息的保密性、完整性以及管理合规性。支持IAM 标准的云计算服务如SAML ,可以加速新的云计算服务的采用,并推动IT 应用程序从可信公司网络到可信云计算服务模式的迁移。
为什么要用IAM
从传统意义上来看,机构在IAM 实践上进行投资的目的是为了提高运营效率,并满足法规、隐私和数据保护等方面的需求:
提高运营效率
架构良好的IAM 技术和流程可以使诸如用户入职等的重复性工作实现自动化,从而提高效率(例如,自助重置用户请求口令,无须系统管理员使用帮助台派单系统介入)。
合规性管理
为了保护系统、应用程序和信息不受内部和外部的威胁(如心怀不满的员工删除敏感数据),以及符合各种法规、隐私和数据保护的需求,机构会实施“IT 通用和应用程序级控制”框架,而这个框架来自于行业标准框架,如ISO 27002 和信息技术基础架构库(ITIL )。IAM 程序和实践可以帮助机构实现访问控制和运行安全方面的目标(例如,合规性要求的执行情况,如“职责分离”及工作人员履行职责的最小权限分配)。审计员通常将内部控制映射为IT 控制,以支持合规性管理过程,如支付卡行业(PCI )数据安全标准(DSS )以及2003 年的萨班斯法案(SOX )。
除了提高运行效率和合规性管理效率,IAM 可以实现新的IT 交付和部署模式(如云计算服务)。例如,身份联合,作为IAM 的关键组成部分,实现跨信任边界的身份信息连接和携带。因此,IAM 使企业和云计算服务提供商通过Web 单点登录及联合的用户开通,在安全信任域间建立通道。
一些需要云计算服务提供商提供IAM 支持的云计算用例包括:
l 机构的员工及相关承包商使用身份联合来访问SaaS 服务(例如,销售和支持人员使用企业身份和凭证访问Salesforce.com )。
l IT 管理员访问云计算服务提供商控制台,为使用企业身份的用户提供资源和访问能力(例如,Newco.com 的IT 管理员在亚马逊弹性计算云中提供虚拟机及VM ,并在其中配置了虚拟机操作(如开始、停止、挂起和删除等)的身份、权利和证书)。
l 开发人员在PaaS 平台为其合作伙伴用户创建账户(例如,Newco.com 开发人员在Force.com 中为签约的Partnerco.com 员工提供账户,而后者执行Newco.com 的业务流程)。
l 终端用户使用访问策略管理功能在域内及域外访问云计算中的存储服务(如亚马逊简单储存服务)并与用户分享文件和对象。
l 云计算服务提供商内的应用程序(如亚马逊弹性计算云)通过其他云计算服务(如Mosso )访问存储。
由于IAM 如SSO 允许应用程序具体化认证功能,这使得企业可以快速采用*aaS 服务(Salesforce.com 是一个例子)以减少与服务提供商进行业务集成的时间。IAM 的功能也同样可以帮助企业将某些流程或服务外包给合作伙伴,并减少对企业隐私和安全的影响,例如,履行订单的商业合作伙伴的员工,可以使用身份联合来访问存储在商业应用中的实时信息,并管理产品实现过程。简言之,IAM 策略、实践和架构的延伸可以使机构延伸云计算中用户访问管理实践和过程。因此,实施IAM 的机构可以快速采用云计算服务,并维护其安全控制的效率和效果。
IAM 的挑战
IAM 的一个关键挑战是:对访问内部及外部服务的不同用户群(员工、承包商、合作伙伴等)的访问管理。IT 总是不断面临为用户快速提供适当访问机制的挑战,因为用户的角色和职责经常会因为业务因素而变化。机构内的人员流动也是存在的另外一个重要问题。人员流动性因行业及功能而有所不同,例如金融部门季节性的员工波动,人员流动性也可能由于业务的变化而上升,例如兼并和收购、新产品和服务的发布、业务流程外包和职责变更。因此,IAM 过程的维持将是个长期的挑战。
信息的访问策略很少是集中并一致采用的。机构常常使用五花八门的不同目录,创建复杂的管理用户身份、访问权限和流程的复杂Web 页面,这使得用户和访问管理过程效率低下,也在安全、合规性、声誉等方面给机构带来了极大的风险。
为了应对这些挑战和风险,许多公司都在寻求集中的自动化管理用户权限的技术解决方案。许多这样的新方案都被赋予很高的期望,由于存在的问题通常很重大而且复杂,有这样的期望并不奇怪。这些改进IAM 的新方案绝大多数需要花费数年时间以及相当大的费用。因此,机构应当从业务和IT 驱动两个方面着手处理其IAM 策略和架构,在保持控制的有效性(与访问控制相关的)同时,解决效率低下的核心问题。只有这样机构才有比较大的可能取得成功并收回投资。
IAM 的定义
首先我们提出适用于任何服务的IAM 功能的基本概念和定义:
认证
认证是核实用户或系统身份的过程(例如,轻量级目录访问协议即LDAP 核实用户所提交的证书,其标识符为指派给员工或承包商的企业用户唯一ID )。认证通常意味着更为可靠的识别形式。在某些场合中,例如服务到服务的交互,认证包含对请求访问另一个服务所提供信息的网络服务请求进行验证(例如,与信用卡网关相连的旅游Web 服务,会代表用户对信用卡进行验证)。
授权
授权是确定用户或系统身份并授予权限的过程。在数字服务方面,授权通常是认证的下一个步骤,授权被用来确定用户或服务是否具有执行某项操作所需要的权限,换言之,授权是执行策略的过程。
审计
对于IAM 而言,审计是指查看和检查有关认证、授权的记录和活动,以确定IAM 系统控制的完备性、核实与已有安全策略及过程的符合性(如职责分离)、检测安全服务中的违规事件(如特权提升),并给出相应的对策和整改建议。
IAM 体系架构和实践
IAM 并不是一个可以轻易部署并立即产生效果的整体解决方案,而是一个由各种技术组件、过程和标准实践组成的体系架构(参见图5-1 )。标准的企业级IAM 体系架构包含技术、服务和过程等几个层面,其部署体系架构的核心是目录服务(例如轻量级目录访问协议或活动目录),目录服务是机构用户群的身份、证书和用户属性的信息库。目录与IAM 技术组件进行交互,这些组件包括认证、用户管理、在机构内提供并支持标准IAM 实践和进程的身份联合服务等。由于特殊计算环境的缘故,机构通常会使用多个目录(例如Window 系统使用活动目录而UNIX 系统使用轻量级目录访问协议),业务兼并和收购而形成的环境整合也会造成多个目录并存使用的情况。
支持业务的IAM 过程可以大体分为如下几类:
用户管理
为了有效治理和管理身份生命周期而进行的活动。
认证管理
为了有效治理和管理实体的确定及实体声明内容的过程而进行的活动。
授权管理
为了有效治理和管理根据机构策略实体可访问资源权利的过程而进行的活动。
访问管理
响应实体(用户、服务)请求访问机构内IT 资源的访问控制策略的执行。
数据管理和供应
通过自动化或手动过程对IT 资源授权的身份及数据的传输。
监控和审计
基于已定义的策略在机构内对用户访问资源合规的监控、审计及报告。
IAM 过程支持如下业务活动:
业务开通
这个术语通常用于企业级资源管理,指新入职员工开始使用系统及应用程序的过程,这些过程向用户提供对数据及技术资源的必要访问。业务开通可以认为是人力资源和IT 部门的共同职责,用户基于唯一的身份ID 对资料库或系统、应用程序以及数据库进行访问。业务取消则以相反的形式工作,对已分配给用户的身份或与身份对应的权限进行删除或者休眠。

图5-1 :企业身份及访问管理的功能体系架构
证书及属性管理
这些过程用来实现证书及用户属性的生命周期管理创建、发行、管理、撤销,从而将身份假冒和账户滥用等业务风险降到最低。证书通常与个人绑定,并在认证过程中进行核实。这个过程包括属性的提供、符合密码标准(如可抵御字典攻击的密码)的静态(如标准文本密码)及动态(如一次性密码)证书、口令过期处理、在处于传输和静态过程中证书的加密管理,以及用户属性的访问策略(由于各种监管原因而进行的隐私和属性处理)。
权限管理权限
也称为授权策略。在这个领域,过程解决用户所需的权限的开通和移除,用户可使用这些权限访问包括系统、应用程序和数据库资源。合适的权限管理确保只分配给用户与其工作职能相符的所需要的权限(最小特权)。权限管理可用来加强Web 服务、网络应用程序、传统应用、文件和档案以及物理安全系统的安全性。
合规管理
这个过程意味着对访问权限和特权的监控以及追踪,确保企业资源的安全。这个过程还帮助审计员核实各种内部访问控制策略和标准的合规,这些策略和标准包括诸如职责分离、访问监控、定期审计和报告这样的实践。例如,用户认证过程允许应用程序所有者证实只有授权用户有访问业务敏感信息所需的权限。
身份联合管理
身份联合是管理建立于不同机构间内部网络边界或管理域边界之外的信任关系的过程。身份联合是机构的联盟,机构相互交流关于用户和资源的信息,进行合作和交易(例如,各机构由第三方提供商管理的保险金系统共享用户信息)。服务提供商的身份联合需要支持云计算服务的单点登录。
集中化的认证(authN )和授权(authZ)
集中化的认证和授权体系架构降低了应用程序开发者在应用程序中搭建定制的认证和授权功能的需求。此外,它还促进了松散的耦合结构,应用程序对于认证方法和策略是不可知的。这种方法也称为应用程序的“外部化authN 和authZ ”。
图5-2 说明了身份生命周期管理的各个阶段。

图5-2 :身份生命周期管理示意图