[z/OS]

使用 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 用户标识。
注: SAF 分布式身份映射功能在混合版本单元(WebSphere Application Server V8.0 之前的节点)中不受支持。

使用分布式身份映射的优势

SAF 中的分布式身份映射提供了两项主要优势:
  • 在使用 SMF 的 z/OS 操作系统中审计用户时,审计记录中将同时包含分布式身份和已映射的 SAF 用户标识。这改善了跨平台互操作性,并且对于以主机为中心的环境和异构应用程序环境都有价值。
  • 由 z/OS 安全性管理员来处理分布式身份的映射。不需要在 WebSphere Application Server 配置中配置映射模块。

何时使用分布式身份映射

下列方案描述了您可以如何在 SAF 中使用新增的分布式身份映射功能。
  • 方案 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

  • [z/OS]方案 4:当您配置了本地操作系统注册表时,可以将在 CSIv2 传输层中接收到的证书映射至 SAF 用户。

    在先前发行版中,是使用 SAF 中的 RACDCERT MAP 功能将证书映射至 SAF 用户。使用分布式身份映射的优势在于,SMF 审计记录中将同时包含证书 DN 名称和已映射的 SAF 用户标识。

    [z/OS]映射在 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 以正确解析这些空白。
表 1. 分布式身份映射方案. 下表总结了每个分布式身份映射方案的配置。
方案 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 不适用
[z/OS]方案 4 [z/OS]7760 或更高版本(用于 RACF 的 z/OS 1.11 或更高版本) [z/OS]本地操作系统 [z/OS]yes [z/OS]no [z/OS]不适用

配置分布式身份映射时的注意事项

当您配置分布式身份映射时,必须完成下列操作:

  • 确定 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 登录模块,请完成下列步骤:
    1. 单击安全性 > 全局安全性 > Java 认证和授权服务 > 系统登录
    2. 单击缺省值
    3. 选择 JAAS 登录模块 com.ibm.ws.security.common.auth.module.MapPlatformSubject 的复选框,然后单击删除
    4. 单击确定
    5. 对于系统登录 WEB_INBOUND、RMI_INBOUND 和 SWAM_ZOSMAPPING,请重复执行步骤 2 到步骤 4。
  • 在 z/OS 安全性产品中映射 SAF 用户。在 z/OS 安全性产品中使用 RACMAP 命令来配置分布式身份过滤器。使用此过滤器将多个分布式用户映射至一个 SAF 用户,也可以进行一对一映射。分布式身份过滤器由两部分组成:分布式用户名以及该分布式用户所在注册表的域名。
    注: 在某些情况下,在 WebSphere 服务器中对 RACMAP 过滤器的更改不会立即生效。有关更多详细信息,请阅读“z/OS 安全性中的分布式身份过滤器配置”主题中的“激活已认证用户的 RACMAP 过滤器更改”。

    在安全域级别配置 SAF 分布式身份映射功能时,请记下该域的域名。您可以选择提供域名,也可以使用由系统生成的域名。无论您选择哪个选项,这都是您在 SAF 注册表中定义映射时必须使用的域名。

  • 对安全性配置进行必需的更改。请阅读方案 1 到方案 4,以确定您可能需要对安全性配置进行的其他更改。

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



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