令牌生成器的通用安全性令牌登录模块

进行 Web service 请求时,应用程序服务器将作为 Web Service 安全性认证过程的一部分来为令牌生成器调用通用安全登录模块。

登录模块通过 WS-Trust IssueWS-Trust Validate 请求将令牌生成过程委派给安全性令牌服务 (STS)。STS 处理请求并将 RequestSecurityTokenResponse 消息返回到登录模块。登录模块包括 Web service 请求消息的安全头中 STS 响应消息中的令牌。如果未返回令牌或者 STS 调用中发生错误,那么登录模块将生成一个 LoginException 消息,并且错误将返回到 Web service 客户机。

登录模块及其对安全性令牌服务的使用允许以下操作:
  • 入局或出局安全性令牌为不同令牌类型时交换安全性令牌
  • 将一个身份映射到另一个身份时交换安全性令牌
  • 对授权检查进行评估以确保允许已认证的用户调用目标 Web service
  • RunAs Subject 中调用令牌交换,或者由 Web Service 安全性运行时环境生成令牌交换。 交换是基于为信任请求配置的策略集和绑定。
要将通用安全性令牌登录模块用于令牌生成器,Web Service 安全性策略集绑定中的令牌生成器必须:
  • 指定 Java™ 认证和授权服务 (JAAS) 登录配置名称
  • 指定回调处理程序类名
JAAS 登录配置名称为 wss.generate.issuedToken,回调处理程序类名为 com.ibm.websphere.wssecurity.callbackhandler.GenericIssuedTokenGenerateCallbackHandler。 有关更多信息,请参阅为 Web Service 安全性过程的令牌生成器端中认证令牌配置通用登录模块的文档。

受支持的令牌类型

  • 您可以指定任何令牌类型,前提是其 ValueType 值可以由指定的 STS 来处理。根据您使用的 STS,令牌类型可能包括:
    • 安全性断言标记语言 (SAML) 2.0
    • SAML 1.1
    • 用户名
    • 通行票
    • Kerberos
    • 轻量级第三方认证 (LTPA)
    • Tivoli® Access Manager 凭证
  • 在 SOAP 消息中发送到服务提供程序的请求令牌是策略中指定的令牌。
  • 此令牌只能用于认证。不能将此令牌用作保护令牌。对于 SAML V2.0、1.1 和 1.0,仅支持 bearer 和发送凭单确认方法。

您可以将令牌生成器的通用安全性令牌登录模块配置为使用 WS-Trust IssueWS-Trust Validate 请求以交换或验证安全性令牌。这两个选项在后续部分中描述。

WS-Trust Issue

您可以将令牌生成器的登录模块配置为使用 WS-Trust Issue 以请求安全性令牌。在此方案中,信任客户机会将认证安全性令牌发送到 SOAP 安全头中的 STS。此认证令牌源自以下其中一个位置:
  • 当前安全上下文中的 RunAs Subject
  • 回调处理程序是在信任客户机策略集的绑定中配置
一旦成功处理了 STS 请求,STS 将认证令牌并发出请求的令牌。

WS-Trust Validate

您可以选择为令牌生成器的登录模块配置为使用 WS-Trust Validate 以请求安全性令牌。在此方案中,登录模块将根据配置的令牌 ValueType 值,从 RunAs Subject 中搜索认证安全性令牌。登录模块通过将令牌作为子元素嵌入在 RequestedSecurityToken 元素中,以在信任请求中发送令牌。此令牌可能包装在 ValidateTarget 元素或 Base 扩展元素中。STS 验证 RequestedSecurityToken 元素中的嵌入令牌,并返回新的安全性令牌或验证状态码。如果仅返回验证状态码,那么令牌生成器将使用原始安全性令牌。 尽管,返回的令牌可以具有任何 ValueType 值(如上述在 WS-Trust Issue 使用方案中描述),要验证的令牌必须是以下其中一种令牌类型:
  • SAML 2.0
  • SAML 1.1
  • Username
  • 通行票
  • Kerberos
  • LTPA
  • LTPA V2

使用 WS-Trust IssueWS-Trust Validate

如果以下条件均成立,那么通用登录模块使用 WS-Trust Validate 来验证 RunAs Subject 中的令牌。
  • 当前安全上下文中存在 RunAs Subject
  • 仅存在一个其值类型与请求令牌的 ValueType 值相匹配的安全性令牌
如果 WS-Trust Validate 返回一个有效状态码和安全性令牌,那么返回的令牌便是请求的令牌。如果 WS-Trust Validate 仅返回一个有效状态码,那么 RunAs Subject 中的现有令牌便是请求的令牌。

此外,您可以从 RunAs Subject 中选择令牌以进行验证并将其与请求的令牌进行交换。所选令牌可以具有与请求的令牌不同的 ValueType 值。有关更多信息,请参阅为 Web Service 安全性过程的令牌生成器端中认证令牌配置通用安全性令牌登录模块的文档。

支持的配置 支持的配置: 如果请求的令牌的 ValueType 值是 LTPA 或 LTPA V2 类型,那么通用安全性令牌登录模块将自动抽取 WSCredential。 它将生成 Web Service 安全性 LTPA 或 LTPA V2 令牌以进行验证和交换,前提是满足以下条件:
  • LTPA 或 LTPA V2 安全性令牌在 RunAs Subject 中不存在。
  • WSCredentialRunAs Subject 中存在。

如果与请求令牌的 ValueType 相匹配的 RunAs 主体集中仅具有一个安全性令牌,那么您可以将登录模块配置为不调用 WS-Trust 验证请求,从而不验证匹配的令牌。改为登录模块将匹配令牌发送到下游服务提供程序,而不进行验证。

通用安全性令牌登录模块自动使用 WS-Trust Issue 请求令牌,前提是满足以下条件:
  • RunAs Subject 不存在
  • 匹配的令牌 ValueType 值在 RunAs Subject 中不存在
  • 登录模块无法验证来自 RunAs Subject 的令牌

某个配置选项在通用登录模块中强制使用 WS-Trust IssueWS-Trust Validate。有关更多信息,请参阅为 Web Service 安全性过程的令牌生成器端中认证令牌配置通用登录模块的文档。

sptcfg

策略集

通用安全性令牌登录模块的实现在策略集中不会涉及到新令牌类型。例如,如果您计划使用通用登录模块来生成用户名令牌,那么您可以创建一个将用户名令牌指定为认证令牌的策略集。现有缺省系统登录模块中不支持某些定制令牌类型。但是,您可以使用定制登录模块来实现这些令牌类型。如果指定 STS 支持这些定制令牌类型,那么这些定制令牌类型也受通用安全性令牌登录模块支持。

绑定

在为认证令牌配置绑定时,您具有以下选项:
  • 使用通用登录模块。
  • 使用现有系统缺省登录模块。
  • 创建您自己的定制登录模块。

例如,如果您配置用户名令牌,那么可以使用 wss.generate.unt JAAS 登录配置并保持现有行为。但是,您可以配置 wss.generate.issuedToken JAAS 登录以使用通用安全性令牌登录模块。


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



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