Il est possible d'exposer les profils utilisateurs AS/400 (i5/OS) au travers d'un frontal LDAP. Les objets exposés sont une représentation LDAP des objets, et non pas des entrées réelles d'un annuaire LDAP.
Ceci permet d'effectuer plusieurs types d'opérations LDAP :
Le DN d'un profil utilisateur est de la forme :
os400-profile=PROFIL,cn=accounts,os400-sys=HOSTNAME
Exemple :
os400-profile=jsmith,cn=accounts,os400-sys=systemA.acme.com.
Note : L'objet cn=accounts,os400-sys=systemA.acme.com a une classe d'objet container.
Le système supporte des requêtes basiques : on peut faire un filtre sur une classe d'objet (attribut objectclass), sur l'identifiant du profil (attribut os400-profile) ou sur l'attribut os400-gid.
L'attribut os400-profile supporte les wildcard (caractère *).
L'attribut os400-gid est limité à :
Il faut remarquer qu'un filtre complexe, de type (&(os400-profile=PROFILE)(objectclass=os400-usrprf)) retourne une erreur. Il est toutefois possible de faire un filtre en combinant les attributs os400-gid et os400-profile.
Par exemple, le filtre : (&(os400-gid=0)(os400-profile=Q*)) permet de récupérer tous les profils de type utilisateur (et pas groupe).
Dans le cas d'un filtre de type os400-gid=0 ou os400-profile=*, seuls quelques attributs sont retournés :
Si un autre filtre est spécifié, une erreur de type LDAP_UNWILLING_TO_PERFORM (code Erreur 53) est retournée.
Pour récupérer tous les attributs d'un utilisateur (sauf son mot de passe), il faut faire une recherche directement avec son DN, ou en précisant son profil.
donnera le même résultat que :
On peut dans ce cas préciser les attributs qui seront retournés.
Ceci signifie notamment qu'il n'est pas possible, en une requête, d'avoir le détail des comptes d'un AS/400. Il faut procéder en deux étapes :
L'ajout et la modification peuvent s'effectuer simplement via un fichier LDIF. Il suffit de très peu d'attributs pour créer un profil AS/400. Le système i5/OS complète le profil avec des valeurs par défaut.
Pour créer un utilisateur , on peut par exemple utiliser un fichier LDIF tel que celui-ci :
dn: os400-profile=MYPROF01,CN=ACCOUNTS,OS400-SYS=TEST01.ACME.IBM.COM
OBJECTCLASS: top
OBJECTCLASS: os400-usrprf
os400-profile: MYPROF01
os400-password: AS400Password
os400-pwdexp: *NO
os400-usrcls: *USER
os400-text: Mon profil de test 01
On lance l'intégration via :
ldapadd -h HOST -x -D "os400-profile=ADMLDAP,cn=accounts,OS400-SYS=TEST01.ACME.IBM.COM -w PASS -f PROFIL.ldif
Selon le niveau de sécurité, le mot de passe impose certaines limitations. En Level 0 ou 1, le mot de passe est assez limité :
Depuis la version OS400 V5R1, l'attribut système QPWDLVL permet de modifier la valeur du niveau. Il est possible de changer ce niveau pour tout le serveur, et de le passer en niveau 2 ou 3. Dans ce cas, les caractéristiques du mots de passe sont ;
Certaines précautions sont à prendre si on veut passer d'un niveau 0 à un niveau 2.
Plus d'informations sur le site IBM : http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=%…