1、基于 Novell AM 的单点登录设计与实现摘 要随着信息化建设横向集成的推进,对用户身份信息进行统一认证和为用户提供单点登录访问方式的必要性日益提高,如何实现统一认证和单点登录是信息化建设的重要课题。Novell AM 是 Novell 公司提供的统一身份认证解决方案,它通过反向代理、自动填表等技术实现信息系统的单点登录,为企业建设统一认证提供了切实可行的一种方案。 【关键词】单点登录 身份认证 访问网关 统一认证 1 前言 随着信息化建设的推进,提供给用户使用的业务信息系统越来越多。每个业务系统都有各自独立的登录认证功能及用户信息管理功能,缺乏统一的信息系统登录入口和用户帐号管理机制,用
2、户需记忆的不同系统的登录帐号和密码越来越多,造成用户使用不便。对用户帐号信息进行统一规划和管理,对用户身份进行统一认证使用户进行单点登录访问,是当前信息化建设的方向。Novell Access Manager 是 Novell 公司提供的统一身份认证解决方案,它为上述问题提供了圆满解决方案。 2 实现统一身份认证和单点登录的必要性 信息系统传统的用户身份管理和登录方式存在弊端,表现为: (1)每套业务系统都开发有自己的用户帐号管理功能,用户帐号在每套系统中都需要单独创建,同一个人在多套业务系统中可能存在多个用户帐号,在登录不同的业务系统时需要使用不同的帐号密码,用户需要记忆多个帐号和密码,使用
3、不便,用户体验下降。 (2)每套系统都有自己的用户登录页面和认证机制,用户界面各异,认证安全性水平有高有低,不能提供给用户统一的视觉界面和系统安全性。特别是用户登录进入门户后访问业务系统时,仍然显示登录页面要求再次输入帐号密码,用户体验不佳。 因此,为消除以上弊端,应进行以下改进: (1)进行统一用户建设。随着业务系统横向集成的推进,需要将用户信息单独抽取出来作为信息系统的基础设施进行统一建设和规范化管理,然后将用户信息从权威数据源分发至各业务系统,各业务系统不再保留独立的用户管理功能。 (2)实现统一认证和单点登录访问。给用户提供统一的访问入口进行单点登录访问。单点登录的含义是用户只需一次登
4、录就可以访问不同的业务系统。用户无需再记忆多个帐号,只需记住统一用户系统中自己的一个帐号即可,用一个帐号访问所有业务系统,而且在登录门户后访问业务系统时也无需再重复输入帐号和密码,提高了信息系统的易用性、安全性,改善了用户体验。 Novell Access Manager(以下简称 Novell AM)是 Novell 公司提供的统一认证解决方案,业务系统与 Novell Access Manager 进行集成就可实现业务系统的单点登录。 3 Novell AM 系统架构 Novell AM 系统由身份认证管理服务器(Identity Server,简称IDS) 、访问网关(Access Ga
5、teway,简称 AG) 、目录服务器(LDAP Directory) 、管理控制台(Administration Console,简称 AC)组成,提供对用户身份的统一认证和对业务应用系统的安全访问。系统架构如图 1。 系统各组件的功能如下: (1)IDS:身份认证管理服务器,负责对用户身份信息进行认证,向用户推送统一的身份认证页面,将用户在认证页面中输入的用户名、密码提交至用户身份信息库 LDAP Directory 进行认证,判断是否为合法用户。IDS 支持用户名/密码、X.509 数字证书、令牌等多种认证方式。IDS 可由多台服务器组成集群。 (2)AG:访问网关,基于反向代理服务,利
6、用自动填表或身份注入等技术实现对业务系统的单点登录访问。业务系统与 AG 集成后对业务系统的所有访问都受到 AG 保护,此时提供给用户的访问地址不再是业务系统原来自己 Web 服务器的地址,而是 DNS 域名形式的 AG 服务器的地址,业务系统位于 AG 之后,用户访问业务系统首先需要经过 AG,从而 AG 为业务系统提供安全访问控制,提高了业务系统的安全性。AG 可由多台服务器组成集群。 (3)LDAP Directory:用户身份信息数据库,存储着权威的用户帐号名称、密码等身份信息,IDS 使用它作为唯一的用户身份认证数据源。 (4)AC:管理控制台,实现对 IDS、AG、业务系统单点登录
7、的配置功能,同时提供 IDS、AG 间的通信服务功能。AC 可由两台服务器组成主备关系的 HA 架构。 4 Novell AM 单点登录实现 4.1 单点登录流程 业务系统通过 Novell AM 进行访问的流程如图 2。 图 2 的登录流程(对应图中所标序号)分析如下: (1)用户向受 AG 保护的业务系统(Web Server)发出访问请求,因为业务系统已受 AG 保护,所以用户访问请求首先被发送到 AG。 (2)AG 检查当前用户是否已登录,如果用户尚未登录,利用 HTTP协议重定向机制,用户访问请求被 AG 重定向到身份认证管理服务器Identity Server,IDS 向用户推送身
8、份认证页面,即登录页面,提示用户输入用户名和密码,用户输入用户名、密码后提交。 (3)IDS 获取到用户提交的用户名、密码信息,然后 IDS 到用户身份信息数据库 LDAP Directory 中对获取到的用户身份信息进行认证,验证用户合法性。若 IDS 验证不通过,则用户浏览器仍然停留在登录页面,提示用户重新数据用户名、密码。 (4)在上步骤中,若 IDS 认证通过,则 IDS 返回认证成功的信息到用户浏览器,用户浏览器重新将访问业务系统的请求发送至 AG。 (5)AG 向 IDS 确认用户已经被 IDS 认证成功,是合法用户,并且AG 向 IDS 请求获得已认证通过的用户的身份信息,AG
9、得到 IDS 发送的用户身份信息。 (6)AG 在获得用户身份信息后,AG 利用自动填表或者身份注入等方法向受保护业务系统 Web Server 发送用户身份信息。 (7)业务系统认为当前访问用户是合法用户,接受用户访问请求,将用户请求信息发送给用户浏览器。完成登录流程。 4.2 统一用户 统一用户的建设首先需要确定一个身份权威源,权威源是指对确定用户身份关键信息进行管理维护的应用系统,一般推荐将人力资源系统作为身份权威源,也可以定制开发身份权威源系统。建立权威源的目的是从源头对用户身份信息进行控制和规范化管理,作为用户身份信息的唯一出处,改变以往用户身份信息各业务系统重复建设、管理分散的局面
10、。 Novell 公司的 Identity Manager 组件能够实现将身份信息从权威源到 LDAP Directory 再到相关业务应用系统的实时同步,包括用户账号的同步创建、变更、删除等,实现全生命周期管理。在权威源中可以制定账号管理策略对用户身份信息到业务系统的同步进行控制,控制哪些帐号可以同步到哪些业务系统,达到需要的帐号才能同步到需要的业务系统的目的。用户身份信息同步的数据流如图 3。 统一用户建立后,用户身份信息就成为了一个在所有业务系统间共享、流动、一致的基础数据,为不同业务系统间的单点登录奠定了数据基础。 4.3 基于自动填表策略的集成方式 对于大多数 B/S 业务系统,使用
11、表单页面作为系统的登录页面,因此 AG 向业务应用系统发送用户身份信息,大多使用自动填表策略来完成。在图 2 登录流程所示的第 6 步中,AG 在获得用户身份信息后,自动向业务系统的登录页面填入用户帐号、密码信息,并对业务系统的登录页面进行自动提交,从而登录进入业务系统。 基于自动填表策略的集成方式适用于从企业门户到其它业务应用系统入口的业务导航跳转,用户无需再次输入用户名密码,实现单点登录。4.4 基于身份注入(即 HTTP 头)策略的集成方式 在用户通过 IDS 认证后,AG 通过注入机制在 HTTP 请求中添加表示用户信息的 HTTP 头,并将请求转发到业务应用系统,业务系统获取 HTT
12、P头中的用户身份信息,完成对用户身份信息的接收和认证。业务应用系统需要按照 AG 接口规范的要求,利用 HTTP 协议中规定的基本认证方式登录应用系统,也可以使用认证系统与应用系统之间约定的头信息登录。此方式适合于从企业门户到其它应用系统业务功能页面的跳转,如进入待办任务对应的业务应用系统的处理页面。 4.5 典型应用 当前,企业往往以门户为中心实现各业务系统的应用集成和数据集成,因此,企业信息化的典型应用场景是将企业门户系统及各业务应用系统与 Novell AM 集成,然后将门户作为企业信息系统的唯一访问入口对用户开放,用户登录进入门户后对各业务系统进行单点登录式访问,如图 4 所示。 5
13、结束语 统一认证和单点登录的实现,标志着信息系统横向集成的建设推进到了一个新阶段,为用户带来崭新体验,大大方便用户使用信息系统。本文描述了基于 Novell AM 的实现方案,为企业建设统一认证提供了切实可行的一种选择。 参考文献 1霍成义.结合 Cookie 与票据共享的单点登录方案J.自动化与仪器仪表,2013, 3:167-169. 2胡聪,姚振.基于 VMware 的 Novell 身份认证系统虚拟化架构实践J.电力信息化,2013,11(4):78-81. 作者简介 柴新(1974-) ,男,山东省寿光市人。现为江苏电力信息技术有限公司工程师,主要从事信息化运维工作。 作者单位 江苏电力信息技术有限公司 江苏省南京市 210024