首页  ·  知识 ·  安全
统一用户认证和授权管理的实现
夏明忠 夏以轩 姜丽萍      编辑:dezai   图片来源:网络
在企业信息应用上不同的服务由不同的系统提供,但是这些服务仍提供给某些特定系统的特定用户,并且出于应用系统安全上的需要,每一个系统都需要对用户的身份进行
1引言

在企业信息应用上不同的服务由不同的系统提供,但是这些服务仍提供给某些特定系统的特定用户,并且出于应用系统安全上的需要,每一个系统都需要对用户的身份进行认证和对其用户所访问的系统功能进行授权,应用系统在用户管理上基本上都自成体系,以保证合法用户的权益,拒统要求提供不同的用户名和口令,这样给用户带来了极大的不便;同时,口令存储环节的增加,也增加了口令泄露的可能性。

同时,在推进企业单位信息化建设的进程中,也普遍存在多个系统信息资源目录的统一问题,普遍存在统一认证和统一授权管理问题,普遍存在统一认证和统一授权机制、分级分类认证和授权操作问题。这些问题的解决直接影响整个信息资源系统的可控性和安全性。这是当前各企业单位信息化建设中的一个关键问题。

用户认证和授权管理正是基于上述需求,而设计开发的认证和授权管理类安全控制系统,提供与当前企业单位实际组织体系和业务模式相适应的分级分类认证和授权机制。向用户和应用系统提供整合的认证和授权控制管理服务,提供用户身份认证到应用授权的映射功能。提供用户控制的基于多种业务属性组合条件下灵活的授权和访问控制机制,简化具体应用系统的开发维护。下面对用户统一授权管理的实现进行重点介绍,由于统一用户认证发展的较早,且已普遍应用在企业信息系统中,这里只做概要介绍。

2统一用户认证

为了解决多系统中存在的多重帐号/口令管理而提出的解决方案,它应有统一用户管理、统一身份认证和接口服务等三大主要部分组成。

2.1统一用户管理

建立权威的、适合各应用系统使用的统一帐号数据库,帐号数据库可基于活动目录或关系型数据库建立。统一用户管理模块,可供系统管理人员和各单位内部管理员使用,可以分级维护所有的组织单位和人员信息,包括:用户添加、用户管理、组织单位管理、角色管理、用户角色关系配置。

2.2统一身份认证

作为电子政务应用系统的统一认证模块,是实现单点登录的基础,可根据不同的认证需要选择不同的认证方式,为不同类型的用户提供了安全认证服务。常见的认证方式有:Windows域集成认证、表单用户口令认证、数字证书认证。所有的用户均可通过访问统一身份认证的入口来完成政务系统的单点登录。

 

图2统一用户身份认证模式图

2.3接口服务

对外提供标准的WebService服务,允许其他应用系统调用。主要接口包括:组织架构和用户帐号信息的下载接口;用户登录验证接口;用户管理、组织架构管理的接口等。

统一用户认证我们很好的实现了,我们已经开发了相关的统一用户认证系统,提供了基本的用户认证接口以及相关的用户管理和用户认证,认证接口只提供简单的用户和密码认证,并且识别该用户是否是有登陆相关系统的许可(只是解决了用户和系统间的对应关系,还不涉及访问权限与数据操作权限的认证),然后各系统按照要求验证用户密码。3用户统一授权

统一认证只是第一步,而要做到统一授权那么难度就将大大加大,因为各个系统的权限管理是不一样,有些比较简单,只需要控制访问权限便可,而有些除了要控制访问权限,还要控制数据操作权限,因此要使统一用户管理系统能实现对各用户在不同系统的权限进行统一管理,授权是一件很不容易的事情。

下面我们简单的介绍一下统一用户授权的两种方法:

方法一:只在统一用户管理系统中建立用户和各系统角色的对应关系,这种方式就只能告诉统一用户管理人员,该用户在各系统有什么权限,但真正的赋权还是在各系统进行,各系统在新增角色或者为用户更改角色时只需要通过相关的同步接口通知统一用户管理系统就行,注意只是提供角色的描述,或者数据操作权限的简单描述,因为这样对统一用户管理系统的权限模型要求不高,只要能提供可对角色和操作进行描述的模型就行。因此统一用户管理系统并不能真正依赖这些信息来获取用户的正确的权限信息,统一用户认证接口并不把相关的角色或操作权限通过接口传送给各个应用系统,用户登陆后再在各系统权限模型中获取相关的操作权限和数据操作权限。

这种方式是不能实现统一授权,只能为管理人员提供统一的用户权限视图,但实现方式相对简单,只能作为一种过渡的方法,本文不作更深的研究。

方法二:这是一个终极目标的做法,这个方法是将所有系统的权限控制部分都建在统一用户管理系统中。首先,统一用户管理系统在设计时就要能建立一个能适应各种系统权限管理要求的权限模型。对于己建立的老系统,各系统将自己的用户角色管理,角色一权限管理等部分抽离出来,统一放在统一用户管理系统中,而对于新建立的系统,各系统在建设的初期就要把自己权限设计的要求提交给统一用户管理系统,按照其需求在本身统一用户管理系统的权限模型上去构建出该系统的实例。那么管理员就可以通过统一授权系统为各用户在不同系统的权限进行配置,在登陆时各系统就调用相关的统一认证和授权接口,获取用户相关的权限信息,进到各系统后再创建用户,将相关的权限信息赋予给用户类,然后就可以在应用系统中进行权限验证。

这种方式既能对用户进行统一的授权和认证,也能展现各用户的统一权限视图,在本文中我们主要研究此种方法。

统一用户授权管理是以资源的授权、访问决策控制集中管理为目标,以资源的访问控制为导向,以资源的安全、防扩散为前提,将各个应用系统的所有受控资源进行统一授权,不仅可以保护应用系统的信息安全、建立全面的信息保密制度,同时满足对系统文档加密和授权需求,构建安全可控的文档安全、防扩散管理系统。

 

3.1用户角色管理

“角色”主要用来区别各类不同用户,通过把用户加入到某一种角色来实现该用户的权限分配。管理员可以添加自定义的角色,从而实现灵活的系统配置。如建立表1的用户角色表。

3.2模块管理

为控制用户使用系统各功能模块的权限,把系统中所有的功能项添加到模块表中,添加到表中的模块以菜单的形式显示在系统中。增加新的功能模块时,添加模块表,把新增的模块纳入一致的权限管理范畴。如表2的某系统各模块编码表。

3.3模块授权配置

对系统各个模块进行定义,并设置对哪些角色、部门和用户开放,从而实现模块的访问控制,确保信息安全。没有权限的用户将无法使用对应模块。有多少套系统就建立多少张象表3一样的“用户和xx系统各模块授权表”。其中表3竖栏“Y1, Y2, Y3, Y4, Y5,..、Yn-1,Yn,..”为用户;表3横栏“Gnl, Gn2, Gn3. Gn4、..、Gng、.."为模块;表3中间的内容为授权结果,01”为己授权,“0”没有授权。如用户Y1在使用。系统模块Gn2有权限,用户Y1在使用xx系统模块Gn1没有权限,如此,用户YZ对所有应用系统中的各个模块的权限就确定了。其他用户仿照用户Y1授权办法授权,这样就实现了用户集中授权问题,如表3所示。

 

 
4分级统一用户认证和授权管理

建立企业级总部统一认证、授权服务器和二级认证、授权服务器群组(二级认证、授权服务器1,二级认证、授权服务器2,......,二级认证、授权服务器n)。企业级总部统一认证、授权服务器包含了二级认证、授权服务器群组中的所有用户信息和统一认证、授权信息等,二级认证、授权服务器群组中的每一组用户信息和统一认证、授权信息等是企业级总部统一认证、授权服务器中用户信息和统一认证、授权信息等的子集。这样就可以实现分级统一的用户认证和授权管理中心的建立,如图4所示。

5结束语

用户集中统一认证己在新祖油田信息化建设中成功应用数年,用户集中授权工作新祖油田还在规划和设想当中,本文提出的用户集中授权方案在2005年就开始设想,只是当时用户集中统一认证工作才刚刚正式开始实施,那个时候再开始实施用户集中授权工作存在许多的困难,特别是工作量较大,再加上思想意思还没有完全到位,所以就放到今天还没有开始实施,但这个方案从理论上和实践上都不会有问题,是一个完全行的通的技术方案.本文公开此技术方案是想和同行们共同探讨和分享信息化技术成果,有不妥之处敬请批评指正。

 

本文作者:夏明忠 夏以轩 姜丽萍 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读