使用 SPNEGO TAI(不推荐使用)的 HTTP 请求的单点登录

WebSphere® Application Server 提供了一个信任关联拦截器 (TAI),该 TAI 使用“简单且受保护的 GSS-API 协商机制”(SPNEGO) 对 WebSphere Application Server 中的安全资源的 HTTP 请求进行安全地协商和认证。

不推荐使用的功能部件 不推荐使用的功能部件:

WebSphere Application Server V6.1 中引入了信任关联拦截器 (TAI),TAI 使用“简单且受保护的 GSS-API 协商机制”(SPNEGO) 来对安全资源的 HTTP 请求进行安全地协商和认证。在 WebSphere Application Server 7.0 中,现在已不推荐使用此功能。SPNEGO Web 认证已取代该 TAI,以提供动态重新装入 SPNEGO 过滤器的功能以及对应用程序登录方法启用回退。

请参阅使用 SPNEGO Web 认证创建 HTTP 请求的单点登录以了解更多信息。

depfeat

SPNEGO 是简单且受保护的 GSS-API 协商机制 (IETF RFC 2478) 中定义的一项标准规范。

启用了 WebSphere Application Server 管理安全性时,将初始化 SPNEGO TAI。在处理入站 HTTP 请求时,Web 认证器组件将与 SPNEGO TAI 交互,SPNEGO TAI 是在安全性配置库中定义和启用的。选择了一个拦截器,它负责认证对 HTTP 请求中确定的受保护资源的访问。
要点: TAI 是一个可选功能部件。如果未选择 TAI,认证过程仍会正常进行。

HTTP 用户在其桌面上只进行一次登录和认证,然后将(在内部)向 WebSphere Application Server 进行认证。对于 WebSphere 应用程序的最终用户来说,SPNEGO TAI 是不可视的。SPNEGO TAI 仅对于 Web 管理员是可视的,Web 管理员负责维护 Web 环境并确保它具有正确的配置和容量。

要彻底启用 SPNEGO TAI 操作,除了需要 WebSphere Application Server 安全性运行时服务以外,还需要一些外部组件。这些外部组件包括:
  • [Windows]具有 Active Directory 域和相关联的 Kerberos 密钥分发中心 (KDC) 的 Microsoft Windows Server。有关受支持 Microsoft Windows Server 的信息,请参阅“Windows 上的 WebSphere Application Server V9.0 的系统需求”。
  • 支持 IETF RFC 2478 中定义的 SPNEGO 认证机制的客户机应用程序,如浏览器或 Microsoft .NET 客户机。Microsoft Internet Explorer V5.5 或更高版本以及 Mozilla Firefox V1.0 是浏览器示例。任何浏览器都需要配置为使用 SPNEGO 机制。有关执行此配置的更多信息,请参阅将客户端浏览器配置为使用 SPNEGO TAI(不推荐)
会由请求者(客户机端)触发 HTTP 请求的认证,这将生成 SPNEGO 令牌。WebSphere Application Server 接收此令牌,并验证请求者与 WebSphere Application Server 之间的信任关系。更明确地说,SPNEGO TAI 从 SPNEGO 令牌中检索请求者的标识并对它进行解码。该标识用来在请求者与应用程序服务器之间建立安全上下文。
切记: SPNEGO TAI 是 WebSphere Application Server 中的一种服务器端解决方案。客户端应用程序负责生成 SPNEGO 令牌供 SPNEGO TAI 使用。WebSphere Application Server 安全性注册表中的请求者标识必须与 SPNEGO TAI 检索到的标识完全相同。当 Microsoft Windows Active Directory 服务器是 WebSphere Application Server 中使用的“轻量级目录访问协议”(LDAP) 服务器时,该标识就会完全匹配。定制登录模块是作为插件提供的,用来支持从 Active Directory 到 WebSphere Application Server 安全性注册表的定制标识映射。有关使用此定制登录模块的详细信息,请参阅将 Kerberos 客户机主体名称映射至 SPNEGO TAI 的 WebSphere 用户注册表标识(不推荐)。
WebSphere Application Server 将针对安全注册表来验证标识,如果验证成功,那么会生成一个轻量级第三方认证 (LTPA) 安全性令牌,然后将一个 cookie 放入 HTTP 响应中并返回给请求者。此请求者后续发出的 HTTP 请求(用于访问 WebSphere Application Server 中的其他受保护资源)会使用先前创建的 LTPA 安全性令牌以避免发生重复登录问题。

下图中说明了提问应答握手过程:

图 1. 处理 HTTP 请求,WebSphere Application Server - SPNEGO TAI提问应答握手过程。WebSphere Application Server 将针对安全注册表对标识进行验证,如果验证成功,那么将生成一个轻量级第三方认证 (LTPA) 安全性令牌,然后将一个 cookie 放入 HTTP 响应中并返回给请求者。此请求者的后续 HTTP 请求(用于访问 WebSphere Application Server 中的其他受保护资源)将使用先前已创建的 LTPA 安全性令牌,以避免重复登录。
可以对 WebSphere Application Server 单元配置中的全部或所选 WebSphere Application Server 启用 SPNEGO TAI。另外,每个 SPNEGO TAI 实例的行为由定制配置属性来控制,而定制配置属性可确定用于过滤 HTTP 请求的条件(例如,用来构造 Kerberos 服务主体名称 (SPN) 的主机名和安全领域名)。有关建立和设置 SPNEGO TAI 定制配置属性的更多信息,请参阅以下主题:

Web 管理员对下列 SPNEGO TAI 安全性组件及相关配置数据具有访问权,如下图中所述。

图 2. SPNEGO TAI 安全性和配置元素SPNEGO TAI 安全性和配置元素:Web 认证模块、SPNEGO 信任关联拦截器、JGSS 与 SPNEGO 安全提供程序、Kerberos 配置与 Kerberos 密钥表文件、SPNEGO TAI 配置属性和 JVM 系统属性。
  • Web 认证模块和轻量级第三方认证 (LTPA) 机制为信任关联拦截器提供了插件运行时框架。有关配置 LTPA 机制以与 SPNEGO TAI 配合使用的更多详细信息,请参阅配置轻量级第三方认证机制
  • Java 类属安全性服务 (JGSS) 提供程序包含在 Java SDK ([AIX Solaris HP-UX Linux Windows][z/OS]jre/lib/ibmjgssprovider.jar[IBM i]app_server_root/java/endorsed/ibmjgssprovider.jar) 中,用来获取用于认证的 Kerberos 安全上下文和凭证。IBM® JGSS 1.0 是一个 Java 类属安全性服务应用程序编程接口 (GSSAPI) 框架,它将 Kerberos V5 作为底层的缺省安全性机制。GSSAPI 是一个标准的抽象接口,可以基于专用密钥、公用密钥和其他安全性技术在该接口中插入不同的安全性机制。GSSAPI 可使安全应用程序不必考虑各种底层安全性机制的复杂性和特殊性。GSSAPI 提供了标识和消息来源认证、消息完整性和消息机密性。有关更多信息,请参阅 JGSS
  • Kerberos 配置属性(krb5.confkrb5.ini)和 Kerberos 加密密钥(存储在 Kerberos 密钥表文件中)用来建立相互之间的安全认证。

    作为 JGSS 一部分的 Kerberos 密钥表管理器 (Ktab) 允许您管理存储在本地 Kerberos 密钥表文件中的主体名称和服务密钥。Kerberos 密钥表文件中列示的主体名称和密钥对允许在主机上运行的服务向 Kerberos 密钥分发中心 (KDC) 认证它们自己。在服务器可以使用 Kerberos 之前,必须在运行该服务器的主机上初始化 Kerberos 密钥表文件。

    使用 ktab 命令来管理 Kerberos 密钥表文件重点描述了 SPNEGO TAI 的 Kerberos 配置要求以及 Ktab 的使用。

  • SPNEGO 提供程序提供了 SPNEGO 认证机制的实现(位于 [AIX Solaris HP-UX Linux Windows][z/OS]/$WAS_HOME/java/jre/lib/ext/ibmspnego.jar[IBM i]app_server_root/java/ext/ibmspnego.jar 中)。
  • 定制配置属性用于控制 SPNEGO TAI 的运行时行为。配置操作是使用管理控制台或脚本编制工具来执行的。有关这些定制配置属性的更多信息,请参阅 SPNEGO TAI 定制属性配置(不推荐)
  • Java 虚拟机 (JVM) 定制属性控制诊断跟踪信息以对 JGSS 安全提供程序进行问题确定,并控制如何使用属性重新装入功能。SPNEGO TAI JVM 配置定制属性(不推荐) 描述了这些 JVM 定制属性。
WebSphere Application Server 使用 SPNEGO TAI 具有下列好处:
  • [Windows]会建立使用 Active Directory 域并具有 Microsoft Windows Server 的集成单点登录环境。
  • 会降低管理大量标识和密码的成本。
  • 对于来自 Web 浏览器或 Microsoft .NET 客户机的安全凭证,将安全地传输这些凭证并且互相进行认证。
  • 能够与在传输层使用 SPNEGO 认证的 Web Service 和 Microsoft .NET 应用程序进行互操作。
要在 WebSphere Application Server 环境中使用 SPNEGO TAI,需要先进行规划然后再实现。有关规划 SPNEGO TAI,请参阅SPNEGO TAI 的单点登录功能 - 核对表(不推荐)。在使用 SPNEGO TAI 时,涉及到下列几方面的职责:
浏览器最终用户
最终用户必须配置 Web 浏览器或 Microsoft .NET 应用程序,以发出由 SPNEGO TAI 来处理的 HTTP 请求。
Web 管理员
Web 管理员负责配置 WebSphere Application Server 的 SPNEGO TAI,以对来自客户机的 HTTP 请求作出响应。
WebSphere Application Server 管理员
WebSphere Application Server 管理员负责配置 WebSphere Application Server 和 SPNEGO TAI 以获得最佳安装性能。
有关使用 SPNEGO TAI 时需要执行的任务以及责任方如何执行这些任务的说明,请参阅使用 SPNEGO TAI 创建 HTTP 请求的单点登录(不推荐)

指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_SPNEGO_overview
文件名:csec_SPNEGO_overview.html