![[z/OS]](../images/ngzos.gif)
Configuration des filtres d'identité répartie dans la sécurité z/OS
Pour pouvoir mapper des identités réparties à des utilisateurs SAF(System Authorization Facility), vous devez d'abord configurer des filtres d'identité répartie dans le produit de sécurité z/OS pour WebSphere Application Server.
Le filtre d'identité répartie dans la classe SAF RACMAP se compose du nom d'utilisateur réparti et du nom de domaine de ce dernier. Vous pouvez configurer les filtres pour qu'ils mappent de nombreuses identités réparties vers un utilisateur SAF, ou vous pouvez avoir un mappage un à un.
RACMAP ID(<SAFUser>) MAP USERDIDFILTER(NAME('<distributedUserId>'))
REGISTRY(NAME('<distributedRealmName>')) WITHLABEL('<someLabel>')
L'élément <SAFUser> est l'utilisateur SAF dans le produit de sécurité z/OS, <distributedUserId> est l'identité répartie, <distributedRealmName> est le nom de domaine de l'identité répartie et <someLabel> est une zone de texte qui décrit ce filtre d'identité répartie.
SETROPTS CLASSACT(IDIDMAP) RACLIST(IDIDMAP)
SETROPTS RACLIST(IDIDMAP) REFRESH
Mappage d'utilisateurs répartis vers des utilisateurs SAF :
Si vous avez configuré un registre de système d'exploitation non local, vous pouvez mapper un utilisateur réparti, par exemple un utilisateur LDAP (Lightweight Directory Access Protocol) à un utilisateur SAF. Le nom d'utilisateur réparti que WebSphere Application Server utilise lors du mappage à un utilisateur SAF est la valeur renvoyée par l'API WSCredential.getUniqueSecurityName(). Cette méthode renvoie le nom d'utilisateur unique dès lors qu'il s'applique au registre d'utilisateurs configuré. Pour LDAP, il s'agirait du nom distinctif (DN) complet. Pour une configuration personnalisée, il s'agit de l'API getUniqueUserId() dans les retours du registre personnalisé. Pour les référentiels fédérés, il s'agit de la propriété uniqueName du gestionnaire de membre virtuel.
Le nom de domaine réparti utilisé par WebSphere Application Server est déterminé par l'API WSCredential.getRealmName(). Le nom de domaine qui est renvoyé dépend du registre d'utilisateurs configuré. Pour LDAP, le nom de domaine est ldapHostName:ldapPortNumber. Pour le registre d'utilisateurs personnalisé, il s'agit des éléments que la méthode getRealm() a été configurée pour renvoyer dans votre implémentation. Pour les référentiels fédérés, le nom de domaine est celui que vous avez indiqué dans la zone de nom de domaine du panneau des référentiels fédérés.
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')
Mappage de principaux kerberos vers des utilisateurs SAF :
Si un registre de systèmes d'exploitation local est configuré sur des systèmes d'exploitation z/OS au moyen du mécanisme d'authentification Kerberos, vous pouvez mapper un utilisateur Kerberos à un utilisateur SAF. Dans ce cas, l'identité répartie est le nom de principal kerberos. Le nom de domaine réparti est le nom de domaine Kerberos du centre 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')
Mappage de plusieurs identités réparties vers un utilisateur 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')
Mappage de certificats et de noms distinctifs vers des utilisateurs SAF
RACMAP ID(ACCT3) MAP USERDIDFILTER(NAME('O=ibm,C=us'))
REGISTRY(NAME('localOSRealm'))
WITHLABEL('Mapping certificate or distinguished names to ACCT3')
Création d'un filtre d'identité répartie par défaut :
Vous pouvez définir un filtre par défaut qui mappe une identité répartie introuvable dans aucun des autres filtres, à un utilisateur SAF avec l'attribut RESTRICTED.
RACMAP ID(WSGUEST) MAP USERDIDFILTER(NAME('*'))
REGISTRY(NAME('*')) WITHLABEL('The default filter')
Activation des modifications apportées aux filtres RACMAP pour un utilisateur authentifié :
Lorsqu'un utilisateur s'authentifie auprès du registre, il est également ajouté dans la mémoire cache d'authentification. Toutes les modifications apportées aux filtres RACMAP dans le produit de sécurité z/OS ne sont pas appliquées si l'utilisateur n'a pas été supprimé de la mémoire cache d'authentification.
Si vous souhaitez appliquer ces modifications immédiatement, appelez le Mbean SecurityAdmin sur le serveur à mettre à jour. Vous pouvez appeler l'opération purgeUserFromAuthCache pour supprimer un utilisateur particulier, ou l'opération clearAuthCache pour supprimer tous les utilisateurs de la mémoire cache d'authentification. Cette dernière est également effacée une fois le serveur redémarré.
Reportez-vous à la table de définition des MBeans SecurityAdmin pour plus d'informations sur le MBean et ses opérations.
Par exemple, une identité répartie, LDAPUser1, n'est pas mappée vers un utilisateur SAF et tente de se connecter à un servlet protégé par un rôle. Dans la mesure où l'ID utilisateur et le mot de passe sont valides, l'utilisateur est authentifié et ajouté dans la mémoire cache d'authentification. Cependant, étant donné que LDAPUser1 n'est pas mappé vers un utilisateur SAF, un ID par défaut non authentifié, WSGUEST, est utilisé pour l'autorisation.
LDAPUser1 ne peut pas accéder au servlet car WSGUEST ne dispose pas des autorisations requises pour le rôle servlet. L'administrateur de sécurité z/OS définit ensuite un filtre RACMAP pour mapper LDAPUser1 à l'utilisateur SAF, USER1. LDAPUser1 ne peut toujours pas accéder au servlet tant que cet ID n'est pas supprimé de la mémoire cache d'authentification.
Pour plus d'informations sur la commande RACMAP, voir z/OS Security Server RACF Command Language Reference.