
在 z/OS 安全性中配置分布式身份过滤器
当 safCredentials 配置元素中的 mapDistributedIdentities 属性设置为 true 时,必须配置分布式身份过滤器。
关于此任务
将分布式身份映射至系统授权工具 (SAF) 用户之前,必须先在 z/OS 安全性中配置分布式身份过滤器。
SAF 类 RACMAP 中的分布式身份过滤器由分布式用户名及其域名组成。可配置过滤器以将许多分布式身份映射至一个 SAF 用户,也可进行一对一映射。
RACMAP ID(<SAFUser>) MAP USERDIDFILTER(NAME('<distributedUserId>'))
REGISTRY(NAME('<distributedRealmName>'))
WITHLABEL('<someLabel>')
- SAFUser 元素是 z/OS 安全性中的 SAF 用户。
- distributedUserID 元素是分布式身份。
- distributedRealmName 元素是分布式身份的域名。
- someLabel 元素是用于描述此分布式身份过滤器的字段。
当您使用 LDAP 注册表和基本注册表或 SAF 注册表时,会自动联合用户注册表。在 Liberty 中,仅支持一个域。如果您未指定标识了主要域的联合存储库,将使用某个已定义的用户注册表中的某个域名。
当您使用多个注册表,并且要根据用户的域名执行操作时,请定义指定了 primaryRealm 属性的 federatedRepository。
过程
- 激活 IDIDMAP 类。 此命令只需要在开始时运行一次。SETROPTS CLASSACT(IDIDMAP) RACLIST(IDIDMAP)
- 编辑 RACMAP 概要文件后,必须使用以下命令才能使更改生效: SETROPTS RACLIST(IDIDMAP) REFRESH
示例
在 Liberty z/OS 中,LDAP URL 中的 distributedRealmName 不具有格式。相反,您必须在 RACMAP 概要文件中针对 distributedRealmName 设置的值来自 federatedRepository 元素的 primaryRealm name。如果未对 federatedRepository 元素进行编码,Liberty 将根据在每个用户注册表期间为元素设置的域属性来确定 distributedRealmName。
以下示例演示了在域名为 'FEDREALM' 时,将 Liberty z/OS 服务器的 LDAP 用户 (LDAPUser1) 映射至 SAF 用户 (USER1)。
RACMAP ID(USER1) MAP USERDIDFILTER(NAME('CN=LDAPUser1,o=ibm,c=us'))
REGISTRY(NAME('FEDREALM')) WITHLABEL('Mapping LDAP
LDAPUser1 to USER1')
<federatedRepository>
<primaryRealm name="FEDREALM">
</primaryRealm>
</federatedRepository>
如果您选择将 Liberty z/OS 中的分布式身份过滤器与包含 SAF 用户注册表的联合存储库配合使用,最好在 federatedRepository 元素的 primaryRealm name 属性中指定 distributedRealmName。
如果未使用 federatedRepository 元素的 primaryRealm name 属性指定 distributedRealmName,Liberty z/OS 所使用的 distributedRealmName 可能不是您所期望的名称。
如果未使用 primaryRealm 指定用于 RACMAP 检查的 distributedRealmName,那么该属性可派生自许多不同的源,这取决于 server.xml 文件中每个用户注册表的配置方式。
为避免混淆,请使用 primaryRealm 属性指定 distributedRealmName。