Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
fr:config:ldap [2009/03/05 13:09]
wawa
fr:config:ldap [2015/07/03 11:46] (current)
Line 1: Line 1:
-====== GLPI et les annnuaires ​LDAP ======+====== GLPI et les annuaires ​LDAP ====== 
 ===== Introduction ===== ===== Introduction =====
 GLPI peut s'​appuyer sur un ou plusieurs annuaires LDAP pour : GLPI peut s'​appuyer sur un ou plusieurs annuaires LDAP pour :
Line 9: Line 10:
   * en masse : soit via l'​interface web de GLPI, soit en utilisant des scripts   * en masse : soit via l'​interface web de GLPI, soit en utilisant des scripts
  
-**GLPI ​est compatible ​avec tout annuaire compatible LDAP v3. Il est donc, de ce fait, compatible ​aussi avec Active Directory ​de Microsoft.+**GLPI ​fonctionne ​avec tout annuaire compatible LDAP v3. 
 +Donc, de ce fait, aussi avec Microsoft ​Active Directory .
 ** **
  
Line 18: Line 20:
  
 Sous Windows, il faut : Sous Windows, il faut :
-  * Décommentez ​dans le fichier php.ini (fichier présent dans le répertoire apache/bin) la ligne "​extension=php_ldap.dll"​. +  * Décommenter ​dans le fichier php.ini (fichier présent dans le répertoire apache/bin) la ligne "​extension=php_ldap.dll"​. 
-  * redémarrez ​votre serveur web.+  * redémarrer votre serveur web. 
 + 
 +Sous Debian Linux, il faut : 
 +  * Installer le paquet php5-ldap et ajouter la ligne "​extension=ldap.so"​ à la fin du fichier. Sous Debian Lenny, la configuration est automatiquement ajoutée à l'​installation du paquet. Elle se trouve dans le répertoire /​etc/​php5/​apache2/​conf.d/​ . 
 +  * redémarrer ​votre serveur web.
 </​note>​ </​note>​
  
Line 49: Line 55:
 | Utiliser TLS | indique si la connexion LDAP doit se faire de manière chiffrée une fois établie avec l'​annuaire | | Utiliser TLS | indique si la connexion LDAP doit se faire de manière chiffrée une fois établie avec l'​annuaire |
 | Fuseau horaire | permet spécifier le fuseau horaire du serveur d'​annuaire | | Fuseau horaire | permet spécifier le fuseau horaire du serveur d'​annuaire |
 +
 +<note warning>
 +Le rootdn doit-être renseigné sous la forme du DN complet de l'​utilisateur. Par exemple CN=glpiadmin,​DC=mondomaine si le compte dans l'​annuaire pour GLPI est glpiadmin
 +</​note>​
  
 === Connexion LDAP sécurisée === === Connexion LDAP sécurisée ===
Line 74: Line 84:
 | cn=Admin, ou=users, dc=mycompany | incorrect | | cn=Admin, ou=users, dc=mycompany | incorrect |
 | cn=Admin,​ou=users,​dc=mycompany | correct | | cn=Admin,​ou=users,​dc=mycompany | correct |
 +
 +Pour Active-Directory,​ si on utilise le userprincipalname au lieu du samaccountname on peut avoir un //rootdn// sous la forme:
 +| prenom.nom@domaine.fr | correct |
  
 Les paramètres à entrer sont très simples, par exemple : Les paramètres à entrer sont très simples, par exemple :
Line 103: Line 116:
 Ou, plus compliqué : Ou, plus compliqué :
   (| (upempaffectation=500400)(upempaffectation=500200))   (| (upempaffectation=500400)(upempaffectation=500200))
 +
 +Dans une entreprise, on peut vouloir limiter la récupération des comptes utilisateurs aux seuls comptes ayant une adresse mail et un userprincipalname sous la forme prenom.nom@entreprise.fr:​
 +
 +  (&​(objectClass=user)(objectCategory=person)(mail=*)(userprincipalname=*@entreprise.fr))
  
 Pour Active Directory utilisez le filtre suivant, qui ne renvoie que les utilisateurs non désactivés (car les machines sont aussi considérées comme des utilisateurs par AD) : Pour Active Directory utilisez le filtre suivant, qui ne renvoie que les utilisateurs non désactivés (car les machines sont aussi considérées comme des utilisateurs par AD) :
Line 134: Line 151:
  
 ^ Champs ^ Signification ^ Valeur LDAP standard ^ Valeur //Active Directory// ^ ^ Champs ^ Signification ^ Valeur LDAP standard ^ Valeur //Active Directory// ^
-| login name | le nom d'​utilisateur | uid | samaccountname (__**écrire en minuscule**__)|+| login name | le nom d'​utilisateur | uid | samaccountname ​ou userprincipalname ​(__**écrire en minuscule**__)|
 | email| l'​email de l'​utilisateur | mail || | email| l'​email de l'​utilisateur | mail ||
 | phone | le numéro de téléphone | telephonenumber || | phone | le numéro de téléphone | telephonenumber ||
Line 145: Line 162:
  
 Le plus simple est que vous naviguiez dans votre LDAP ou votre AD pour déterminer les champs qui correspondent à ces informations car ils peuvent varier fortement suivant le système que vous utilisez.</​note>​ Le plus simple est que vous naviguiez dans votre LDAP ou votre AD pour déterminer les champs qui correspondent à ces informations car ils peuvent varier fortement suivant le système que vous utilisez.</​note>​
 +
 +<note tip>
 +Dans **Active Directory**,​ l'​authentification d'un utilisateur peut se faire de deux façons:
 +  * soit à l'​ancienne mode Windows NT en utilisant le champ **samaccountname**
 +  * soit à la mode UPN en utilisant le champ **userprincipalname**.
 +</​note>​
  
 Dans la version 0.72, apparaîtront les paramètres suivants : Dans la version 0.72, apparaîtront les paramètres suivants :
Line 162: Line 185:
  
 <note warning> <note warning>
-Lorsqu'​un utilisateur est supprimé de l'​annuaire,​ il n'est pas supprimé de GLPI, mais désactivé+Lorsqu'​un utilisateur est supprimé de l'​annuaire,​ il n'est pas supprimé de GLPI
 </​note>​ </​note>​
  
Line 185: Line 208:
  
 ==== Configuration d'un groupe ==== ==== Configuration d'un groupe ====
-^ Champs ^ Signification +^ Champs ^ Signification ​^ 
-| Type de recherche | endroit où aller trouver l'​appartenance à un groupe +| Type de recherche | endroit où aller trouver l'​appartenance à un groupe ​| 
-| Filtre pour la recherche dans les groupes | filtre de recherche pour les groupes +| Filtre pour la recherche dans les groupes | filtre de recherche pour les groupes ​| 
-| Utiliser le DN pour la recherche | recherche de l'​appartenance à un groupe en utilisant le DN de l'​utilisateur ou pas +| Utiliser le DN pour la recherche | recherche de l'​appartenance à un groupe en utilisant le DN de l'​utilisateur ou pas | 
-| Attribut utilisateur indiquant ses groupes | dans quel attribut du groupe recherche l'​utilisateur +| Attribut utilisateur indiquant ses groupes | dans quel attribut du groupe recherche l'​utilisateur ​| 
-| Attribut des groupes contenant les utilisateurs | dans quel attribut de l'​utilisateur recherche l'​appartenance à un groupe+| Attribut des groupes contenant les utilisateurs | dans quel attribut de l'​utilisateur recherche l'​appartenance à un groupe ​|
  
  
Line 197: Line 220:
   * recherche dans un groupe (par exemple un groupOfNames)   * recherche dans un groupe (par exemple un groupOfNames)
   * recherche dans un utilisateur (si on utilise son propre type d'​objet par exemple)   * recherche dans un utilisateur (si on utilise son propre type d'​objet par exemple)
 +
 Dans un annuaire Active Directory, il est possible de rechercher des 2 manières : Dans un annuaire Active Directory, il est possible de rechercher des 2 manières :
-  * Dans un utilisateur on cherche le DN du groupe dans l'​attribut ​member +  * Dans un utilisateur on cherche le DN du groupe dans l'​attribut ​memberOf 
-  * Dans un groupe on chercher le DN de l'​utilisateur dans l'​attribut ​memberOf+  * Dans un groupe on chercher le DN de l'​utilisateur dans l'​attribut ​member
  
 <​note>​ <​note>​
Line 207: Line 231:
 <​note>​ <​note>​
 Un objet groupe doit forcément contenir un attribut CN, qui sera utilisé comme nom du groupe dans GLPI. Un objet groupe doit forcément contenir un attribut CN, qui sera utilisé comme nom du groupe dans GLPI.
 +En particulier,​ une OU n'est pas un groupe !
 </​note> ​ </​note> ​
 +
 +Exemple de configuration avec un annuaire OpenLDAP dans lequel l'​association des utilisateurs aux groupes est renseignée dans les groupes avec l'​attribut multi-valué **memberUid** :
 +
 +^ Champs ^ Valeur ^
 +| Type de recherche | Dans les groupes |
 +| Filtre pour la recherche dans les groupes | (objectClass=posixGroup) |
 +| Attribut des groupes contenant les utilisateurs | memberuid |
 +
  
  
Line 238: Line 271:
  
 ==== Les arguments du script ==== ==== Les arguments du script ====
-Le script a besoin d'​arguments pour fonctionner (le server id et l action qu’il doit exécuter).+Le script a besoin d'​arguments pour fonctionner (le server id et l'action qu’il doit exécuter).
 Le serveur ID, pour trouver notre ID, allez dans: Le serveur ID, pour trouver notre ID, allez dans:
   * CONFIGURATION ==> AUTENTIFICATION ==> ouvrez votre server LDAP   * CONFIGURATION ==> AUTENTIFICATION ==> ouvrez votre server LDAP
Line 253: Line 286:
  
  
-  * Crééz ​un fichier BAT et collez y les lignes :+  * Créez ​un fichier BAT et collez y les lignes :
 <​note>​REM Placer vous dans le dossier ou se trouve le script <​note>​REM Placer vous dans le dossier ou se trouve le script
  
 REM Go to the folder where is the script. REM Go to the folder where is the script.
  
-cd "​C:​Program ​FilesOCS ​Inventory ​NGxampphtdocsglpiscripts"+cd "C:\Program ​Files\OCS ​Inventory ​NG\xampp\htdocs\glpi\scripts"
  
 REM Exécuter php.exe avec le script ​ REM Exécuter php.exe avec le script ​
Line 264: Line 297:
 REM Run php.exe and launch script ​ REM Run php.exe and launch script ​
  
-"​C:​Program ​FilesOCS ​Inventory ​NGxamppphpphp.exe" ldap_mass_sync.php --server_id=2 action=0+"C:\Program ​Files\OCS ​Inventory ​NG\xampp\php\php.exe" ldap_mass_sync.php --server_id=2 action=0
 </​note>​ </​note>​
-  * Ensuite ​crééez ​une tache planifier ​Windows.+  * Ensuite ​créez ​une tache planifiée ​Windows.