Les paramètres LDAP sont définis dans le fichier de configuration LDAP :
univiewer_server\<nom de noeud>\data\ldap.xml
Ce fichier doit être adapté manuellement pour indiquer les paramètres de connexion au serveur LDAP. Sa modification n'est prise en compte que lors du démarrage d'UVMS. Il n'est pas mis à jour par un upgrade d'UVMS.
Plusieurs répertoires LDAP peuvent être utilisés pour vérifier l'authentification, il faut créer une section <instance name> par répertoire LDAP dans ldap.xml.
Tous les champs du fichier sont décrits ci-dessous :
Étiquette |
Valeurs |
Description |
---|---|---|
instance name |
Obligatoire |
Une instance définit un ensemble de paramètres pour un serveur de répertoire. Lorsque plusieurs instances sont définies, l’authentification est testée pour la première instance, puis pour la deuxième si l’authentification a échoué pour la première, puis pour la troisième si l’authentification a échoué pour la deuxième, etc. |
host |
localhost (par défaut) |
Nom d’hôte du serveur de répertoire LDAP. |
port |
Obligatoire |
Numéro de port du serveur de répertoire LDAP. Par exemple, 389 ou 636 (SSL) |
SSL |
NO (par défaut) |
Active le protocole ldaps. Reportez-vous à la section : Configuration SSL pour plus d’informations. |
connectionPool | YES (par défaut) NO |
La valeur YES permet à UVMS d'utiliser un cache de connexion (utilisation standard par défaut). Reportez-vous à la section LDAP en mode bascule pour plus d'informations. |
BaseDN |
|
Ce paramètre est obsolète. |
memberAttribute |
Member |
Mode Synchronisation uniquement. |
memberAttributeOf |
memberOf |
Mode Synchronisation uniquement. |
useMemberOfAttribute |
NO (par défaut) |
Mode Synchronisation uniquement. |
followReferral |
NO (par défaut) |
Si des serveurs LDAP esclaves sont déclarés, la valeur Yes permet de rechercher l'information sur les serveurs esclaves si elle n'est pas trouvée sur le serveur maître. |
securityPrincipal |
Anonymous (par défaut) |
Compte utilisateur de service (au format DN) utilisé par UVMS pour rechercher des utilisateurs dans le répertoire LDAP. Cette entrée doit disposer des droits de recherche sur l’arborescence secondaire du répertoire dans laquelle se trouvent les utilisateurs. Exemples : |
clearCredential |
YES (par défaut) NO |
Spécifie si SecurityCredential est au format clair ou crypté. (Reportez-vous à la section : Cryptage des mots de passe). Par défaut, les mots de passe ne sont pas cryptés. |
securityCredential |
Obligatoire |
Mot de passe de l’entrée LDAP définie dans securityPrincipal. |
securityProtocol |
plain |
Seul le protocole de sécurité « plain » (brut) est accepté. |
securityAuthentication |
simple (par défaut) |
Type d’authentification. |
usersSearchBase |
Obligatoire |
Nom DN de l’entrée d’arborescence secondaire contenant toutes les entrées utilisateurs. Par exemple : ou=users,dc=AUTOMIC,dc=com Pour des raisons de performances, cette valeur n'est utilisée que lors de la connexion (authentification). Lors de la synchronisation des groupes, chaque utilisateur correspondant à usersListSearchFilter sera créé dans UVMS même s'il ne correspond pas à usersSearchBase ou usersSearchDepth. Ces comptes ne pourront pas se connecter à UVMS. |
usersAttributeId |
CN |
Mode synchronisation uniquement. |
usersListSearchFilter |
|
Mode synchronisation uniquement. |
usersSearchFilter |
Obligatoire |
Filtre appliqué pour retrouver l’utilisateur à partir de son login. Par exemple : LDAP: (&(objectclass=Person)(uid=!login!)) Active Directory : (&(objectclass=Person)(samaccountname=!login!)) UVMS remplace automatiquement la variable !login! par le login fourni par l’utilisateur connecté. |
usersSearchDepth |
SUBTREE_SCOPE (par défaut) OBJECT_SCOPE ONELEVEL_SCOPE |
Étendue de la recherche Pour des raisons de performances, cette valeur n'est utilisée que lors de la connexion (authentification). Lors de la synchronisation des groupes, chaque utilisateur correspondant à usersListSearchFilter sera créé dans UVMS même s'il ne correspond pas à usersSearchBase ou usersSearchDepth. Ces comptes ne pourront pas se connecter à UVMS |
groupsSearchBase |
|
Mode synchronisation uniquement. |
groupsAttributeId |
CN |
Mode synchronisation uniquement. |
groupsListSearchFilter |
|
Mode synchronisation uniquement. LDAP: (&(objectClass=groupOfNames)(CN=AUTOMIC*)) Active Directory: (&(objectClass=group)(CN=AUTOMIC*)) |
groupsSearchDepth |
SUBTREE_SCOPE (par défaut) OBJECT_SCOPE ONELEVEL_SCOPE |
Mode synchronisation uniquement. |
nestedGroups |
NO (par défaut) |
Mode synchronisation uniquement. |
nestedGroupsSearch |
|
Mode synchronisation uniquement. |
nestedGroupsList |
|
Mode synchronisation uniquement. LDAP: (objectClass=groupOfNames) Active Directory: (objectClass=group) |
nestedGroupsSearch |
SUBTREE_SCOPE (par défaut) OBJECT_SCOPE ONELEVEL_SCOPE |
Mode synchronisation uniquement. |
Les caractères génériques, lorsqu'ils sont utilisables ne peuvent être saisis qu'en fin de chaîne, par exemple "AUTOMIC*". Les caractères spéciaux doivent être représentés avec une syntaxe différente. Par exemple :
Plus petit que (<) par : <
Plus grand que (>) par : >
Les guillemets (") par : "
L'apostrophe (') par : '
L'esperluette (&) par : &
Pour plus de détails à propos de securityCredentials et userSearchFilter, reportez-vous à la section "Droits de sécurité et filtre de recherche d’utilisateur".
Exemple d'un fichier de configuration LDAP générique (Open LDAP par exemple)
<?xml version="1.0" encoding="UTF-8"?>
<ldap version="1.0">
<instance name="LDAP Repository">
<!-- general configuration -->
<host></host>
<port>389</port>
<SSL>NO</SSL>
<memberAttribute>member</memberAttribute>
<memberOfAttribute>memberOf</memberOfAttribute>
<useMemberOfAttribute>NO</useMemberOfAttribute>
<followReferral>NO</followReferral>
<!-- security -->
<securityPrincipal></securityPrincipal>
<clearCredential>YES</clearCredential>
<securityCredential><![CDATA[]]></securityCredential>
<securityProtocol>plain</securityProtocol>
<securityAuthentication>simple</securityAuthentication>
<!-- users -->
<usersSearchBase>ou=users,dn=yourdomain,dc=com</usersSearchBase>
<usersAttributeId>CN</usersAttributeId>
<usersListSearchFilter><![CDATA[objectClass=person]]></usersListSearchFilter>
<usersSearchFilter><![CDATA[(&(objectClass=person)(cn=!login!))]]></usersSearchFilter>
<usersSearchDepth>SUBTREE_SCOPE</usersSearchDepth>
<!-- groups -->
<groupsSearchBase>ou=groups,dn=yourdomain,dc=com</groupsSearchBase>
<groupsAttributeId>CN</groupsAttributeId>
<groupsListSearchFilter><![CDATA[(&(objectClass=groupOfNames)(CN=AUTOMIC*))]]></groupsListSearchFilter>
<groupsSearchDepth>SUBTREE_SCOPE</groupsSearchDepth>
<!-- nested groups -->
<nestedGroups>NO</nestedGroups>
<nestedGroupsSearchBase>ou=groups,dn=yourdomain,dc=com</nestedGroupsSearchBase>
<nestedGroupsListSearchFilter><![CDATA[objectClass=groupOfNames]]></nestedGroupsListSearchFilter>
<nestedGroupsSearchDepth>SUBTREE_SCOPE</nestedGroupsSearchDepth>
</instance>
</ldap>
Exemple d'un fichier de configuration LDAP pour Active directory
<?xml version="1.0" encoding="UTF-8"?>
<ldap version="1.0">
<instance name="Active Direcoty">
<!-- general configuration -->
<host></host>
<port>389</port>
<SSL>NO</SSL>
<memberAttribute>member</memberAttribute>
<memberOfAttribute>memberOf</memberOfAttribute>
<useMemberOfAttribute>YES</useMemberOfAttribute>
<followReferral>NO</followReferral>
<!-- security -->
<securityPrincipal></securityPrincipal>
<clearCredential>YES</clearCredential>
<securityCredential><![CDATA[]]></securityCredential>
<securityProtocol>plain</securityProtocol>
<securityAuthentication>simple</securityAuthentication>
<!-- users -->
<usersSearchBase>ou=users,dn=yourdomain,dc=com</usersSearchBase>
<usersAttributeId>userPrincipalName</usersAttributeId>
<usersListSearchFilter><![CDATA[objectClass=person]]></usersListSearchFilter>
<usersSearchFilter><![CDATA[(&(objectClass=person)(userPrincipalName=!login!))]]></usersSearchFilter>
<usersSearchDepth>SUBTREE_SCOPE</usersSearchDepth>
<!-- groups -->
<groupsSearchBase>ou=groups,dn=yourdomain,dc=com</groupsSearchBase>
<groupsAttributeId>CN</groupsAttributeId>
<groupsListSearchFilter><![CDATA[(&(objectClass=group)(CN=AUTOMIC*))]]></groupsListSearchFilter>
<groupsSearchDepth>SUBTREE_SCOPE</groupsSearchDepth>
<!-- nested groups -->
<nestedGroups>NO</nestedGroups>
<nestedGroupsSearchBase>ou=groups,dn=yourdomain,dc=com</nestedGroupsSearchBase>
<nestedGroupsListSearchFilter><![CDATA[objectClass=group]]></nestedGroupsListSearchFilter>
<nestedGroupsSearchDepth>SUBTREE_SCOPE</nestedGroupsSearchDepth>
</instance>
</ldap>