执行标识映射以跨不同领域中的服务器进行授权
标识映射是在两台服务器之间用户标识的一对一映射,这样下游的服务器就能作出正确的授权决策。当需要集成服务器时,标识映射是必需的,但用户注册表是不同的,并且在系统之间不共享。
关于此任务
在多数情况下,请求在作为同一安全域的一部分的两台服务器之间向下游传递。在 WebSphere® Application Server 中,作为同一单元的成员的两台服务器也是同一安全域的成员。在同一单元中,两台服务器具有相同的用户注册表和用于令牌加密的相同的轻量级第三方认证 (LTPA) 密钥。这两个共同性确保不仅可以解密和验证两台服务器之间传递的 LTPA 令牌(在其他用户属性之间),而且还可以将令牌中的用户标识映射到授权引擎所识别的属性。
最可靠的建议的配置涉及同一单元中的两台服务器。但是,有时候您需要集成无法使用同一用户注册表的多个系统。当两台服务器的用户注册表不同时,目标服务器的安全域或领域与发送服务器的安全域不匹配。
WebSphere Application Server 使得在发送出站请求之前或在使现有安全凭证能传递到目标服务器之前能进行映射。凭证使用信任目标域的规范进行入站映射。
映射的另一种方法是将没有令牌或密码的用户标识发送到目标服务器(实际上不映射标识)。用户标识的使用基于两台服务器之间的信任。使用公共安全互操作性 V2 (CSIv2) 身份断言。当启用该身份断言时,服务器仅根据原始客户机使用什么来执行初始认证而发送 X.509 证书、主体名称或专有名称 (DN)。在 CSIv2 身份断言期间,WebSphere Application Server 之间建立了信任。
目标用户注册表中必须存在用户标识,以使用身份断言。此过程还可以使其他符合 Java™ 2 Platform, Enterprise Edition (J2EE) V1.4 和更高版本的应用程序服务器之间具有互操作性。如果发送服务器和目标服务器都配置了身份断言,那么即使这两个服务器都位于同一个安全域中,WebSphere Application Server 也始终会使用此认证方法。有关 CSIv2 身份声明的更多信息,请参阅下游服务器的身份断言。
- 当现有凭证的用户标识来自发送服务器的用户注册表时,您会知道该用户标识。
- 因为您没有正在将标识映射到 LTPA 凭证,所以您不需要担心将轻量级第三方认证 (LTPA) 密钥与其他目标域共享。通常,您正在将标识映射到目标域的用户注册表中存在的用户标识和密码。
当您需要入站映射时,可能因为入站服务器的映射能力,您必须确保两台服务器有相同的 LTPA 密钥,这样您就可以获取对用户标识的访问权。通常,在服务器之间的安全通信中,LTPA 令牌传递到入站 JAAS 登录配置的 WSCredTokenCallback 回调中,以供客户机认证。可使用一种方法来允许您打开 LTPA 令牌(如果有效),并获取对用户唯一标识的访问权,这样就可以执行映射。有关更多信息,请参阅配置入站标识映射。在其他情况下(例如身份断言),可以接收入站登录配置的 NameCallback 回调中的用户名,该用户名使您能映射标识。
本节讨论以下主题:
过程
- 配置入站标识映射 对于入站标识映射,可以编写定制登录模块,并在系统登录配置中将 WebSphere Application Server 配置成首先运行该登录模块。在编写定制登录模块时,请考虑以下步骤:配置入站标识映射。
- 配置到不同目标域的出站标识映射 缺省情况下,当 WebSphere Application Server 从一个服务器向另一安全领域中的另一个服务器发出出站请求时,该请求将被拒绝。本主题详细描述使一个服务器能够向另一个领域中的目标服务器发送出站请求的备用方法。有关更多信息,请参阅配置到不同目标域的出站标识映射