执行标识映射以跨不同领域中的服务器进行授权

标识映射是在两台服务器之间用户标识的一对一映射,这样下游的服务器就能作出正确的授权决策。 当需要集成服务器时,标识映射是必需的,但用户注册表是不同的,并且在系统之间不共享。

有关此任务

在多数情况下,请求在作为同一安全域的一部分的两台服务器之间向下游传递。 在WebSphere® Application Server,属于同一个单元的两个服务器也是属于同一个安全域的成员。 在同一单元中,两台服务器具有相同的用户注册表和用于令牌加密的相同的轻量级第三方认证 (LTPA) 密钥。 这两个共同性确保不仅可以解密和验证两台服务器之间传递的 LTPA 令牌(在其他用户属性之间),而且还可以将令牌中的用户标识映射到授权引擎所识别的属性。

最可靠的建议的配置涉及同一单元中的两台服务器。 但是,有时候您需要集成无法使用同一用户注册表的多个系统。 当两台服务器的用户注册表不同时,目标服务器的安全域或领域与发送服务器的安全域不匹配。

WebSphere Application Server允许在发送出站请求之前或允许现有安全凭证流向目标服务器之前进行映射。 凭证使用信任目标域的规范进行入站映射。

映射的另一种方法是将没有令牌或密码的用户标识发送到目标服务器(实际上不映射标识)。 用户标识的使用基于两台服务器之间的信任。 使用公共安全互操作性 V2 (CSIv2) 身份断言。 当启用该身份断言时,服务器仅根据原始客户机使用什么来执行初始认证而发送 X.509 证书、主体名称或专有名称 (DN)。 期间CSIv2身份确认,信任建立在WebSphere应用服务器。

目标用户注册表中必须存在用户标识,以使用身份断言。 此过程还可以实现其他 Java™ 2 平台之间的互操作性,Enterprise Edition( J2EE ) 版本1.4以及更高兼容的应用服务器。 如果发送服务器和目标服务器都配置了身份断言, WebSphere Application Server始终使用这种身份验证方法,即使两台服务器位于同一个安全域中。 更多信息CSIv2身份断言,参见向下游服务器进行身份断言

当目标服务器的用户注册表中不存在用户标识时,必须在将请求发送出站前或在请求入站时进行标识映射。 根据您的环境和需求来作出此决策。 但是,由于以下原因,在将请求发送出站前映射用户标识通常更容易:
  • 当现有凭证的用户标识来自发送服务器的用户注册表时,您会知道该用户标识。
  • 因为您没有正在将标识映射到 LTPA 凭证,所以您不需要担心将轻量级第三方认证 (LTPA) 密钥与其他目标域共享。 通常,您正在将标识映射到目标域的用户注册表中存在的用户标识和密码。
当您执行出站映射时,在多数情况下,建议您使用安全套接字层 (SSL) 来保护跨网络发送的安全信息的完整性和机密性。 如果没有在服务器之间共享 LTPA 密钥,那么无法在入站服务器上验证 LTPA 令牌。 在这种情况下,因为无法确定用户标识是否在入站服务器上执行入站映射,所以出站映射是必需的。 有关详细信息,请参阅For more information, see配置到不同目标领域的出站身份映射

当您需要入站映射时,可能因为入站服务器的映射能力,您必须确保两台服务器有相同的 LTPA 密钥,这样您就可以获取对用户标识的访问权。 通常,在服务器之间的安全通信中,LTPA 令牌传递到入站 JAAS 登录配置的 WSCredTokenCallback 回调中,以供客户机认证。 可使用一种方法来允许您打开 LTPA 令牌(如果有效),并获取对用户唯一标识的访问权,这样就可以执行映射。 有关详细信息,请参阅For more information, see配置入站身份映射。 在其他情况下(例如身份断言),可以接收入站登录配置的 NameCallback 回调中的用户名,该用户名使您能映射标识。

此部分阐述了下列主题:

过程

  • 配置入站标识映射
    对于入站身份映射,您可以编写自定义登录模块并配置WebSphere Application Server首先在系统登录配置中运行登录模块。 编写自定义登录模块时请考虑以下步骤:配置入站身份映射
  • 配置到不同目标域的出站标识映射
    默认情况下,当WebSphere Application Server从一个服务器向不同安全领域中的另一个服务器发出出站请求,该请求将被拒绝。 本主题详细描述使一个服务器能够向另一个领域中的目标服务器发送出站请求的备用方法。 有关详细信息,请参阅For more information, see配置到不同目标领域的出站身份映射