下游服务器的身份断言
当客户机认证到服务器,那么设置已接收的凭证。当授权引擎检查凭证以确定是否允许访问时,它还设置调用凭证。身份断言是一个调用凭证,该凭证是对下游服务器声明的。
当客户机认证到服务器,那么设置已接收的凭证。当授权引擎检查凭证以确定是否允许访问时,它还设置“调用”凭证,以便在 Enterprise JavaBeans (EJB) 方法调用其他服务器上的另一个 EJB 方法时,调用凭证可以是用于启动下游方法的标识。 根据企业 Bean 的 RunAs 方式,调用凭证将设置为产生客户机标识、服务器标识或指定的不同标识。无论设置的标识是什么,当启用身份断言时,它是断言到下游服务器的调用凭证。
调用凭证标识发送到身份令牌中的下游服务器。此外,当启用基本认证时,发送服务器标识(包括密码或令牌)是在客户机认证令牌中发送的。当启用客户机证书认证时,发送服务器标识是通过安全套接字层 (SSL) 客户机证书认证发送的。基本认证优先于客户机证书认证。
- 发送到接收服务器的发送服务器身份是一个 GSSUP 令牌(用户标识和密码)或一个 SSL 客户机证书。在 z/OS® 上,当活动用户注册表为本地操作系统且已启用 SAF 授权时,会发送 MVS™ 启动任务标识,而不是 GSSUP 令牌。
- 根据所发送的身份,在发送服务器与接收服务器之间建立信任。
- 发送 GGSUP 令牌时,将通过验证发送服务器身份是否在接收服务器的可信主体列表中来建立信任。
- 发送 MVS 启动任务标识时,通过验证此标识确实对 SAF 数据库中的 CB.BIND.<servername> 概要文件具有“更新”权限来建立信任。
- 在 z/OS 上,发送 SSL 客户机证书时,此证书将映射至服务访问工具 (SAF) 用户标识。将通过验证此用户标识对 CB.BIND.<servername> 概要文件具有 UPDATE 权限来建立信任。
- 在确定发送服务器在可信列表中后,服务器会认证此发送服务器以验证它的标识。
- 通过将发送服务器的用户标识和密码与接收服务器的用户标识和密码作比较来认证服务器。如果发送服务器的凭证得到认证并可信,那么服务器将继续评估身份令牌。
- 接收服务器检查其已定义的用户注册表中是否存在已断言的用户标识,以收集更多凭证信息(例如,组成员资格)供授权使用。因此,接收服务器的用户注册表必须包含所有已断言的用户标识。否则,无法使用身份断言。在有状态的服务器中,将对身份令牌相同的发送服务器和接收服务器对执行一次此操作。通过会话标识进行后继请求。注: 如果下游服务器没有任何用户注册表可以访问其存储库中已声明的用户标识,请不要使用身份断言,因为授权检查将失败。如果禁用身份断言,那么就不需要对接收服务器进行授权检查。
目标服务器通过客户机证书验证发送服务器的权限以声明标识。使用在 SAF 数据库中定义的 RACDCERT MAP 过滤器或者 RACMAP 过滤器将客户机证书映射至服务访问工具 (SAF) 用户标识。SAF 用户标识必须对 CBIND 类中的 CB.BIND.<optionSAFProfilePrefix>.cluster_short_name 概要文件具有“更新”权限。如果未发送客户机证书,那么将针对发送服务器的已启动任务标识执行 CBIND 检查。
- 主体名称
- 专有名称
- 证书链
- 匿名标识
理解并解析了标识格式后,标识就映射至凭证。对于 ITTPrincipal 身份令牌,此标识使用用户标识字段一对一进行映射。
对于 ITTDistinguishedName 身份令牌,映射取决于用户注册表。对于轻量级目录访问协议 (LDAP),配置的搜索过滤器确定映射如何发生。对于 LocalOS,专有名称 (DN)(通常与公共名称相同)的第一个属性映射至注册表的用户标识。
ITTDistinguishedName 身份令牌和 ITTCertChain 身份令牌以同一方法映射。这两种身份令牌类型都使用映射至 SAF 用户标识的证书,此映射使用 RACDCERT 或同等映射功能(例如,RACMAP 过滤器)来实现。映射可以基于 Subject 名称或 Issuers 名称。
身份断言仅对于使用公共安全互操作性 V2 (CSIv2) 协议可用。