单一登录_单一登录概念和注意事项

企业门户提供对企业应用程序,文档源,协作工具以及搜索和导航服务的集中访问。 门户可以根据用户需求进行定制,也可以根据用户偏好显示特定内容。 门户可以提供通往组织内所有基于Web的应用程序和服务的网关。 企业门户也可以包括对这些资源的身份验证,从而允许在门户和门户内容提供商之间进行单点登录。

Tivoli Access Manager电子商务(TAMeb)为许多供应商的企业门户软件提供了单点登录解决方案。 例如,这允许最终用户登录到Tivoli Access Manager(TAM)WebSEAL,并且无需额外登录即可访问门户。 如果WebSEAL可以为门户网站提供单一登录解决方案,并且门户网站本身可以向门户网站内容提供者认证用户,那么问题是什么?

本文概述了体系结构上的差异,这些差异可能会影响如何将WebSEAL与门户软件一起使用,以便允许从浏览器到门户,再到内容提供者进行单点登录。

门户内容交付模式

门户网站中显示的内容可以来自多种来源。 这些来源包括门户网站服务器本身或许多门户网站内容提供商。 从内容提供者传递的内容可以通过以下两种方式之一传递:门户网站代理传递模式和门户网站重定向传递模式。 下面概述了每种模式。

门户网站代理模式

门户网站代理方法涉及从内容提供者通过门户网站到浏览器的内容代理。 浏览器仅与门户网站服务器建立连接,而未直接连接到内容提供者。 门户网站服务器充当对内容提供者的请求的代理。 应当注意,在这种模式下,门户网站服务器和内容提供者之间的流量不一定必须是HTTP(S),而是必须通过多种协议(例如WSRP)进行。 门户服务器和内容提供者之间使用的协议不一定相关。

图1. Portal代理内容交付模式
单一登录_单一登录概念和注意事项
  1. 浏览器发出内容请求。
  2. 门户网站服务器向内容提供者请求内容。
  3. 内容提供者将内容返回到门户服务器。
  4. 门户网站服务器将内容返回到浏览器。

门户网站重定向模式

门户网站重定向模式涉及将浏览器重定向到内容提供者以接收内容。 浏览器直接连接到门户网站服务器和内容提供者。 例如,可以使用iframe在门户页面内显示来自内容提供者的内容。 对于用户而言,与内容提供者的连接是透明的。 在这种模式下,浏览器和内容提供者之间的流量为HTTP(S)。

图2.门户重定向内容交付模式
单一登录_单一登录概念和注意事项
  1. 浏览器发出内容请求。
  2. 门户网站服务器将用户重定向到内容提供者。
  3. 浏览器从内容提供商请求内容。
  4. 内容提供商将内容返回到浏览器。

单点登录领域

可以在涉及WebSEAL的门户环境中标识多个登录领域。 这些领域是桌面SSO领域Web SSO领域Portlet SSO领域 下图说明了这些领域中的每一个。

图3.登录领域
单一登录_单一登录概念和注意事项

桌面SSO领域

桌面SSO领域涉及从桌面到WebSEAL服务器的单点登录。 对于Microsoft®桌面操作系统,这可能涉及使用SPNEGO对WebSEAL进行认证。 尽管Desktop SSO领域是单点登录解决方案中的重要领域,但门户网站环境中并不需要Desktop SSO。 该领域仅显示出门户网站SSO解决方案中可能涉及的SSO领域数量。

Web SSO领域

Web SSO领域提供对组织内Web服务器,服务和应用程序的单点登录。 如图3所示,这可以包括门户网站服务器和内容提供者。 WebSEAL支持许多身份验证选项,以对后端服务器执行SSO。 这些包括:

  1. 基本认证
  2. HTTP标头验证
  3. 形成单点登录
  4. LTPA令牌认证

Portlet SSO领域

Portlet SSO领域涉及管理从门户到内容提供者的单点登录。 门户负责处理所有内容提供者的请求,并将其发送回用户。 根据所使用的门户产品,portlet SSO领域可能存在或可能不存在,但可能会提供进一步的集成机会。

如图3所示,内容提供程序可以基于每个上下文提供程序存在于Portlet SSO领域或Web SSO领域中。 这是设计门户网站SSO解决方案时需要考虑的重要点。

门户网站单点登录模式

门户网站单点登录模式基于门户网站内容交付模式。 这些模式显示了如何根据门户网站产品可能使用的交付模式执行单点登录。 门户网站代理交付模式有一个单点登录模式,门户网站重定向内容交付模式有两个单点登录模式。 这些概述如下。

门户网站代理SSO模式

门户网站代理SSO模式直接从门户网站代理内容交付模式派生。 以下内容描述了此门户网站SSO模式中的内容流。

图4.门户网站代理SSO模式
单一登录_单一登录概念和注意事项
  1. 浏览器向WebSEAL进行认证。
  2. WebSEAL使用SSO技术将用户登录到门户。
  3. 门户网站服务器将请求代理到内容提供者。
  4. 内容提供者将内容返回到门户服务器。
  5. 门户网站服务器将内容返回到WebSEAL。
  6. WebSEAL将内容返回到浏览器。

从上图可以看出,该模式可以涉及三个单点登录领域。 这些是:

  • 桌面SSO领域
  • Web SSO领域
  • Portlet SSO领域

在这种情况下,门户网站服务器包含在Web SSO领域内,而内容提供程序包含在Portlet SSO领域内。 这意味着浏览器负责向WebSEAL认证用户。 WebSEAL负责对门户网站的用户进行认证; 门户负责向内容提供者验证用户身份。 WebSEAL向门户网站服务器提供用户标识,并且门户网站服务器有责任确保将正确的标识传递给内容提供者。 使用此模式的一个示例是将WebSEAL与IBMWebSphere®Portal Server一起使用,其中IBM WebSphere Portal Server使用其凭证保险库。

图5.门户网站代理SSO模式-IBM WebSphere示例
单一登录_单一登录概念和注意事项
  1. 用户通过WebSEAL向门户发出请求。
  2. WebSEAL对用户进行身份验证,发出LTPA令牌,然后将令牌和请求发送给IBM WebSphere Portal Server。
  3. 门户网站服务器使用LTPA令牌对用户进行身份验证,检查请求并进行凭证保险库查找,以确定所请求的内容提供者(例如WebSphere Application Server应用程序)的凭证。 凭证加​​上内容请求将发送到WebSphere Application Server应用程序。
  4. WebSphere Application Server应用程序使用门户网站服务器提供的凭证对用户进行身份验证,然后返回内容。
  5. WebSphere Portal Server将内容发送到WebSEAL。
  6. WebSEAL将内容发送到浏览器。

专有令牌SSO模式

专有令牌SSO模式是从门户重定向内容交付模式派生的。 此模式使用专有令牌,该令牌传递给内容提供者并由内容提供者使用以认证用户。 令牌包含门户网站服务器提供的身份信息,供内容提供商使用。 门户服务器履行令牌提供者角色,而内容提供商履行令牌使用者角色。

图6.专有令牌SSO模式
单一登录_单一登录概念和注意事项
  1. 用户向WebSEAL认证。
  2. WebSEAL使用SSO技术将用户登录到门户。
  3. 门户返回到浏览器的重定向以及可用于访问内容提供商的专有令牌。
  4. 浏览器遵循重定向,并在请求中包含专有令牌。
  5. 专有令牌用于向内容提供者认证用户。
  6. 来自内容提供者的内容返回到浏览器。

从上图可以看出,该模式可以涉及两个单点登录领域。 这些是:

  • 桌面SSO领域
  • Web SSO领域

在这种情况下,门户网站服务器和内容提供者包含在Web SSO领域内。 应该注意的是,在这种模式下不存在portlet SSO领域。 这意味着浏览器负责向WebSEAL认证用户,而WebSEAL负责向门户网站和内容提供者认证用户。 这是通过使用令牌执行的,该令牌由门户网站发行,随后由内容提供商使用。 门户网站服务器捕获提供给WebSEAL的用户身份,并将其放入专有令牌中。 通过提供门户网站发行的令牌,可以在内容提供商处对用户进行身份验证。 为了使内容提供者使用门户颁发的令牌,必须在门户服务器和内容提供者之间建立信任。 使用此模式的一个示例是将WebSEAL与SAP NetWeaver Portal Server一起使用。

图7.专有令牌SSO模式-SAP示例
单一登录_单一登录概念和注意事项
  1. 用户通过WebSEAL向门户发出请求。
  2. WebSEAL对用户进行认证,并将请求以及一些认证信息(标头)发送到SAP NetWeaver Portal服务器。
  3. 门户网站服务器以cookie的形式发行MYSAPSSO2令牌,并将其以及内容返回到WebSEAL。
  4. WebSEAL将内容和MYSAPSSO2令牌转发到浏览器。
  5. 浏览器遵循来自SAP内容提供商(例如SAP ERP)的内容的重定向(iframe或src请求),并在请求中包含MYSAPSSO2令牌。
  6. WebSEAL将内容请求以及MYSAPSSO2令牌发送到SAP ERP服务器。
  7. SAP内容提供者信任由SAP NetWeaver门户服务器发出的MYSAPSSO2令牌,对用户进行身份验证并将SAP ERP内容发送到WebSEAL。
  8. WebSEAL将内容提供者的内容发送到浏览器。

标准WebSEAL单一登录模式

标准的WebSEAL单一登录模式利用WebSEAL单一登录机制对门户网站和内容提供者执行SSO。 此模式是从门户网站重定向内容交付模式派生的。 标准WebSEAL技术(例如基本认证,HTTP头认证或表单单点登录)用于对门户网站和内容提供者执行SSO。

图8.标准WebSEAL SSO模式
单一登录_单一登录概念和注意事项
  1. 用户向WebSEAL认证。
  2. WebSEAL使用SSO技术将用户登录到门户。
  3. 门户网站将重定向返回到浏览器。
  4. 浏览器将通过WebSEAL重定向到内容提供者。
  5. WebSEAL使用标准的SSO技术来执行对内容提供者的单点登录。
  6. 来自内容提供者的内容返回到浏览器。

从上图可以看出,该模式仅涉及两个登录领域。 这些是:

  • 桌面SSO领域
  • Web SSO领域

在这种情况下,门户网站服务器和内容提供者包含在Web SSO领域内。 请注意,此模式中不存在portlet SSO领域。 这意味着浏览器负责向WebSEAL认证用户,而WebSEAL负责向门户网站和内容提供者认证用户。 与前两种方法相反,门户服务器负责确保将用户身份传递给内容提供者,在这种情况下,这是WebSEAL的责任。 此方法可以与许多门户网站产品一起使用。 下面显示了一个使用PeopleSoft Financials作为内容提供者的包含PeopleSoft Portal的特定示例。

图9.标准WebSEAL SSO模式-PeopleSoft示例
单一登录_单一登录概念和注意事项
  1. 用户通过WebSEAL向门户发出请求。
  2. WebSEAL对用户进行身份验证,然后将请求以及一些身份验证信息(标头)发送到PeopleSoft Portal服务器。
  3. 门户网站服务器发出PeopleSoft PS_TOKEN cookie,并将其以及内容返回到WebSEAL。
  4. WebSEAL修改PS_TOKEN cookie以包括连接点(例如,/ portal / PS_TOKEN),并将修改后的cookie和PeopleSoft Portal服务器内容发送到浏览器。
  5. 浏览器遵循来自PeopleSoft Financials内容提供商的内容的重定向(iframe或src请求)。
  6. WebSEAL对用户进行认证,然后将内容请求以及一些认证信息(标头)发送到PeopleSoft Financials内容提供者。
  7. PeopleSoft Financials内容提供者发出PeopleSoft PS_TOKEN cookie,并将其以及内容返回到WebSEAL。
  8. WebSEAL修改PS_TOKEN cookie以包括连接点(例如,/ financials / PS_TOKEN),并将修改后的cookie和PeopleSoft Financials内容发送到浏览器。

上面的示例突出了此模式中的许多复杂性。 它表明在某些情况下,WebSEAL和浏览器可能需要管理多个具有相同名称的cookie。

WebSEAL注意事项

一般考虑

对于上述每个门户网站SSO模式,每个因素都有一个共同的考虑因素; 也就是说,确定如何从WebSEAL到门户网站服务器实现SSO。 IBM开发了许多集成解决方案,概述了如何为各种门户产品实现SSO。 这些解决方案包括但不限于以下解决方案:

以下各节概述了每种门户网站SSO模式的特定注意事项。

门户网站代理SSO模式

对于门户网站代理SSO模式,仅需要一个WebSEAL联结。 此联结创建到门户网站服务器,并且使用标准SSO技术向门户网站认证TAM用户。 门户网站处理从内容提供者请求的内容,因此,内容提供者不需要WebSEAL联结。

此模式的主要考虑因素是确定用户身份如何从Web SSO领域进入Portal SSO领域,即,门户产品如何将用户的门户身份映射到内容提供者身份。 这种考虑不在本文的讨论范围之内。 但是,可能的解决方案可以利用TAM全球登录(GSO)密码箱。 TAM GSO密码箱允许使用TAM Admin API以编程方式检索资源凭证的安全存储。 因此,门户网站产品可以使用TAM GSO密码箱来存储用户的内容提供商凭据,以用于Portal SSO领域中的身份验证。 TAM GSO密码箱可用于IBM WebSphere Portal Server。

专有令牌SSO模式

此模式需要使用多个WebSEAL联结。 门户网站服务器和每个内容提供者都需要连接。 以其最简单的形式,该模式需要两个结点。

为了对门户网站执行SSO,与门户网站服务器的联结需要利用WebSEAL SSO技术。 根据门户网站服务器,存在许多集成方案。 这些可以利用SSO技术(例如基本身份验证,HTTP标头身份验证)和单点登录(仅举几例)。

由于这种模式的性质,与内容提供者的联结不需要其他SSO参数。 门户网站服务器为内容提供者发出的令牌通过WebSEAL联结用于向内容提供者进行认证。 这意味着只要维护门户网站服务器发出的令牌(通常以cookie的形式),而无需其他SSO设置就可以了。 更具体地说,必须将WebSEAL配置为允许由门户生成的cookie从门户联结传递到内容提供者联结。

因为此模式涉及WebSEAL处理来往门户服务器和内容提供者的请求,所以必须考虑到门户提供的内容提供者的链接。 具体来说,如果以WebSEAL标准URL过滤技术可以处理的方式指定链接,则该链接可以只是内容提供者的直接URL(即不是WebSEAL联结版本); 减轻了门户网站管理员了解WebSEAL的需要。 另一方面,如果链接无法通过WebSEAL标准URL过滤技术处理(例如,使用动态客户端Javascript™),则门户网站管理员必须指定URL的WebSEAL感知版本。 该链接必须包含WebSEAL主机名和与相关内容提供者的适当连接。

标准WebSEAL单一登录模式

该模式与专有令牌SSO模式相似,因为它需要使用多个WebSEAL联结。 门户服务器需要一个结点,而每个内容提供者都需要一个结点。 按照专有令牌SSO模式,为了对门户网站执行SSO,与门户网站服务器的联结需要利用WebSEAL SSO技术。 另外,必须考虑到内容提供商的链接,如专有令牌SSO模式中所述。

此模式与专有令牌SSO模式之间最显着的区别是WebSEAL对内容提供者使用Web SSO技术的要求。 内容提供者不了解门户网站服务器,因此WebSEAL负责提供用户的凭证。 通常,这是使用WebSEAL SSO技术完成的,并且取决于内容提供者的认证功能。 IBM为流行的内容提供商(例如SAP,Siebel,PeopleSoft和Oracle)开发了许多集成解决方案。 请参阅参考资料部分,以获取集成解决方案的链接。

另一个注意事项是管理由门户网站和内容提供商创建的cookie。 每个内容提供商都可以生成一个新的cookie,以保存该提供商的特定身份信息。 浏览器将存储每个内容提供者的cookie以及WebSEAL和门户网站服务器cookie。 如果有大量的内容提供程序,或者浏览器的cookie罐只能存储几个cookie,则cookie罐可能会爆裂。 另外,如上面的PeopleSoft示例所示,可能需要使用WebSEAL对cookie进行修改,以使它们不会在浏览器中被覆盖。

确定使用哪种方法

使用反向代理(例如WebSEAL)设计门户网站单点登录解决方案时,一个重要的问题是“什么是最佳使用方法”。 不幸的是,没有一种方法可以与所有门户网站服务器和所有内容提供程序兼容。 下面概述的一系列准则应有助于确定使用哪种方法。

确定可用的门户网站内容交付方式

第一步是确定哪些门户网站内容交付模式适用于解决方案中使用的门户网站服务器。 这样做可能需要深入了解门户网站服务器的功能。 建议研究相关文档并联系门户网站服务器提供商。 大多数门户网站服务器至少将支持门户网站重定向模式。

如果门户网站服务器提供了门户网站代理模式,则很可能还将通过使用凭证保险库(或其他提供类似功能的技术)来提供门户网站代理SSO模式。 但是,您不应将选项限制为该模式。

如果门户网站服务器仅提供门户网站重定向模式,那么您将只能使用专有令牌SSO模式或标准WebSEAL单一登录模式。

确定可用的门户网站SSO模式

如上一节所述,门户内容交付模式可能会影响门户SSO模式的可用性。 然后确定一组可用的Portal SSO模式,然后确定每个内容提供者的身份验证方法。

如果内容提供者不能从门户接受专有令牌,那么专有令牌SSO模式不是一个选择。

另外,如果没有为内容提供者开发的WebSEAL SSO解决方案,则确定标准WebSEAL SSO模式是否是一个选择可能会很困难。 请注意,如果不存在WebSEAL SSO解决方案,这并不意味着“标准WebSEAL SSO模式”没有选项。 它可能仅影响实现的复杂性(如下所述)。

确定WebSEAL注意事项

大多数门户实施将涉及不止一个内容提供商,因此将需要不止一种SSO模式方法。 如WebSEAL注意事项部分所述,每种SSO模式都会对WebSEAL的配置产生影响。 应该检查可用的SSO模式,以确定是否与另一个内容提供者所要求的另一个SSO模式的WebSEAL配置要求冲突。 作为选择,应该消除冲突的模式。

确定实施的复杂性

当确定门户网站SSO模式集时,最终的决定因素将是实现每个解决方案的复杂性。 但是,确定复杂度通常是主观的。 也就是说,实施者的能力和软件技巧可能会说服决策,在设计任何Portal SSO解决方案时都应考虑到这一点。

例如,您可能会发现专有令牌SSO模式和标准WebSEAL单点登录模式都可用-与PeopleSoft应用程序一样。 对于PeopleSoft,与标准WebSEAL单一登录模式的要求相比,作者认为配置专有令牌SSO模式既麻烦又耗时。 但是,这可能是因为作者精通PeopleSoft的WebSEAL SSO方法。

实现复杂性的另一方面是对性能的影响。 尚未对各种选择的影响进行过研究; 但是,任何需要对令牌解密的解决方案都可能比WebSEAL SSO解决方案对性能的影响更大。

结论

本文显示,设计一个包含企业门户,企业应用程序和认证反向代理(例如WebSEAL)的单一登录解决方案可能会更复杂,以至于首次出现时。 但是,通过确定门户网站的单点登录模式,通过讨论门户网站的内容交付模式和单点登录域,可以降低这种解决方案的复杂性。 通过考虑基于WebSEAL的解决方案,可以进一步降低表面上的复杂性。

致谢

我们要感谢Ray Neucom对本文的单点登录领域部分的投入。


翻译自: https://www.ibm.com/developerworks/tivoli/library/t-ssocandc/index.html