![[z/OS]](../images/ngzos.gif)
Configuración de filtros de identidad distribuida en la seguridad de z/OS
Para poder correlacionar identidades distribuidas con usuarios SAF (System Authorization Facility), primero debe configurar filtros de identidad distribuida en el producto de seguridad z/OS para WebSphere Application Server.
El filtro de identidad distribuida en RACMAP de clase SAF consta del nombre de usuario distribuido y el nombre de reino del nombre de usuario distribuido. Puede configurar los filtros para correlacionar numerosas identidades distribuidas con un usuario SAF, o puede realizar una correlación de uno a uno.
RACMAP ID(<usuario_SAF>) MAP USERDIDFILTER(NAME('<ID_usuario_distribuido>'))
REGISTRY(NAME('<nombre_reino_distribuido>')) WITHLABEL('<alguna_etiqueta>')
El elemento <usuario_SAF> es el usuario SAF del producto de seguridad z/OS, <ID_usuario_distribuido> es la identidad distribuida, <nombre_reino_distribuido> es el nombre de reino de la identidad distribuida y <alguna_etiqueta> es un campo de texto que describe el filtro de identidad distribuida.
SETROPTS CLASSACT(IDIDMAP) RACLIST(IDIDMAP)
SETROPTS RACLIST(IDIDMAP) REFRESH
Correlaciones de usuarios distribuidos con usuarios SAF:
Si ha configurado un registro de sistema operativo no local, puede correlacionar un usuario distribuido, como un usuario LDAP (Lightweight Directory Access Protocol), con un usuario SAF. El nombre de usuario distribuido que WebSphere Application Server utiliza al correlacionar con un usuario SAF es el valor devuelto por la API WSCredential.getUniqueSecurityName(). Este método devuelve el nombre de usuario exclusivo al aplicarse al registro de usuarios configurados. Para LDAP, éste podría ser el nombre distinguido completo (DN). Para una configuración personalizada, éste sería cualquier API getUniqueUserId() que devuelve el registro personalizado. Para repositorios federados, éste sería la propiedad uniqueName en el gestor de miembros virtuales.
El nombre del reino distribuido que utiliza WebSphere Application Server lo determina la API WSCredential.getRealmName(). El nombre de reino que se devuelve depende del registro de usuarios que se está configurando. Para LDAP, el nombre de reino es ldapHostName:ldapPortNumber. Para el registro de usuarios personalizado, es aquello que haya configurado para que el método getRealm() devuelva en la implementación. Para repositorios federados, el nombre de reino es el reino especificado en el campo de nombre de reino del panel de repositorios federados.
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')
RACMAP ID(USER3) MAP USERDIDFILTER(NAME('CustomUser3'))
REGISTRY(NAME('customRealm')) WITHLABEL('Mapping custom CustomUser3 to USER3')
RACMAP ID(USER5) MAP USERDIDFILTER(NAME('uid=wimUser5,o=defaultWIMFileBasedRealm
')) REGISTRY(NAME('defaultWIMFileBasedRealm')) WITHLABEL('Mapping custom wimUser5 to USER5')
Correlación de principales Kerberos con usuarios SAF:
Si tiene un registro de sistema operativo local configurado en los sistemas operativos z/OS con el mecanismo de autenticación Kerberos, puede correlacionar un usuario de Kerberos con un usuario SAF. En este caso, la identidad distribuida es el nombre del principal de Kerberos. El nombre de reino distribuido es el nombre de reino de Kerberos de KDC.
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')
Correlación de varias identidades distribuidas con un usuario SAF:
RACMAP ID(ACCT) MAP USERDIDFILTER(NAME('*'))
REGISTRY(NAME('accountingUnit.acme.ibm.com:389'))
WITHLABEL('Mapping accounting users to ACCT')
RACMAP ID(ACCT2) MAP USERDIDFILTER(NAME('O=ibm,C=us'))
REGISTRY(NAME('accountingUnit.acme.ibm.com:389'))
WITHLABEL('Mapping US accounting users to ACCT2')
Correlación de certificados y nombres distinguidos con usuarios SAF:
RACMAP ID(ACCT3) MAP
USERDIDFILTER(NAME('O=ibm,C=us'))
REGISTRY(NAME('localOSRealm'))
WITHLABEL('Correlacionar certificado o nombres distinguidos con ACCT3')
Creación de un filtro de identidades distribuidos predeterminado:
Puede definir un filtro predeterminado que correlacione cualquier identidad distribuida que no se encuentre en ningún otro filtro con un usuario SAF con el atributo RESTRICTED.
RACMAP ID(WSGUEST) MAP USERDIDFILTER(NAME('*'))
REGISTRY(NAME('*')) WITHLABEL('The default filter')
Activación de los cambios de filtro RACMAP para un usuario autenticado:
Cuando un usuario se autentica en el registro, el usuario también se agrega a la memoria caché de autenticación. Los cambios en los filtros RACMAP en el producto de seguridad de z/OS no surten efecto hasta que este usuario se elimina de la memoria caché de autenticación.
Si desea que estos cambios entren en vigor inmediatamente, llame al Mbean SecurityAdmin en el servidor que desea actualizar. Puede invocar la operación purgeUserFromAuthCache para eliminar un usuario específico, o la operación clearAuthCache para eliminar todos los usuarios de la memoria caché de autenticación. La memoria caché de autenticación también se borra una vez reiniciado el servidor.
Consulte la Tabla de definición del MBean SecurityAdmin para obtener detalles sobre el Mbean y sus operaciones.
Por ejemplo, una identidad distribuida, LDAPUser1, no se correlaciona con un usuario SAF e intenta iniciar una sesión con un servlet protegido por un rol. Puesto que el ID de usuario y la contraseña son válidos, el usuario se autentica y se añade a la memoria caché de autenticación. Sin embargo, puesto que LDAPUser1 no se correlaciona con un usuario SAF, se utiliza un ID autenticado predeterminado, WSGUEST, para la autorización.
LDAPUser1 no puede acceder al servlet porque WSGUEST no está autorizado para el rol servlet. El administrador de seguridad de z/OS define un filtro RACMAP para correlacionar LDAPUser1 con el usuario SAF, USER1. LDAPUser1 sigue sin poder acceder al servlet hasta que este ID se elimine de la memoria caché de autenticación.
Si desea más información sobre el mandato RACMAP, consulte la publicación z/OS Security Server RACF Command Language Reference.