SSO(Single Sign on)(ZT)

SSO单点登录解析
本文介绍了SSO(单点登录)的概念及其对企业信息化的重要作用。SSO允许用户仅需登录一次即可访问所有相互信任的应用系统,极大提升了用户体验并简化了系统管理。文章还详细探讨了实现SSO的技术手段,包括基于cookies、Broker-based、Agent-based等多种方法。
SSO(Single Sign on)-单点登录

目前的企业应用环境中,往往有很多的应用系统,如办公自动化(OA)系统,财务管理系统,档案管理系统,信息查询系统等等。这些应用系统服务于企业 的信息化建设,为企业带来了很好的效益。但是,用户在使用这些应用系统时,并不方便。用户每次使用系统,都必须输入用户名称和用户密码,进行身份验证;而 且,应用系统不同,用户账号就不同,用户必须同时牢记多套用户名称和用户密码。特别是对于应用系统数目较多,用户数目也很多的企业,这个问题尤为突出。问 题的原因并不是系统开发出现失误,而是缺少整体规划,缺乏统一的用户登录平台。单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。



一、使用SSO 的好处:

(1)方便用户

在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。用户不再需要每次输入用户名称和用户密码,也不需要牢记多套用户名称和用户密码。单点登录平台能够改善用户使用应用系统的体验。

(2)方便管理员

系统管理员只需要维护一套统一的用户账号,方便、简单。相比之下,系统管理员以前需要管理很多套的用户账号。每一个应用系统就有一套用户账号,不仅给管理上带来不方便,而且,也容易出现管理漏洞。

(3)简化应用系统开发

开发新的应用系统时,可以直接使用单点登录平台的用户认证服务,简化开发流程。单点登录平台通过提供统一的认证平台,实现单点登录。因此,应用系统并不需要开发用户认证程序。



二、实现SSO的技术主要有:

(1)基于cookies实现,需要注意如下几点:如果是基于两个域名之间传递sessionid的方法可能在windows中成立,在 unix&linux中可能会出现问题;可以基于数据库实现;在安全性方面可能会作更多的考虑。另外,关于跨域问题,虽然cookies本身不跨 域,但可以利用它实现跨域的SSO。

(2)Broker-based(基于经纪人),例如Kerberos等;

这种技术的特点就是,有一个集中的认证和用户帐号管理的服务器。经纪人给被用于进一步请求的电子的身份存取。中央数据库的使用减少了管理的代价,并为认证 提供一个公共和独立的"第三方"。例如Kerberos、Sesame、IBM KryptoKnight(凭证库思想)等。

(3)Agent-based(基于代理人)

在这种解决方案中,有一个自动地为不同的应用程序认证用户身份的代理程序。这个代理程序需要设计有不同的功能。比如, 它可以使用口令表或加密密钥来自动地将认证的负担从用户移开。代理人被放在服务器上面,在服务器的认证系统和客户端认证方法之间充当一个"翻译"。例如 SSH等。

(4)Token-based,例如SecurID、WebID、

现在被广泛使用的口令认证,比如FTP,邮件服务器的登录认证,这是一种简单易用的方式,实现一个口令在多种应用当中使用。

(5)基于网关

Agent and Broker-based,这里不作介绍。

(6)基于安全断言标记语言(SAML)实现,SAML(Security Assertion Markup Language,安全断言标记语言)的出现大大简化了SSO,并被OASIS批准为SSO的执行标准。开源组织OpenSAML 实现了 SAML 规范,可参考http://www.opensaml.org 。



三、SUN SSO技术

SUN SSO技术是Sun Java System Access Manager产品中的一个组成部分。
Sun 的新身份管理产品包括Sun Java System Identity Manager、Sun Java System Directory Server Enterprise Edition 和 Sun Java System Access Manager,以上三者为Sun Java Identity Management Suite (身份识别管理套件)的组成部分,它们与Sun Java Application Platform Suite、Sun Java Availability Suite、Sun Java Communications Suite、Sun Java Web Infrastructure Suite组成Java ES。具有革新意义的这一系列产品提供端到端身份管理,同时可与 60 多种第三方资源和技术实现互操作,集成产品可以从SUN公司网站下载,一般以Agent软件方式提供,是业内集成程序最高、最为开放的身份管理解决方案之 一。
在Sun 的新身份管理产品中,Sun Java System Access Manager是基中的一个重要组成部分,Java Access Manager基于J2EE架构,采用标准的API,可扩展性强,具有高可靠性和高可用性,应用是部署在Servlets容器中的,支持分布式,容易部署 且有较低的TCO。通过使用集中验证点、其于角色的访问控制以及 SSO,Sun Java System Access Manager 为所有基于 Web 的应用程序提供了一个可伸缩的安全模型。它简化了信息交换和交易,同时能保护隐私及重要身份信息的安全。


SUN SSO 实现原理

SSO的核心在于统一用户认证,登录、认证请求通过IDENTITY SERVER服务器完成,然后分发到相应应用。


SUN SSO是java Access Manager的一个组成部分,SSO基于Cookie实现解释如下:
(1)Policy Agent on Web or Application Server intercepts resource requests and enforces access control;

(2)Client is issued SSO token containing information for session Validation with Session service.

(3)SSO token has no content- just a long random string used as a handle.

(4)Web-based applications use browser session cookies or URL rewriting to issue SSO token.

(5)Non Web applications use the SSO API(Java/c) to obtain the SSO token to validate the users identity.

SUN SSO 的应用

这里说的应用是指Sun Java System Access Manager的应用。成功应用例子很多,包括德国电信等公司的应用,国内也有大量高校在使用,也有相当多的其它行业的应用。


SUN SSO的开源
Sun 将发布其网络验证与网络单点登录技术,给一项新的开放源代码计划“Open Web Single Sign-On”(Open SSO)。OpenSSO网站位于:https://opensso.dev.java.net 。 该网站对OpenSSO的概述为:This project is based on the code base of Sun Java(tm) System Access Manager Product, a core identity infrastructure product offered by Sun Microsystems.

OpenSSO 计划的第一部份源代码,将于今年年底完成,基本的版本将于明年3月份发布,而完整的版本可能要等到明年五月份。Sun 采用与Solaris 操作系统相同的共同开发暨流通授权(Common Development and Distribution License)方式。




四、CAS 背景介绍

CAS(Central Authentication Service),是耶鲁大学开发的单点登录系统(SSO,single sign-on),应用广泛,具有独立于平台的,易于理解,支持代理功能。CAS系统在各个大学如耶鲁大学、加州大学、剑桥大学、香港科技大学等得到应 用。

Spring Framework的Acegi安全系统支持CAS,并提供了易于使用的方案。Acegi安全系统,是一个用于Spring Framework的安全框架,能够和目前流行的Web容器无缝集成。它使用了Spring的方式提供了安全和认证安全服务,包括使用Bean Context,拦截器和面向接口的编程方式。因此,Acegi安全系统能够轻松地适用于复杂的安全需求。Acegi安全系统在国内外得到了广泛的应用, 有着良好的社区环境。

CAS 的设计目标

(1)为多个Web应用提供单点登录基础设施,同时可以为非Web应用但拥有Web前端的功能服务提供单点登录的功能;

(2)简化应用认证用户身份的流程;

(3)将用户身份认证集中于单一的Web应用,让用户简化他们的密码管理,从而提高安全性;而且,当应用需要修改身份验证的业务逻辑时,不需要到处修改代码。

CAS 的实现原理


CAS(Central Authentication Server)被设计成一个独立的Web应用。实现原理非常简单,CAS Server

CAS 在应用中的运行硬件环境
University of

CAS创建一个位数很长的随机数(ticket)。CAS把这个ticket和成功登录的用户以及用户要访问的service联系起来。例如,如果用户 peon重定向自service S,CAS创建ticket T,这个ticket T允许peon访问service S。这个ticket是个一次性的凭证;它仅仅用于peon和仅仅用于service S,并且只能使用一次,使用之后马上会过期,即ticket通过验证,CAS立即删除该ticket,使它以后不能再使用。这样可以保证其安全性。

关于ST,在取一个ST时,即使用deleteTicket(ticketId)同时将一次性的ST删除;而对于TGT或PT,则通过resetTimer(ticketId)以更新TGT或PT的时间。在CAS服务端返回的ST中只能得出用户名。
另外,CAS3.0版本也已经发布了,现在最新的版本是3.03,希望CAS3.0在向下兼容的同时,更能向我们提供一些新东西。
<think>嗯,用户需要了解vSphere SSO的详细信息,包括功能、使用方法配置和常见问题解决方案。用户特别提到参考了四篇相关引用资料,其中涉及SSO工作原理、登录流程、密码恢复和节点注销等具体操作。 用户可能是VMware平台的管理员或运维人员,正在搭建或维护vSphere环境。从提问方式看,ta需要系统性知识而非零散操作,说明可能面临实际部署或故障排查需求。尤其关注"常见问题解决",暗示可能遇到了SSO相关故障。 需要重点覆盖三个维度:一是概念解析(为什么需要SSO),二是标准工作流程(引用2的流程图可提炼),三是高频故障点(引用3的密码恢复和引用4的节点注销都属于这类)。特别要注意引用1强调的SSO作为统一认证层的核心价值。 技术细节上需强调:SAML 2.0标准在流程中的作用(引用2步骤2),混合认证机制的支持范围(引用2步骤3),令牌传递的安全逻辑。对于故障排查,密码恢复(引用3)和节点注销(引用4)都是生产环境常见需求,但需注意Windows版和VCSA的操作差异。 考虑到用户可能接触不同版本,在密码恢复部分需标注版本差异(5.5的特定路径),同时提醒新版本推荐使用VAMI界面操作更安全。节点注销命令的--node-pnid参数容易出错,需要举例说明(如引用4的vcsa2.vdi.cn)。 延伸问题设计要引导深层学习:部署拓扑关系到性能(多站点场景),证书问题实际是SSO故障主因之一,与AD集成则是企业用户最常咨询的配置项。 </think>以下是关于 **vSphere Single Sign-On (SSO)** 的详细介绍、使用方法及常见问题解决方案,结合官方文档与最佳实践整理: --- ### **一、SSO 核心概念** 1. **定义** SSO 是 vSphere 的**统一身份认证服务**,充当所有 VMware 组件的安全代理。用户只需登录一次,即可访问所有关联服务(如 vCenter、vSAN、NSX)[^1]。 2. **核心组件** - **身份源**:支持本地用户、Active Directory (AD)、OpenLDAP 等。 - **安全令牌服务 (STS)**:生成 SAML 2.0 令牌用于身份验证[^2]。 - **平台服务控制器 (PSC)**:SSO 的运行载体(6.7 及更早版本)。 --- ### **二、SSO 工作原理** 用户通过 vSphere Client 登录时的流程(引用[2]图解): ```mermaid graph LR A[用户] -->|1. 输入凭据| B(vSphere Client) B -->|2. 发送 SAML 令牌| C[SSO 服务器] C -->|3. 验证身份源| D{认证机制} D -->|本地/AD/OpenLDAP| C C -->|4. 返回令牌| B B -->|5. 访问服务| E[vCenter/vSAN/NSX等] ``` > **关键点**:SAML 令牌有效期内无需重复登录,实现单点登录。 --- ### **三、配置与使用方法** #### **1. 初始配置** - **安装时**:在 vCenter 部署向导中选择 SSO 域名(默认为 `vsphere.local`),设置管理员密码。 - **添加身份源**: ```markdown 步骤: 1. 登录 vCenter > "管理" > "Single Sign-On" > "配置" 2. 选择"身份源" > 添加 Active Directory/LDAP 3. 输入域信息及管理员凭据 ``` #### **2. 重置管理员密码** **场景**:忘记 `administrator@vsphere.local` 密码(引用[3]): ```bash # Windows 版 vCenter 5.5 示例: cd "C:\Program Files\VMware\Infrastructure\VMware\CIS\vmdir" .\vdcadmintool.exe -u administrator -p <新密码> ``` > **注意**:vCenter 6.0+ 需通过 VAMI 界面 (`https://<vCenter_IP>:5480`) 或命令行工具 `sso-config` 重置。 --- ### **四、常见问题解决** #### **1. SSO 服务不可用** - **症状**:登录 vCenter 时提示"无法连接 SSO 服务器"。 - **解决方案**: - 检查 `vmware-sso` 服务状态(重启服务:`service-control --restart vmware-sso`)。 - 验证 PSC 节点的网络连通性。 #### **2. 节点注销失败**(引用[4]) 当需移除故障节点时: ```bash ssh root@vcsa_ip cmsso-util unregister --node-pnid 故障节点域名 --username administrator@vsphere.local --passwd 密码 ``` > **注意**:确保目标节点已离线,否则可能引发集群分裂。 #### **3. 证书问题导致认证失败** - **症状**:令牌验证错误(如 `Invalid SAML token`)。 - **解决方案**: 1. 检查 SSO 与 vCenter 证书是否过期。 2. 通过 `certool --refresh --vpxd` 刷新证书。 --- ### **五、最佳实践** 1. **高可用部署**: - 多个 PSC 节点组成集群(6.7 前版本)或使用 vCenter HA(7.0+)。 2. **定期备份**: - 使用 `vCenter Server Appliance 管理界面` 备份 SSO 配置。 3. **审计日志**: - 监控 `/var/log/vmware/sso.log` 追踪认证事件。 --- ### **
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值