[z/OS]

z/OS 安全性中的分布式标识过滤器配置

必须先在 WebSphere® Application Server 的 z/OS® 安全性产品中配置分布式标识过滤器,然后才能将分布式标识映射至系统授权工具 (SAF) 用户。

SAF 类 RACMAP 中的分布式标识过滤器由分布式用户名和分布式用户名的域名组成。可以配置这些过滤器以将许多分布式标识映射至一个 SAF 用户,也可以进行一对一映射。

以下是使用现有 RACMAP 命令创建分布式标识过滤器的语法:
RACMAP ID(<SAFUser>) MAP USERDIDFILTER(NAME('<distributedUserId>')) 
REGISTRY(NAME('<distributedRealmName>')) WITHLABEL('<someLabel>')

<SAFUser> 元素是 z/OS 安全性产品中的 SAF 用户,<distributedUserId> 是分布式标识,<distributedRealmName> 是分布式标识的域名,<someLabel> 是用于描述此分布式标识过滤器的文本字段。

使用以下命令来激活 IDIDMAP 类。此命令只需要在开始时运行一次:
SETROPTS CLASSACT(IDIDMAP) RACLIST(IDIDMAP)
对 RACMAP 概要文件进行所有更改后使用以下命令使更改生效:
SETROPTS RACLIST(IDIDMAP) REFRESH
注: 在某些情况下,在 WebSphere 服务器中对 RACMAP 过滤器的更改不会立即生效。请参阅“激活已认证用户的 RACMAP 过滤器更改”部分,以获取更多详细信息。

将分布式用户映射至 SAF 用户:

如果您配置了非本地的操作系统注册表,那么可以将分布式用户(例如轻量级目录访问协议 (LDAP) 用户)映射至 SAF 用户。WebSphere Application Server 在映射至 SAF 用户时使用的分布式用户名是 WSCredential.getUniqueSecurityName() API 返回的值。此方法在应用于已配置的用户注册表时将返回唯一用户名。对于 LDAP,此值是完整专有名称 (DN)。对于定制配置,此值是定制注册表中的 getUniqueUserId() API 返回的任何内容。对于联合存储库,此值是虚拟成员管理器中的 uniqueName 属性。

WebSphere Application Server 使用的分布式领域名由 WSCredential.getRealmName() API 确定。返回的领域名取决于正在配置的用户注册表。对于 LDAP,领域名是 ldapHostName:ldapPortNumber。对于定制用户注册表,领域名是您已配置 getRealm() 方法以在您的实现中返回的任何内容。对于联合存储库,领域名是您在联合存储库面板的领域名字段中指定的领域。

在以下示例中,LDAP 用户 LDAPUser1 将映射至 SAF 用户 USER1
RACMAP ID(USER1)  MAP USERDIDFILTER(NAME('CN=LDAPUser1,o=ibm,c=us'))  
REGISTRY(NAME('ccwin12.austin.ibm.com:389')) 
WITHLABEL('Mapping LDAP LDAPUser1 to USER1')
在以下示例中,定制用户注册表 CustomUser3 将映射至 SAF 用户 USER3
RACMAP ID(USER3)  MAP USERDIDFILTER(NAME('CustomUser3'))  
REGISTRY(NAME('customRealm')) WITHLABEL('Mapping custom CustomUser3 to USER3')
在以下示例中,联合存储库用户 wimUser5 将映射至 SAF 用户 USER5
RACMAP ID(USER5)  MAP USERDIDFILTER(NAME('uid=wimUser5,o=defaultWIMFileBasedRealm
'))  REGISTRY(NAME('defaultWIMFileBasedRealm')) WITHLABEL('Mapping custom wimUser5 to USER5')

将 Kerberos 主体映射至 SAF 用户:

如果您在 z/OS 操作系统中使用 Kerberos 认证机制配置了本地操作系统注册表,那么您可能要将 Kerberos 用户映射至 SAF 用户。在这种情况下,分布式标识是 Kerberos 主体名称。分布式领域名是 KDC 的 Kerberos 领域名。

以下示例将 Kerberos 用户映射至 SAF 用户:
kerberosUser@KRB390.IBM.COM to the SAF user  WSADMIN:
RACMAP ID(WSADMIN)  MAP USERDIDFILTER(NAME('kerberosUser'))  
REGISTRY(NAME('KRB390.IBM.COM')) WITHLABEL('Mapping Kerberos kerberosUser to WSADMIN')

将多个分布式标识映射至一个 SAF 用户:

可以使用通配符 (*) 来创建用于将多个分布式标识映射至一个 SAF 用户的过滤器。可以对分布式标识名称和领域名指定通配符 (*)。例如,如果您要将每个用户从 LDAP 服务器 accountingUnit.acme.ibm.com 映射至 SAF 用户 ACCT,那么可以按以下示例所示来定义过滤器:
RACMAP ID(ACCT) MAP USERDIDFILTER(NAME('*'))  
REGISTRY(NAME('accountingUnit.acme.ibm.com:389')) 
WITHLABEL('Mapping accounting users to ACCT')
如果分布式标识名称是专有名称,那么您可以在创建过滤器时省略 DN 值的属性,从最具体的属性开始。例如,您可以创建一个用于将具有属性 O=ibm,C=us 的所有 LDAP 用户映射至 SAF 用户 ACCT2 的过滤器,如以下示例所示:
RACMAP ID(ACCT2) MAP USERDIDFILTER(NAME('O=ibm,C=us'))  
REGISTRY(NAME('accountingUnit.acme.ibm.com:389')) 
WITHLABEL('Mapping US accounting users to ACCT2')

将证书和专有名称映射至 SAF 用户

分布式标识是专有名称或专有名称的属性。分布式领域名是当前领域。例如:
RACMAP ID(ACCT3) MAP USERDIDFILTER(NAME('O=ibm,C=us'))  
REGISTRY(NAME('localOSRealm'))
WITHLABEL('Mapping certificate or distinguished names to ACCT3')

创建缺省分布式标识过滤器:

您可能要定义一个缺省过滤器,以便将使用任何其他过滤器找不到的所有分布式标识映射至具有 RESTRICTED 属性的 SAF 用户。

以下示例说明如何创建缺省过滤器:
RACMAP ID(WSGUEST) MAP USERDIDFILTER(NAME('*'))  
REGISTRY(NAME('*')) WITHLABEL('The default filter')

激活已认证的用户的 RACMAP 过滤器更改:

当用户通过注册表进行认证时,系统还会将该用户添加到认证高速缓存中。在 z/OS 安全性产品中对 RACMAP 过滤器所作的任何更改将在从认证高速缓存中移除此用户后才生效。

如果您希望这些更改立即生效,请对要更新的服务器调用 SecurityAdmin Mbean。可以调用 purgeUserFromAuthCache 操作来移除一个特定用户,也可以调用 clearAuthCache 操作来移除认证高速缓存中的所有用户。重新启动服务器后也会清除认证高速缓存。

请参阅 SecurityAdmin MBean 定义表,以了解关于该 Mbean 及其操作的详细信息。

例如,分布式标识 LDAPUser1 未映射至 SAF 用户,而尝试登录受角色保护的 servlet。因为用户标识和密码有效,所以将认证该用户并将其添加到认证高速缓存。但是,因为 LDAPUser1 未映射至 SAF 用户,所以将使用未经认证的缺省标识 WSGUEST 进行授权。

因为 WSGUEST 无权使用 servlet 角色,所以 LDAPUser1 无法访问该 servlet。然后,z/OS 安全性管理员将定义 RACMAP 过滤器以将 LDAPUser1 映射至 SAF 用户 USER1。在将此标识从认证高速缓存中移除之前,LDAPUser1 仍然无法访问该 servlet。

有关 RACMAP 命令的更多信息,请参阅 z/OS Security Server RACF® Command Language Reference。


指示主题类型的图标 参考主题



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