Configuration
Notation
Dans l'ensemble du document, le répertoire "webapp" fait référence au répertoire contenant les ressources de l'application web InterLDAP LAAP, c'est-à-dire le répertoire contenant par exemple les sous-répertoires "WEB-INF" et "META-INF".
Dans le cas de l'installation à partir de sources, ce répertoire correspond au chemin "laap/src/main/webapp". Dans le cas d'une installation à partir du war, ce répertoire correspond au répertoire de la web-application déployée. Par exemple, dans le cas de tomcat, ce répertoire correspond au chemin "apache-tomcat/webapps/interldaplaap".
Serveur LDAP
LAAP utilise un annuaire LDAP pour réaliser l'authentification de ses utilisateur et pour retrouver les attributs à partager. Il faut donc configurer d'une part l'accès à l'annuaire et d'autre part les attributs que l'on souhaite pouvoir partager.
Connexion
La connexion à l'annuaire se configure dans les fichier "configuration.properties" (correspondant au chemin "laap/src/main/resources/configuration.properties" depuis les sources, "webapp/WEB-INF/classes/configuration.properties" dans le cas de l'archive war).
Voici un exemple de configuration commenté :
#Configuration LDAP
#URL LDAP de connection au serveur, par exemple :
#ldap://localhost:389/dc=base,dc=orgldap.url = ldap://localhost:1389#Le DN root complet, par exemple : uid=root,dc=base,dc=orgldap.root.dn = cn=manager,dc=interldap,dc=org#Mot de passe rootldap.root.password = secret#Le modèle de DN utilisé pour bindé les utilisateurs. Le modèle est
#relatif à la base donnée dans l'URL de connexion au serveur.
#Par exemple, si les utilisateurs sont dans la branche
#"ou=people,dc=base,dc=org", et qu'ils sont identifiés par leur uid, le
#template correspondant à l'URL de connexion d'exemple sera
#'uid={0},ou=people'
#{0} signifie "mettre le login entré par l'utilsateur ici"ldap.user.dn = uid={0},ou=person,dc=interldap,dc=org#LA branche où les rôles sont définis. Cette branche doit exister,
#même si concretement elle n'est pas utilisée par LAAP aujourd'hui.
#Pour de plus amples information, voir : http://www.acegisecurity.org/multiproject/acegi-security/apidocs/org/acegisecurity/providers/ldap/populator/DefaultLdapAuthoritiesPopulator.htmlldap.group.searchbase = ou=groups,dc=interldap,dc=org
Attributs partagés
La configuration des attributs LDAP qui peuvent être proposés au partage se fait dans le même fichier "configuration.properties". La propriété à configurer est "ldap.sharableAttributes". Cette propriété attend une liste de nom d'attributs séparés par des virgules. Les noms donnés doivent correspondre exactement aux noms des attributs contenu par l'objet LDAP correspondant aux utilisateurs.
Par exemple, si nos utilisateurs sont des inetOrgPerson, la configuration suivante :
ldap.sharableAttributes = uid,displayName
permettra de présenter dans l'interface web et d'autoriser le partage des attributs "uid" et "displayName" des utilisateurs.
Liberty Alliance
La configuration "Liberty Alliance" suppose qu'un cercle de confiance est déjà en place. Elle se déroule en quatre parties :
- génération du biclés pour LAAP
- configuration du fichier de méta-données de LAAP ;
- installation des fichiers de méta-données et clés publique de l'IdP dans LAAP ;
- installation des fichiers de méta-données et clés publique de LAAP dans l'IdP.
Le chemin vers les différents fichiers (méta-données et clés) est configuré dans le fichiers "libertyalliance.properties" ("laap/src/main/resources/libertyalliance.properties" depuis les sources, "webapp/WEB-INF/classes/libertyalliance.properties" pour l'archive war déployée). Les options sont :
- liberty.idp.metadata : chemin relatif au répertoire "webapp" vers le fichier de méta-données de l'IdP
- liberty.idp.publickey : chemin relatif au répertoire "webapp" vers la clés publique de l'IdP (si cette méthode de sécurité qui est choisie) ;
- liberty.idp.cacertchain : chemin relatif au répertoire "webapp" vers la chaîne de certification de l'Idp (si cette méthode de sécurité qui est choisie) ;
- liberty.sp.metadata : chemin relatif au répertoire "webapp" vers le fichier de méta-données de LAAP
- liberty.sp.privatekey : chemin relatif au répertoire "webapp" vers a clés publique de LAAP (si cette méthode de sécurité qui est choisie) ;
- liberty.sp.certificat : chemin relatif au répertoire "webapp" vers la chaîne de certification de LAAP (si cette méthode de sécurité qui est choisie).
Configuration des méta-données de LAAP
La configuration des méta-données se fait en éditant le fichier d'exemple fournit au chemin : "webapp/sp_files/ldaplaap.metadata.xml".
La configuration consiste à remplacer toutes les occurrences de "http://localhost:8080/" par la racine du serveur.
Le fichier modifié est à copier à l'emplacement spécifié dans le fichier "libertyalliance.properties".
Génération du Bi-clés
Le bi-clés utilisé et un bi-clés SSL RSA. Il est conseillé d'utiliser une longueur de clé d'au moins 2048 bits.
Pour généré un bi-clés, il faut effectuer les commandes suivantes :
% openssl genrsa -out nom-de-la-clé-privé.pem 2048
% openssl rsa -in nom-de-la-clé-privé-key.pem -pubout -out nom-de-la-clé-publique.pem
Les deux clés sont alors à copier aux emplacements spécifiés dans le fichier "libertyalliance.properties".
Installation des fichiers d'identification de l'IdP dans LAAP
La déclaration de l'IdP dans LAAP se fait en copiant le fichier de méta-données de l'IdP à l'emplacement spécifié dans le fichier "libertyalliance.properties".
Installation des fichiers d'identification de LAAP dans l'IdP
Pour cette étape, il faut copier le fichier de méta-données de LAAP et le charger dans l'IdP. Cette dernière étape dépend de l'IdP, veuillez suivre la procédure associée.