![[z/OS]](../images/ngzos.gif)
使用 SAF 的分布式身份映射
使用用于 z/OS® 的系统授权工具 (SAF) 的分布式身份映射功能提供了一些主要优势,在此版本的 WebSphere® Application Server 中是新增功能。
此发行版的 WebSphere Application Server 使您能够使用 z/OS 系统授权工具 (SAF) 安全性来使 SAF 用户标识与分布式身份相关联。使用此功能时,可保留用户的原始身份信息以用于审计,并减少在 WebSphere Application Server 中进行的配置工作。
z/OS 安全性产品必须处于支持分布式身份映射的适当版本。正确的 SAF 版本为 7760 或更高版本。对于资源访问控制设施 (RACF®),您必须处于 z/OS V1.11 或更高版本。
- 如果您正在使用非本地操作系统注册表(例如,轻量级目录访问协议 (LDAP)),并且正在使用 SAF 授权、z/OS 线程标识同步 (SyncToThread) 或者“连接管理器 RunAs 线程标识”选项,那么在具有 RACMAP SAF 概要文件的 z/OS 安全性产品中可以将 LDAP 用户直接映射至 SAF 用户。不需要映射模块;因此,在 WebSphere Application Server 中不会配置这些模块。SMF 审计记录中同时包含 LDAP 用户名和已映射的 SAF 用户标识。
- 如果您正在使用本地操作系统注册表,并且正在使用 Kerberos 或者“简单且受保护的 GSS-API 协商”(SPNEGO),那么在 z/OS 安全性产品中可以将 Kerberos 主体直接映射至 SAF 用户。不需要映射模块;因此,在 WebSphere Application Server 中不会配置这些模块。SMF 审计记录中同时包含 Kerberos 主体和已映射的 SAF 用户标识。
使用分布式身份映射的优势
- 在使用 SMF 的 z/OS 操作系统中审计用户时,审计记录中将同时包含分布式身份和已映射的 SAF 用户标识。这改善了跨平台互操作性,并且对于以主机为中心的环境和异构应用程序环境都有价值。
- 由 z/OS 安全性管理员来处理分布式身份的映射。不需要在 WebSphere Application Server 配置中配置映射模块。
何时使用分布式身份映射
- 方案 1:如果您使用 SAF 授权、z/OS 线程标识同步 (SyncToThread) 或者“连接管理器 RunAs 线程标识”选项配置了非本地操作系统注册表,那么可以使用此功能将注册表用户映射至 SAF 用户。在先前发行版中,必须使用在 WebSphere Application Server 中配置的 Java™ 认证和授权服务 (JAAS) 登录模块来完成此过程。
使用分布式身份映射的优势在于,SMF 审计记录将同时包含分布式用户和 SAF 用户,并且由 z/OS 安全性管理员来控制映射。
当映射非本地操作系统注册表用户时,分布式用户名是 WebSphere Application Server WSCredential.getUniqueSecurityName() API 所返回的值。域名由 WebSphere Application Server WSCredential.getRealmName() API 确定。
要对此方案启用分布式身份映射,不需要在安全性配置中进行进一步更改。
注: 对于方案 1,如果您正在使用随 UserRegistry 网桥一起配置的“联合存储库”注册表,那么您仍然可以利用 SAF 分布式身份映射功能。如果您使用 SAF 用户进行登录,那么不会映射该用户。但是,如果您使用分布式用户进行登录,那么会将其映射至 SAF 用户。 - 方案 2:当您在已启用 Kerberos 或 SPNEGO 的 z/OS 平台上配置了本地操作系统注册表时,可以使用分布式身份映射功能将 Kerberos 主体名称映射至 SAF 用户。在先前发行版中,您可以使用在 WebSphere Application Server 中配置的 JAAS 映射登录模块,或者使用 z/OS 安全性产品中的 SAF 用户的 KERB 段。
使用分布式身份映射的优势在于,SMF 记录中将同时包含 Kerberos 用户和已映射的 SAF 用户。
当映射 Kerberos 用户时,分布式用户名是 Kerberos 主体名称。域名是 Kerberos 密钥分发中心 (KDC) 的 Kerberos 域名。有关在 z/OS 安全性产品中创建分布式身份过滤器的更多信息,请阅读 z/OS 安全性主题中的“分布式身份过滤器配置”。
要对此方案启用分布式身份映射,请执行下列步骤:- 浏览到安全性 > 全局安全性 > Kerberos 配置。
- 选择使用 SAF 产品中的 RACMAP 概要文件进行分布式标识映射对应的单选按钮。
要使用 wsadmin 脚本来进行此更改,请设置安全性定制属性 com.ibm.websphere.security.krb.useRACMAPMappingToSAF=true。
- 方案 3:当您配置了本地操作系统注册表时,可以将已声明的证书或者已声明的专有名称映射至 SAF 用户。
在先前发行版中,已声明的 DN 名称的第一个属性将映射至 SAF 用户。对已声明的 DN 使用分布式身份映射的优势在于,提高了映射用户的灵活性,由 z/OS 安全性管理员来控制映射,SMF 审计记录中将同时包含已声明的 DN 名称和已映射的 SAF 用户标识。在先前发行版中,是使用 SAF 中的 RACDCERT MAP 功能将已声明的证书映射至 SAF 用户。使用分布式身份映射的优势在于,SMF 审计记录中将同时包含证书 DN 名称和已映射的 SAF 用户标识。此外,SAF 数据库不必存储数字证书,从而节省了空间。
在 SAF 中映射已声明的证书或者 DN 名称时,分布式用户就是该 DN 名称,域名是当前 SAF 领域。
在 SAF 中映射已声明的证书或者 DN 名称时,分布式用户就是该 DN 名称,域名是当前 SAF 领域。
要对此方案启用分布式身份映射,请执行下列步骤:- 浏览到安全性 > 全局安全性 > CSIv2 入站通信。
- 对于属性后续设置,选择使用 SAF 分布式标识映射来映射证书和 DN。
要使用 wsadmin 脚本来进行此更改,请设置安全性定制属性 com.ibm.websphere.security.certdn.useRACMAPMappingToSAF=true
方案 4:当您配置了本地操作系统注册表时,可以将在 CSIv2 传输层中接收到的证书映射至 SAF 用户。
在先前发行版中,是使用 SAF 中的 RACDCERT MAP 功能将证书映射至 SAF 用户。使用分布式身份映射的优势在于,SMF 审计记录中将同时包含证书 DN 名称和已映射的 SAF 用户标识。
映射在 CSIv2 传输层中接收到的证书时,分布式用户就是该 DN 名称,域名是当前 SAF 领域。此外,SAF 数据库不必存储数字证书,从而节省了空间。
要对此方案启用分布式身份映射,请执行下列步骤:- 浏览到安全性 > 全局安全性 > CSIv2 入站通信。
- 对于传输层设置,选择使用 SAF 分布式标识映射来映射证书。
要使用 wsadmin 脚本来进行此更改,请设置安全性定制属性 com.ibm.websphere.security.certificate.useRACMAPMappingToSAF=true。
注: 如果 DN 名称中的属性之间有空白,那么您应该应用 RACF APAR OA34258 或 PTF UA59873 和 SAF APAR OA34259 或 PTF UA59871 以正确解析这些空白。
方案 | SAF 版本 | 用户注册表 | SAF authorization=true、SyncToThread=true 或者 runAs=true? | 配置了 JAAS 映射模块吗? | 已启用 Kerberos 或 SPNEGO |
---|---|---|---|---|---|
方案 1 | 7760 或更高版本(用于 RACF 的 z/OS 1.11 或更高版本) | 非本地操作系统 | yes | no | 不适用 |
方案 2 | 7760 或更高版本(用于 RACF 的 z/OS 1.11 或更高版本) | 本地操作系统 | yes | no | yes |
方案 3 | 7760 或更高版本(用于 RACF 的 z/OS 1.11 或更高版本) | 本地操作系统 | yes | no | 不适用 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
配置分布式身份映射时的注意事项
当您配置分布式身份映射时,必须完成下列操作:
- 确定 SAF 版本。您必须首先确保 z/OS 安全性版本为 SAF V7760 或更高版本。如果您正在使用 RACF,那么您必须处于 z/OS V1.11 或更高版本。提供了新的 AdminTask isSAFVersionValidForIdentityMapping() 来帮助确定 SAF 版本。此外,服务器作业日志中显示了参考消息 SECJ6233I,此消息指出了当前 SAF 版本。
- 除去不需要的 JAAS 登录模块。您必须确保在 WebSphere 中未配置 com.ibm.ws.security.common.auth.module.MapPlatformSubject 登录 JAAS 模块。在先前发行版的 WebSphere Application Server 中,此模块说明了如何完成将分布式用户映射至 SAF 用户。只要您配置了此登录模块,那么安全性配置会继续使用先前的方法将分布式用户映射至 SAF 用户。如果您正在配置新的 WebSphere Application Server V8.0 单元,那么缺省情况下未配置此 JAAS 登录模块;因此,不需要进一步执行操作。但是,如果您已将单元迁移到 WebSphere Application Server V8.0,那么可能存在此 JAAS 登录模块,应该将其除去。可以使用管理控制台或者 wsadmin 脚本来除去此登录模块。您还可以使用所提供的 Jython 脚本 removeMapPlatformSubject.py,该脚本会在相应的登录条目中搜索此登录模块并将其除去。有关如何使用此脚本的更多信息,请阅读“removeMapPlatformSubject 脚本”主题。要在管理控制台中删除 JAAS 登录模块,请完成下列步骤:
- 单击安全性 > 全局安全性 > Java 认证和授权服务 > 系统登录。
- 单击缺省值。
- 选择 JAAS 登录模块 com.ibm.ws.security.common.auth.module.MapPlatformSubject 的复选框,然后单击删除。
- 单击确定。
- 对于系统登录 WEB_INBOUND、RMI_INBOUND 和 SWAM_ZOSMAPPING,请重复执行步骤 2 到步骤 4。
- 在 z/OS 安全性产品中映射 SAF 用户。在 z/OS 安全性产品中使用 RACMAP 命令来配置分布式身份过滤器。使用此过滤器将多个分布式用户映射至一个 SAF 用户,也可以进行一对一映射。分布式身份过滤器由两部分组成:分布式用户名以及该分布式用户所在注册表的域名。注: 在某些情况下,在 WebSphere 服务器中对 RACMAP 过滤器的更改不会立即生效。有关更多详细信息,请阅读“z/OS 安全性中的分布式身份过滤器配置”主题中的“激活已认证用户的 RACMAP 过滤器更改”。
在安全域级别配置 SAF 分布式身份映射功能时,请记下该域的域名。您可以选择提供域名,也可以使用由系统生成的域名。无论您选择哪个选项,这都是您在 SAF 注册表中定义映射时必须使用的域名。
- 对安全性配置进行必需的更改。请阅读方案 1 到方案 4,以确定您可能需要对安全性配置进行的其他更改。