SSO,单一登录(single sign-on),意思是指在多套系统并存的环境下,用户只需登录一次即可访问其他授权的系统。
提起SSO(单一登录),大概企业里的IT人员无人不知,但真正意识到其复杂度的,未必有多少,只有亲身实施过的技术人员,也许才明白个中玄妙。本文基于蓝凌为国内几十家大中型企业的服务案例,针对SSO的相关技术和案例进行一些探讨,希望能帮助到企业IT人员更深刻理解SSO技术及其应用。
一、企业级SSO
SSO涉及的领域大致上可以分为三种:社会性网站间的SSO、部门SSO、企业级SSO。
社会性网站间的SSO主要涉及的帐号信息开放性问题,能否实施成功主要取决于各大网站帐号管理是否遵循相同的标准协议,如Openid、Passport等。
部门级SSO比较简单,一般涉及的系统不多,由技术人员通过编程方式实现即可,但一旦牵涉系统众多,安全性要求高的情况,就不适用了。
企业级SSO是三者中最复杂的领域,因涉及的系统可能五花八门,这些系统也许是老旧的C/S结构系统、可能是某种大型软件系统(如SAP),还可能是某种非web登录方式(如windows域登录);其安全性要求也远比前两者高,如要求同享登录有效时间等,因此企业级SSO在技术难度上是最高的,但也因此是IT人员最愿意钻研的领域。而绝大部分国内企业,其内部系统常常因为历史原因导致多套系统缺乏统一规划,缺乏标准而导致整合代价高昂。因此SSO也是许多大中型企业IT部门比较头疼的事情。
本文主要讨论的领域,就是企业级SSO。
二、深入企业级SSO
SSO是一把双刃剑:SSO可以简化用户登录过程,提升用户的登录体验;同时可以降低IT管理员大量账户和密码维护成本;SSO还提供了符合萨班斯法案的密码集中管理工具;但SSO同时也产生了一种安全风险,某一系统用户身份一旦被攻破,则意味着所有参与SSO网络的应用系统也被穿透。因此需要慎重考虑SSO的范围及安全级别的局限性。
SSO涉及不同层面的需求:SSO的实质是多套系统能否识别同一用户的身份,并在各套系统间实时同步用户身份信息,以支持各套系统进行用户权限控制。基于这样的原因,一套SSO技术至少应该考虑一下四个层面的需求:
1、 单点登录,多点即可同时登录;
2、 单点注销(退出登录),多点即可同时注销;
3、 单点切换用户,多点即可同时切换;
4、 单点登录过期,多点同时过期。
如下图:

现实环境中,一个最佳的SSO环境(整合代价最小)应该是:
1、一个用户在不同系统只有一个共同登录名和密码
2、各套应用系统共享一套用户名和密码信息
3、应用系统采用相同的技术架构且域名后缀相同
而一个最坏的SSO环境(整合代价最大)会体现为:
1、一个用户在不同系统有不同的登录名和密码
2、不同的应用系统各自存储了独立的用户名和密码
3、 应用系统采用不同的技术架构且域名后缀不同,甚至只有IP而无域名。
从我们的实操经验来看,能够提供最佳SSO环境的企业,在国内几乎凤毛麟角,这样的企业必须是非常具有IT战略眼光且IT系统选型非常精准,企业历任IT领导间保持了高度的传承共识、IT规划细致到位才可能做到;而最坏或接近最坏的SSO环境却比比皆是。
幸运的是,即便是最坏的SSO环境,也还是有相应的技术解决方案来支持整合的。
未完,待续。
全文阅读:http://www.landray.com.cn/KM/ShowArticle.aspx?ArticleID=516 |