身份管理的定义

来源:互联网 发布:php采集类phpspider 编辑:程序博客网 时间:2024/04/30 11:44


1. 介绍

       身份管理是用于有效管理IT系统或应用中用户相关数据的业务流程和技术的组合,管理的数据包括用户对象、身份属性、安全权限和认证因素等。

       本文以跨系统和应用间的用户身份及权限管理所面临的潜在业务挑战,引出身份管理组件的定义,也将在这些挑战的背景下定义身份管理中的功能。

本文将按照如下顺序进行阐述:

多种多样的身份存储

       描述组织为什么需要在各种各样的系统中管理用户的数据。

跨应用间的身份及权限管理——挑战

       一步一步的解释为什么在庞大的组织中管理用户身份数据那么困难。

相关技术——解决方案

       不同的技术是怎样简化身份管理的流程和保证其安全性的。

身份管理——一个简单的定义

       基于前面提到的业务挑战和相应的技术方案的描述,定义什么是身份管理。

企业之外

       身份管理技术可能很快地延伸单个企业的边界。

结论

       关于身份管理现状的一些结论。

参考资料

       从哪里了解更多关于身份管理的信息。

2. 多种多样的身份存储

       现在的企业往往都运行着错综复杂的IT基础设施,包括:

l  用来共享文件和打印机的网络操作系统

l  运行Web服务、数据库和类似软件的应用服务器

l  通常用来托管遗留应用程序的大型机和中型机

l  Email和其他协作软件

l  用来维护用户及其他网络对象的用户目录

l  人力资源、工资和承包商管理等系统

l  不同业务线的应用程序

l  客户关系管理(CRM)和企业资源计划(ERP)应用

l  电子商务应用

访问这些系统的用户多种多样,其中包括:

l  员工

l  承包商

l  合作伙伴

l  供应商

l  客户

       几乎每个系统和应用都会跟踪自己的用户,他们怎么登陆的(比如,使用密码),他们有哪些权限(比如,他们能够看到什么或者能够做什么)。比如用户什么时候被聘用的,什么时候业务角色或者标识信息变更了,以及什么时候离职,这些用户相关的数据都必须管理起来。

       每个系统都有自己的身份安全管理用户界面、管理员和变更申请流程,这样的结果就是复杂度增加。这不仅影响了IT运营,同一个真实用户必须由不同的IT人员在企业基础实施中的不同部分来进行管理,而且还影响了用户,需要很长的时间才能完成变更请求,且用户必须记忆多个登录ID、密码和每个应用的登录流程。

       这种复杂性不仅导致了较高的IT成本,较低用户的工作效率,还导致安全风险的增加。

身份管理技术简化了对这种分散式、重叠的且可能还相互矛盾的数据的管理。

3. 跨应用间的身份及权限管理——挑战

       本文中的“企业”简单的指那些至少有数千内部用户的中、大型的组织。

3.1.不同类型的用户

       广义上来说,企业管理的用户分为两类:

内部用户:包括员工和承包商

       内部用户会花大量的时间从事与企业相关的工作。他们经常需要访问多个内部系统且他们的身份数据相对来说也比较复杂一些。

外部用户:包括客户、合作伙伴和供应商

       通常外部用户比内部用户数量多。外部用户一般只访问很少的一部分系统(比如:CRM、电子商务、退休福利等),而且访问这些系统的频率也不高。外部用户的身份信息没有内部用户那么详细丰富而且也没那么准确。

       我们通过一个示例来说明一下外部用户和内部用户的不同之处,以及它们是怎么影响身份管理的:一个银行中有15000名员工,5000名承包商和500000名的客户。因此这个银行的内部用户包括员工和承包商,总共是20000名。

       内部用户可以登录到网络操作系统、公司内网、业务应用、公司主机,邮件系统和因特网网关等。他们的身份信息包括他们的职业以及很多的内部系统的登录ID相关的数据。内部用户访问其身份信息的组件,特别是不同系统中的登录ID,每天可能需要访问多次。

       外部用户主要是现在及潜在的银行客户。他们的身份信息可能包括一到三个用于互联网、电话和基于ATM的电子银行的登录ID和密码。他们身份信息还包括诸如邮件地址和银行账号之类的客户信息。外部用户只是偶尔访问他们的登录ID。外部用户提供的个人信息,比如姓名、家庭电话、邮件地址还不一定是准确的。

3.2.不同类型的身份数据

       正如企业必须管理不同用户类型的身份,企业也必须管理这些用户不同类型的数据,包括:

个人信息:这包括姓名、联系方式,比如性别、生日这类人口统计数据。

法律信息:这包括企业与用户之间的法律关系相关信息:社会保险账号、报酬、合同、起始日期、终止日期等。

目标系统登录凭证:在大多数系统中,登录凭证就是一个登录ID和密码。可能还使用PKI证书进行身份识别,而可能会使用token、生物识别或一组用户必须回答的私人问题来进行身份验证。

3.3.身份生命周期

       随着企业部署越来越广泛的IT基础设施,管理这些基础设施会越来越具有挑战性,特别是管理用户以及用户的身份信息、安全权限。

       图1展示了企业管理跨越多个系统的大量用户所面临的一些挑战

图1 用户生命周期管理挑战

       在图中所示的用户生命周期的每一个阶段都存在一些业务挑战:

1.     新员工入职:

a)     延误和低效

       新用户需要快速投入工作中,因此为新用户设置访问权限的任何延误都会损失效率进而增加成本。

b)     申请及审批

       IT人员需要确保合理的创建新账号。这通常意味着要填写纸质的申请单,然后再审核和审批这些安全变更,比如新账号的创建。这个审批流程可能难以使用,可能需要申请人和审批者花费过多的精力,并可能因此导致延误。

c)      冗余管理

       用户通常需要多个系统的访问权限。一个新用户可能需要一个网络ID、Email邮箱、防火墙访问和多个系统的登录权限。这些账号通常是由不同的管理员使用不同的工具来创建的,这种重复是昂贵和费时的。

2.     变更管理:

       组织内的用户经常变更角色和职责。他们可能还会变更身份属性(如更改姓名、联系方式、部门和上级经理等)。这些变更会引发IT的工作,以调整用户的身份信息和安全权限。

组织在管理已有用户过程中同样会面临类似的挑战:

a)    延误:为用户重新分配权限时,浪费时间来等待IT处理他们的需求。

b)    变更申请:提交申请的方式笨重,且还需要花时间来对此进行审批

c)     冗余管理:相似的变更通常需要在不同的系统上重复

3.     IT支持:

       在日常的系统使用过程中,用户经常会遇到一些需要技术支持的问题:

a)    忘记密码

b)    账号被锁定

c)     拒绝访问错误

       总的来说,这些问题通常占IT服务台呼叫量的很大一部分比例,这意味着导致直接成本(员工支持)和间接成本(用户工作效率丢失)。

4.     终止:

       所有用户最终都会离开组织。当用户离开时,需要可靠的流程来找到并移除他们的安全权限。这些流程必须是:

a)     可靠的:

       如果组织不能撤销已离开的用户的访问权限,这个用户或者冒充他的入侵者可能会滥用基础设施或者泄露敏感信息。

b)     及时的:

       访问权限终止一定要快,将利用上述漏洞的时间窗口最小化。

c)      完整的:

       仅撤销已离职用户在主要系统的登录ID是不够的。每一个访问权限都应该被收回,消除用户在网络内部滥用它们的可能性。

3.4.关键的身份挑战

       大多数企业的身份管理都会存在一些挑战:

安全性:

       用户的权限是否准确的匹配了他们的需求?是否违反了组织的安全策略(比如职责分离)?不再需要的权限是否依然保留着?

一致性:

       进入到不同系统的身份概要信息应该保持一致。这包括姓名、登录ID、联系方式、终止日期等。事实上,每个系统都有自己的身份概要管理系统,使得这很难做得到。

高效性:

       为同一用户设置不同的系统访问权限工作是重复的。使用每个系统提供的工具来重复操作导致不必要的成本产生。

可用性:

       用户可能需要使用多个登录ID、多个密码通过多个登录界面来访问不同的系统。这种复杂性对用户来说是繁重的,他们因此而经常碰到系统访问的问题,影响用户的工作效率并导致支持成本的增加。

可靠性:

       用户的身份数据应该是可靠的,尤其用来控制敏感数据和资源访问的信息。这意味着用于在各系统更新信息的流程必须产生的数据必须是完整的、及时的和准确的。

可伸缩性:

       企业管理着数量庞大的用户群的身份信息,可能是上万的内部用户和几十万的外部用户。在该环境下使用的任意身份管理系统必须能够伸缩以支持大量用户产生的数据量和并发峰值。

4. 相关技术:解决方案

       有几种可以用来管理企业内的用户身份数据的技术。一般情况下,这些系统专注简化身份管理流程和一致的管理跨系统间的身份。

4.1.目录服务

       许多身份管理和访问治理基础设施的基石,是企业目录。

       目录服务是一种网络服务,用于管理用户信息、组织和服务器、打印机这样的IT资产。他们执行类似公用电话中的白页或黄页电话薄的功能,使网络中的用户能够找到彼此的信息以及有关网络服务的信息等。

       大多数现代的网络服务使用轻量级目录访问协议(LDAP)来进行访问,它基于一种更古老、更强大也更复杂和没那么多流行的X.500协议。

       目录服务只是身份管理和访问治理的起点,就其本身而言并没有提供什么价值。为了获得价值,组织还必须:

l  将目录服务应用于他们的业务应用程序,以消除身份信息孤岛。

l  通过有效的技术和业务流程来管理目录服务中的数据。

主要的平台供应商都提供了便宜、健壮且易扩展的目录服务产品。这些包括:

l  Microsoft Active Directory

l  Novell eDirectory(构建在NDS基础上)

l  SUN ONE Directory(来自Netscape,后来叫iPlanet LDAP)

l  IBM Directory(以前叫Tivoli Directory)

l  Oracle Internet Directory(OID)

       也有些开源的目录服务产品,比如OpenLDAP、Red Hat Directory Server

4.2.元目录

       元目录是在不同系统间同步用户数据的引擎。大多数现代的IAG系统都包含一个元目录,虽然它们可能并没有标识出来。

元目录的工作如下:

l  配置连接器连接至各个目标系统,以向它们读取和写入用户身份数据

l  合并从被集成系统过来的数据流,来构建用户概要信息的主数据库。

l  如果主数据库中用户信息与低级别的目标系统不一致,目标系统会被更新以反映用户的当前信息。

l  基于对系统中变更的监控,可能会向目标系统添加或从目标系统中删除用户。

       元目录通过将系统中的变化传播至目标系统的方式简化用户管理,省去了手动更新。

       由于元目录不需要暴露用户界面,也不会与用户直接交互,因此可以将它当做一个嵌入在IAG基础设施的一根“管道”。

4.3.Web访问管理/Web单点登录

       Web访问管理(WebAM)/Web单点登录(WebSSO)系统用于对用户访问一个或多个web应用过程中的身份验证和授权进行管理的中间件。它可以使本身不支持联邦认证的系统和应用实现单点登录。

       WebSSO系统会在用户浏览器初次访问Web应用时进行拦截,要么检查用户是否已经经过身份验证(通常根据cookie跟踪验证状态),如果没有则重定向用户到登录界面。用户可能会界面中使用密码、token、PKI证书或其他方式来验证自己的身份。

       一旦验证通过,系统的WebAM组件会控制用户对应用程序的功能和数据的访问。这可以通过过滤用户可以访问的内容(比如URL过滤器)来实现,或者暴露一个API让应用程序实时判断是否应向用户显示某些表单、字段或数据元素。

       WebAM/WebSSO产品通常使用目录服务作为后端存储库来识别所有的用户。他们通常会与“身份管理和访问治理(IAG)”应用紧密集成,能够对单个目录服务的内容进行管理和自助服务管理。

       联邦认证则是一种比WebSSO更好的技术。

4.4.密码管理

       密码管理是指系统和应用间密码的同步和自助服务密码重置的组合。

密码同步是指能够帮助用户在多个系统中只维护唯一一个符合安全策略的密码的任何流程或技术。

       密码同步是解决企业中密码管理问题的一种有效的机制:

l  密码同步后,用户更容易记住他们的唯一密码。

l  更简单的密码管理意味着因密码相关的问题而呼叫服务台的次数会减少。

l  每个用户字需要一到两个密码,这样用户就不容易将密码写下来。

       实现密码同步有两种方式:

l  透明的密码同步,当密码在一个普通的系统变更后(比如Active Directory),通过密码管理系统自动的将更新传播至其他系统或应用

l  基于Web的密码同步,当用户被要求一次性修改其所有密码时,使用一个web应用而不是使用本地工具来一个个更改

       自助服务密码重置是指用户在忘记密码或者账号被锁定时,可以通过一个替代验证的方式来自己解决这些问题,而不需要打电话请求服务台支持的任何技术或者流程。

       忘记密码或者因触发了入侵锁定的用户可以从其工作台中启动自助服务程序,或者使用自己或别人的浏览器,或者通过电话呼叫的方式,通过回答一系列私人问题或硬件token甚至生物特征来解决问题,不需要他们使用本来就已经忘记了或已被禁用的密码。用户可以通过这种方式指定一个新的、未锁定的密码或者要求随机生成一个密码。

       自助服务密码重置加快了用户问题出现后的解决速度,同时减少了服务台的电话量。并且它还能确保这些密码问题在是在经过强认证后才能得到解决,进而消除了服务台处理方式的一个重要的弱点——社会工程攻击。

4.5.企业单点登录

       用户往往希望使用自己的ID和密码登陆到一个主系统后,再访问其他系统时能够自动登录而不需要再次输入自己的ID和密码。

       大多数遗留系统和C/S系统不能够采用Kerberos或SAML这样的现代基础设施来共享验证。但是可以将用户身份存储在这些系统之外,然后在用户进入应用提示登录时自动输入凭证并提交。

       企业单点登录(ESSO)系统只是做了:用户登录到保存了他在每个应用中的登录ID和密码的E-SSO应用。用户通过E-SSO客户端软件运行这些应用时,E-SSO客户端软件会打开相应的程序,然后计算并向其发送模拟用户输入登录ID和密码的键盘击键。

       由于需要安装客户端软件,因此E-SSO系统仅适用于内部用户使用。

E-SSO系统在大型生产环境中实施的效果有限,有以下方面的原因:

l  部署和集成的成本

l  安全方面的考虑,SSO系统存储了每个用户在每个系统中的密码

l  可用性方面的考虑,因为如果SSO系统出现故障,整个用户群都会无法登陆到他们的系统,因此工作基本就停止了。

4.6.用户供给

       用户供给系统是共享的IT基础设施,用于拉动将分散存储在各个系统和应用中的用户属性、安全权限到一个公共的基础设施中管理。

       用户供给的目的是实现用户创建和失效登录ID、用户主目录、邮件文件夹、安全权限和相关项的管理更加快速、更便宜和更可靠。这通过自动化和编制的流程来实现的,比如入职、离职的流程,以及将这些流程连接至各个系统中。用户供给系统通过一个或多个自动化流程来进行工作:

自动供给:

       检测某个系统(比如HR)产生了新的用户记录后,访问其他系统或应用并自动推送用户信息。

自动停用:

       检测权威系统上删除或失效某个用户后,自动在所有其他的系统或应用中停用这些用户

身份同步:

       检测到某个系统中更改用户的个人信息,比如电话号码、部门编号等,自动在其他系统中为同一用户做相应的变更。

自助服务申请:

       允许用户更新他们自己的信息(比如新的电话号码)和申请新的权限(比如访问一个应用或共享)

委托管理:

       允许管理人员、应用所有者和其他相关利益人在各自的职权范围内修改用户和权限。

获得认可:

       定期邀请管理人员、应用所有者在各自的职权范围内审查用户清单和安全权限,并标识不恰当的项目作进一步的审查和移除。

授权流程:

       验证所有提出的变更,不论其来源,并邀请企业的相关利益人在将它们集成到系统和应用之前进行审核。

综合报告:

       提供有关多个系统和应用中的有哪些用户,用户有哪些权限,哪些是休眠账号,哪些是孤儿账号,以及它们的变更历史这样的数据。

同样地,用户供给系统必须能够将这些流程连接至目标系统或应用,通过连接器可以:

l  列出现有的账号和组

l  创建新账号和删除已有账号

l  读取和写入用户对象关联的身份属性

l  读取和设置各种标志,比如“账号已启用/禁用”、“账号已锁定”、“入侵者锁定”等

l  更改已有账号的登录ID(即用户重命名)

l  读取用户的组成员关系

l  读取用户组的成员列表

l  向用户组添加成员和从中删除成员

l  创建、删除和设置用户组的属性

l  在目录服务组织单元(OU)之间移动用户

4.7.基于角色的访问控制

       基于角色的访问控制(RBAC)是一种用来管理权限的方式,目的是降低安全管理的成本,确保用户只有用恰当的权限,和及时的终止用户不再需要的权限。

       在单个系统或应用中,RBAC意味着将权限直接赋给某个角色,然后将用户附在相应的角色上。用户不是直接获得权限的,而是通过角色成员来获得的。在单个系统中,角色通常也称为安全组或者用户组。

       单个系统的RBAC是经过了时间考验的成功的策略,他允许管理员对用户和权限进行分组,并将相应的一组权限赋给用户组的用户,而不是直接将一个个权限赋给每个用户。

       身份管理和访问治理沿袭并超越单个应用中的RBAC。IAM系统中的角色可能是一组跨越多个系统和应用的权限。角色的关键因素是用少量的业务人员能够理解的角色代替很多技术权限。这样业务人员就可以合理的确定哪些用户应该具有什么角色。这也隐式指定了用户拥有哪些具体的技术权限。

       角色包括权限——登录账号和安全组成员。角色经常是嵌套的,比如一个角色可以包含其他角色。通过角色嵌套可以降低管理的成本。

4.8.获得认可

       合规需求和安全策略日益要求组织对哪些人可以访问企业的敏感数据及员工和客户的个人信息保持有效的控制。

l  系统必须限制只允许正确的用户在正确的时间内访问。

l  组织必须能够提供审计证据证明这些控制是到位并有效的。Sarbanes-Oxley法案第404条款明确规定管理层必须每年评估一次内部控制的有效性。

l  组织必须能够报告目前或过去有哪些内部用户访问了敏感数据。

       要满足这些需求是很具挑战性的,因为用户往往拥有独特且不断变化的业务职责,从而很难使用常规的角色和规则来有效的管理。

       确立权限模型的复杂在于多种多样的权限结合在一起,事实上随着时间的推移,用户积累的权限越来越多,但是他们很少主动要求IT终止旧的和不再需要的权限。用户职责发生变更后,可能需要保留原来的权限作为备份,但是很难预测用户什么时候不再需要以便安全的收回这些权限。

       这些挑战意味着很难对确定所有的权限模型,用户需要在同一时间内访问多个系统和应用,而且不太可能模拟成千上万用户长时间的在多个系统中的这些需求。

       获得认可是定期要求业务相关利益人审查用户的权限,对合理的权限分配进行签署,对可疑的权限进行标记以便删除。

这里有几个组件可以用来获得认可:

发现:

       在权限被评审之前,必须从系统和应用中收集它们并映射至用户。技术标识应该替换成易读的描述以便审核人能够理解。由于权限一直处于变化中,因此这应该是定期进行和自动化的过程,而不是一次性的数据加载。

谁来执行审查?

       可选项包括企业管理层——要求审查其下属,应用程序或数据的所有者——要求审查谁可以访问他们的应用程序和数据,或者安全管理员——要求审查权限中的高风险项。

什么时候执行审查?

       审查的频率依权限问题所产生的业务风险程度而定。

审查哪些类型的权限?

       最高级别的是审查企业的雇佣情况——问题用户是否仍能访问任何系统?稍微细粒度的就是审查角色——问题用户是否依然拥有这些角色?粒度最细的就是审查基本的权限——问题用户是否在该系统中拥有登录ID或者是否属于这个安全组?

哪些具体的权限应该审查?

       不是每个权限都会导致重大的业务风险。比如,社交委员会邮件列表中的用户成员就没必要进行审查。根据每个权限可能造成的业务风险来决定是否进行审查和审查的频率。

拒绝的权限会发生什么?

       审查者可能标注某个权限是不恰当的,这种情况下就应该采取一些措施。是否在IT问题系统中提高其处理优先级或者触发连接器立即回收这个权限?是否应该在权限被审查之前进一步的审查?

5. 身份管理:一个简单的定义

       综合以上内容,我们可以总结身份管理的一个包扩企业身份管理技术各种功能的简单的定义:

       身份管理和访问治理是一个用来管理用户相关信息的共享平台和一致的流程,包括他们是谁,怎么验证他们以及他们可以访问什么。

6. 企业之外

身份管理可以延伸到单个企业之外:

l  客户希望不需要反复的验证访问多个Web站点

l  员工希望不需要重新注册和重新认证就能够访问供应商的web资源

l  企业希望访问并自动推送他们自己的用户至合作伙伴和供应商的资源

       身份联邦使得不同域下的应用程序能够共享用户信息。

l  联邦的站点必须有一些预先建立的关系,比如是贸易的双边或者同属一个集团。

l  用户相关信息的交换:

——身份:这个用户是谁?

——验证:这个用户怎么登录进来的?什么时候登录的?

——授权:这个用户可以做什么?

l  联邦认证支持在不同站点之间实现单点登录:

——用户首先登录到一个站点(公司A)

——然后点击进入另一个站点(公司B)

——站点A将用户信息传递至站点B

——站点B不要求用户提供他的ID和密码直接进入

l  在某些部署模式下,联邦可以减少一些用户管理:

——站点B信任站点A操作它自己的用户

——站点B不会为站点A的用户创建自己的对象

       有一些用于联邦认证的标准,其中包括安全断言标记语言(SAML-V1和V2)和WS*Security。

为了能实现预期效果,联邦认证要求一个站点的软件可以和另一个站点的软件在身份、验证和授权方面进行通信:

l  不同的组织使用不同的软件产品来管理用户身份、验证、授权

l  不同的软件产品依赖于标准的协议进行交互

l  有很多联邦方面的标准:

——Liberty Alliance ID-FF和ID-WSF

——安全断言标记语言(SAML)

——WS-Federation

——Shibboleth

l  标准是复杂的,不同的产品实现有所不同,所以产品之间可能并不100%兼容是合理的。

跟标准相关的问题太多太多了…

7. 总结

身份管理是一类旨在简化企业内外的用户身份管理的技术。它包括:

l  目录服务,特别是使用LDAP

l  密码管理

l  企业单点登录

l  Web访问管理和Web单点登录

l  用户供给

l  联邦认证

8. 参考资料

互联网上很多用于在多个系统间进行身份管理的项目

——Liberty alliance:http://www.projectliberty.org/

——W3C P3P项目:http://www.w3.org/P3P/

——安全断言标记语言(SAML):http://www.oasis-open.org/committees/security/#documents

 

 

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击