Tutoriels : Configurer son ezproxy pour interroger directement l’annuaire LDAP de son établissement

tuto ezlogger analogist

 

Au cours de nos supports, vous avez souvent posé la question de comment configurer votre ezproxy pour qu’il enrichisse directement les logs avec des informations de profil tirées de l’annuaire LDAP de votre établissement. Cet enrichissement “à la source” permet d’économiser une étape de traitement supplémentaire, avant ou après ezPaarse (par exemple par l’utilisation d’un script partagé par notre collègue de l’université de Brest en 2015 que certains ont déjà mis en œuvre).

Voici donc un exemple de configuration qui permet d’effectuer cet enrichissement.

Il vous faudra repérer les attributs et les valeurs à utiliser dans l’annuaire LDAP. Puis les 3 fichiers suivants sont à modifier dans EZProxy : 

  1. user.txt, 
  2. ldap.txt
  3. config.txt.

Modification du fichier user.txt

Vous gardez l’authentification CAS, et vous capturez le login de l’utilisateur (login:user) que vous mettrez dans une autre variable (session:uid) pour utilisation avec le fichier ldap.txt.

Dans le fichier ldap.txt, vous définissez les règles à mettre en place selon les attributs.

::CAS

LoginURL https://cas.univ-XXXXX.fr/cas/login

ServiceValidateURL https://cas.univ-XXXXX.fr/cas/serviceValidate

Set session:uid = login:user

Set UserFile("ldap.txt");

/CAS

Modification du fichier ldap.txt

::LDAP

Set login:user = session:uid

BindUser cn=nom_utilisateur_qui fait_la_requete,ou=applis,dc=univ-XXXXX,dc=fr

BindPassword -Obscure ***************************

IgnorePassword

URL ldap://ldap.univ-XXXXX.fr/OU=people,DC=univ-XXXXX,DC=fr?uid?sub?(objectClass=eduPerson)



#Groupe non authentifié

IfUnauthenticated; Group +NoLogin



#Groupe Local pour IP internes

IfIP 10.0-255.0-255.0-255; Group +Local-Default



#Groupes Biatss Profs Etudiants selon critères LDAP

IfTest eduPersonPrimaryAffiliation employee; Group +Biatss-Default

IfTest eduPersonPrimaryAffiliation faculty; Group +Profs-Default

IfTest eduPersonPrimaryAffiliation member; Group +Profs-Default

IfTest eduPersonPrimaryAffiliation student; Group +Etudiants-Default



#Groupe REX et Collegium santé - Pas d'accès à distance

IfTest -Wild employeeNumber VT*; Group +Rex-Default

IfTest  UFRcodeComposante J00; Group +Rex



#Groupes pour les stats Composantes

IfTest UFRcodeComposante B30; Group +IUT_XXX

IfTest UFRcodeComposante D07; Group +DESS

IfTest UFRcodeComposante DB0; Group +Droit_XXXX

IfTest UFRcodeComposante FC0; Group +Formation_continue

(...)

/LDAP


Modification du fichier config.txt

# Ajout des attributs des groupes

LogFormat %h %l %u %t "%r" %s %b %{ezproxy-groups}i




# **************************** Database Definitions *****************************************



# Autorisation aux bases selon ces groupes (cf /usr/local/ezproxy/ldap.txt)

# Les groupes sont définis par des attributs ldap


# Les personnes dans REX  ne sont pas autorisées à distance mais sur site par le group Local

Group Rex

#aucune database definition



Group Local+Biatss+Profs+Etudiants

# database definition pour les groupes Local+Biatss+Profs+Etudiants

Title Research Database

URL http://www.researchdb.com

DJ researchdb.com

....


Paramétrage d’ezPAARSE pour intégrer les nouveaux champs LDAP

 

Il ne reste plus qu’à adapter votre paramétrage du format de logs dans ezPAARSE pour qu’il puisse reconnaître et tenir compte de ces nouveaux champs de profil ! 

%h %l %u %t "%r" %s %b %{group}<.*>

(ce prédéfini est relativement générique et peut être rendu plus spécifique en fonction des champs rapatriés)

 

Nous remercions chaleureusement notre collègue Gérard Bruère, DSI – Responsable Informatique du SCD de l’université de Tours pour ces éléments !

 

Thomas Porquet pour ezTEAM