LDAP / Active Directory – iceScrum

Documentation Cette documentation ne s'applique qu'à iceScrum v7.
Pour un vieux serveur iceScrum R6, lisez la documentation correspondante ou migrez.


Authentifiez vos utilisateurs via LDAP / AD.

Principes

Contrairement à la plupart des Apps, celle-ci s’applique à l’échelle du serveur. Cela signifie qu’elle n’est pas disponible sur iceScrum Cloud. Autrement, si votre licence l’inclut alors elle sera disponible.

Il y a deux types d’utilisateurs dans iceScrum, selon leur mode d’authentification :

  • Interne : utilisateurs « classiques ». Ils ne sont authentifiés que d’après le couple nom d’utilisateur / mot de passe définis dans iceScrum. Les utilisateurs créés depuis l’interface d’iceScrum (formulaire d’enregistrement ou interface d’admin) sont internes par défaut.
  • Externe : utilisateurs qui ne peuvent s’authentifier que par un service externe, tel que LDAP. Si l’authentification externe échoue alors ces utilisateurs ne peuvent pas se connecter. Quand un nouvel utilisateur se connecte depuis un service extérieur pour la première fois, l’utilisateur externe correspondant est créé dans iceScrum à partir des attributs fournis par le service extérieur (nom d’utilisateur, nom, prénom et adresse email), ce qui permet d’éviter de les importer / créer manuellement. Leur adresse email et leur mot de passe ne peuvent pas être modifiés dans iceScrum.

Les roles et permissions pour les utilisateurs externes sont gérés directement via iceScrum, il ne peuvent pas être contrôlés depuis le service externe (par ex. les groupes LDAP).

A chaque fois qu’un utilisateur externe se connecte avec succès, ses attributs iceScrum sont mis à jour depuis les attributs externes.

Notez qu’iceScrum n’écrit jamais dans votre service externe, et que le mot de passe des utilisateurs externe n’est jamais stocké dans iceScrum.

Le type d’un utilisateur (interne / externe) peut être changé à tout moment par l’administrateur. Il est donc possible de migrer une base d’utilisateurs internes vers une authentification externe. Référez vous à la documentation d’administration des utilisateurs pour plus d’informations.

Pour LDAP / AD, l’authentification est réalisée par une opération bind. Cependant, une recherche est nécessaire avant ce bind pour déterminer le Distinguished Name (DN) de l’utilisateur.

Configuration

Vous devez vous connecter en tant qu’administrateur afin de configurer la connexion à LDAP / AD. Vous trouvez cette configuration dans le menu principal « Configuration ».

  • Activer : Active ou désactive la connexion à l’annuaire.
  • URL du serveur : Adresse complète du serveur LDAP, par ex. ldap://localhost:389.
  • Base de recherche : Recherche dans le contexte donné, par ex. dc=example,dc=com ou ou=users,dc=example,dc=com.
  • Filtre de recherche : Filtre utilisé pour la recherche des utilisateurs. Pour un serveur Active Directory, utilisez : sAMAccountName={0}.
  • Recherche sous-arbre : Si cochée alors la recherche est effectuée sur l’ensemble des sous-arbres, sinon la recherche ne sera effectuée que sur la base de recherche.
  • Attribut prénom : Nom de l’attribut LDAP/AD pour le prénom utilisé pour créer l’utilisateur local iceScrum.
  • Attribut nom : Nom de l’attribut LDAP/AD pour le nom utilisé pour créer l’utilisateur local iceScrum.
  • Attribut email : Nom de l’attribut LDAP/AD pour l’email utilisé pour créer l’utilisateur local iceScrum.
  • Connexion anonyme : Autorise les connexions anonymes au lieu de l’authentification du Manager (possible car les accès LDAP sont en lecture seule).
  • Manager Dn : DN d’un utilisateur avec les droits suffisants pour rechercher dans l’annuaire. Requis si la connexion anonyme n’est pas activée.
  • Mot de passe Manager : Requis si la connexion anonyme n’est pas activée.

Un redémarrage est nécessaire pour que cette configuration soit prise en compte. Utilisez le bouton de Test pour vérifier que votre connexion fonctionne bien avant de redémarrer.

Si vous voulez utilisez LDAP avec SSL :

  • Utilisez le protocole ldaps dans l’URL du serveur
  • Utilisez le port approprié dans l’URL du serveur (le plus souvent 636)

Si votre certificat SSL n’est pas reconnu alors :

  • Importez la chaîne de certificats dans le trustStore du serveur iceScrum
  • Ajoutez le chemin du trustStore dans les propriétés Java (en général dans la variable CATALINA_OPTS):
    -Djavax.net.ssl.trustStore=/your/path/to/truststore

En revanche, TLS n’est pas supporté.

Troubleshooting

Les logs détaillés de l’authentification LDAP peuvent être obtenus en cochant la case « Activer les logs pour la sécurité », cf. la documentation d’administration du serveur.

Si l’authentification LDAP ne marche pas, assurez-vous que :

  • Votre configuration a bien été prise en compte (vous avez bien redémarré). Vous pouvez également vérifier dans les logs de sécurité que vos paramètres sont bien utilisés.
  • Votre serveur iceScrum a bien accès au serveur LDAP (proxy, pare-feu, port…).
  • Une recherche directe sur l’annuaire avec la configuration donnée (base de recherche, filtre, authentification…) fonctionne bien.


Essayez gratuitement dès maintenant
Tout ce dont vous avez besoin pour gérer vos projets agiles