Technologie OpenDJ 2.6 pour faire swinguer vos annuaires LDAP !

Posté par . Édité par palm123, Christophe Guilloux, Xavier Claude, Xavier Teyssier, Nÿco et Katyucha. Modéré par Xavier Teyssier. Licence CC by-sa
Tags :
21
15
juil.
2013
Technologie

OpenDJ qu’es aquò ?

OpenDJ est un ensemble de services d'annuaire basés sur les standards LDAP, écrit en Java, développé en open source sous licence CDDL.

Pour être complet, un annuaire LDAP est un annuaire d'entreprise permettant de stocker des informations dans un arbre. Je vous renvoie vers le journal de PEB ou la page Wikipédia qui décrivent très bien ce dont il s'agit.

Le projet OpenDJ est la continuation du projet OpenDS, initié par Sun Microsystems pour remplacer Sun Directory Server par une nouvelle génération technologique, et laissé à l'abandon suite au rachat par Oracle. (Disclaimer : je travaille pour Forgerock, la société qui édite OpenDJ avec l'aide de la communauté)

Les forces d'OpenDJ reposent sur :

  • un respect strict et complet du standard LDAPv3, et de toutes ses extensions ;
  • une facilité d'installation et d'utilisation sur n'importe quelle plateforme qui supporte Java 6 ou 7 ;
  • une très grande stabilité et une capacité de grosses performances ;
  • une réplication multi-maîtres qui permet de répliquer les données sur plusieurs nœuds tout en autorisant les mises à jour depuis n'importe quel nœud ;
  • une prise en compte importante de la sécurité des transferts, des données et des mots de passe ;
  • une documentation complète et à jour ;
  • une localisation dans six langues, y compris le français.

Le projet fournit une bibliothèque cliente en Java, des outils de stress, une passerelle DSMLv2 (représentation XML des données d'un annuaire LDAP) qui peut être utilisée avec n'importe quel annuaire LDAPv3.

Mais sinon pourquoi parler d'OpenDJ?

Il y a de nombreux annuaires LDAP propriétaires ou libres, avec en particulier OpenLDAP qui est bien intégré à Debian et FreeIPA qui lui est bien intégré à Fedora.

Cependant, ayant constaté qu'OpenDJ est très peu connu dans le monde du libre, j'ai profité de la sortie d'une nouvelle version pour écrire une dépêche pour faire connaitre le projet.

La version 2.6 est sortie le mercredi 4 juillet dernier et apporte un grand nombre de nouveautés :

  • Un service REST to LDAP, qui permet d'accéder et de modifier les données de l'annuaire en utilisant HTTP et JSON. Ce service peut être exécuté, soit directement embarqué dans le serveur OpenDJ, soit en tant qu'application web indépendante s'interfaçant avec n'importe quel annuaire LDAP. Il permet à un développeur web de consulter l'annuaire sans avoir besoin d'utiliser le protocole LDAP.
  • Un nouvel outil de mise à jour pour faciliter la transition d'OpenDJ 2.4.5 vers 2.6, et pour les mises à jours futures.
  • Des paquetages RPM et Debian pour faciliter le déploiement automatique.
  • OpenDJ peut être configuré pour déléguer l'authentification à un service Active Directory. L'intérêt est de fournir une intégration poussée avec les environnements Microsoft sans le fardeau de la synchronisation des mots de passe.
  • Une extension optionnelle permettant de supprimer certains attributs des mises à jour. Cela est utile pour la cohabitation avec un système hérité mais aussi pour les migrations.
  • La possibilité de synchroniser les attributs de mots de passe SAMBA avec le mot de passe utilisateur.
  • Des améliorations sur l'intégrité des références, qui sont maintenant vérifiées lors de la création ou de la mise à jour.
  • Une gestion du log d'audit plus flexible et efficace grâce à l'introduction de filtres.
  • Un kit de développement (SDK) pour LDAP en java permettant d'écrire un client LDAP sans que le développeur n'ait besoin de connaitre le protocole LDAP.
  • Une documentation stable officielle, avec des guides pour l'installation, l'administration et les développeurs entre autres.

Pour la liste complète des nouvelles fonctionnalités, améliorations et corrections de bug, veuillez vous reporter aux notes de version.

Pendant le développement d'OpenDJ 2.6, de nombreuses contributions ont été soumises sous forme de code, bugs, suggestions, documentation… La communauté remercie tous les contributeurs et développeurs:
Aiman Tahboub, Alan Evans, Arturo V Sanchez, Auke Schrijnen, Bernhard Thalmayr, Brent Palmer, Bruno Vernay, Chris Dowey, Chris Ridd, Christophe Sovant, Dan Gardner, Danny Turner, Darin Perusich, Donal Duane, Elliot Kendall, Eswar Moorthy, Fred Voss, Gael Allioux, Gary Williams, German Parente, Göran Odmyr, Ian McGlothlin, Jamie Nelson, Jean-Noël Rouvignac, Jeff Blaine, Jeffrey Crawford, Jens Elkner, Lana Frost, Laurent Bristiel, Ludovic Poitou, Manuel Gaupp, Manuel Schallar, Mark Craig, Mark Gibson, Marko Harjula, Martin Sperle, Matthew Stevenson, Matthew Swift, Miroslav Fadrhonc, Mitch Silverstein, Nemanja Lukić, Nicholas Sushkin , Nikolay Belaevski, Per-Olov Sjoholm, Peter Major, Rauli Ikonen, Sachiko Wallace, Slavomir Katuscak, Tomas Forsman, Vanessa Richie, Violette Roche, Willi Burmeister.

Nous serions très intéressés par des retours sous formes de commentaires, bugs, idées, etc.

En particulier, n'étant pas des experts en packaging nous serions très heureux de savoir si le contenu et la structure de nos paquetages RPM et deb peuvent être ameliorés. Ça a déjà commencé.

  • # Interface utilisateurs

    Posté par . Évalué à  3 .

    J'ai vu sur le site web qu'OpenDJ offrait une interface graphique pour l'administrer. Juste une questions. Est-ce que les utilisateurs enregistrés dans l'annuaire peuvent s'y connecter et modifier leurs propres informations ? Ou conseillez-vous d'installer quelque chose comme FusionDirectory en plus ? Et dans ce cas y-a-t'il une différence par rapport à openLDAP ?

    • [^] # Re: Interface utilisateurs

      Posté par . Évalué à  3 .

      L'interface d'administration est conçu pour le ou les administrateurs et n'est pas utilisable par les utilisateurs normaux pour modifier leurs propres informations.
      Il existe des outils et interfaces graphiques "Pages blanches" pour cela. Par example, http://www.ldaptools.com/white-yellow-pages.htm.
      FusionDirectory est une autre option.
      ForgeRock est en train de bâtir un ensemble d'interfaces graphique et RESTful de gestion d'utilisateurs, qui sera commune a tous ses produits : OpenAM, OpenDJ, OpenIDM, pour la gestion des mots de passe, la vérification et modification des données personnelles…

    • [^] # Re: Interface utilisateurs

      Posté par (page perso) . Évalué à  2 .

      Bonsoir,

      FusionDirectory devrait marcher sans problemes sur OpenDJ vu qu'il n'utilise aucune spécificité de OpenLDAP. la seule difficulté est sans doute d'adapter les schémas fournis si OpenDJ est différent de OpenLDAP dans la gestion de ceux ci.

      Je serais intéressé par un retour d'utilisation sur une autre annuaire que OpenLDAP.

  • # Erreur dans le journal

    Posté par . Évalué à  0 .

    Bonjour,

    Juste une petite correction: Oracle n'a pas laissé tombé OpenDS qui été renommé en Oracle Unified Directory et qui est activement maintenu. Ils ont d'ailleurs sortie une nouvelle version il y a quelques mois.

    • [^] # Re: Erreur dans le journal

      Posté par . Évalué à  3 .

      "Oracle Unified Directory" est un produit propriétaire.
      Oracle n'a pas abandonné la base de code, bien au contraire, mais le projet OpenDS est lui quasiment au point mort.

      OpenDJ est quant à lui un projet open source bien vivant.

  • # Service web

    Posté par . Évalué à  2 .

    Un service REST to LDAP, qui permet d'accéder et de modifier les données de l'annuaire en utilisant HTTP et JSON. Ce service peut être exécuté, soit directement embarqué dans le serveur OpenDJ, soit en tant qu'application web indépendante s'interfaçant avec n'importe quel annuaire LDAP. Il permet à un développeur web de consulter l'annuaire sans avoir besoin d'utiliser le protocole LDAP.

    Est-il possible de limiter ces droits pour ne faire que de la lecture voir filtrer les résultats qu'il renvoie ? (pour ce dernier point si ça peut se faire au niveau du requêtage LDAP et pas au niveau du webservice ce serait top :) ).

    Je suis dans ma tour d'ivoire (rien à foutre des autres, dites moi un truc pour moi), si je ne pose pas explicitement une question pour les 99%, les kévin, les Mm Michu alors c'est que je ne parle pas d'eux.

    • [^] # Re: Service web

      Posté par . Évalué à  3 .

      Je ne suis pas sûr de bien comprendre de quels droits tu parles (voulais-tu écrire "ses" au lieu de "ces"?).

      Je vais te faire une réponse générique qui, j'espère, répondra à ta question.

      Côté serveur OpenDJ, les droits des utilisateurs peuvent être limités par les ACI (Access Control Instruction) ou par les privilèges.
      Les ACI s'appliquent aux données de l'annuaire, offrant un contrôle d'accès à grain fin sur les opérations LDAP qu'un utilisateur ou le membre d'un groupe est autorisé à effectuer.
      Les privilèges contrôlent les tâches administratives qu'un utilisateur peut effectuer. Les deux mécanismes sont implémentés indépendamment.

      Côté service REST to LDAP, la configuration du service permet de choisir quels sous arbres sont exposés, et sous quelles ressources HTTP. Dans le fichier, jète un coup d'œil aux mappings sous le pointer JSON /servlet/mappings:
      On peut spécifier le sous arbre ciblé avec baseDN, les contrôles LDAP tels que "Subtree Delete", "Permissive Modify", quelle valeur doit être retournée au client après une mise à jour.
      Ensuite, tu peux spécifier attribut par attribut, s'ils sont createOnly, readOnly, readWrite, etc.
      Je te renvoie vers la (conséquente) documentation du service REST to LDAP.

  • # pakompri

    Posté par . Évalué à  -3 .

    La "continuation" ? O.o

    • [^] # Re: pakompri

      Posté par . Évalué à  2 .

      Action de continuer, de poursuivre.
      Synonyme : prolongement

    • [^] # Re: pakompri

      Posté par . Évalué à  3 .

      Comme dans "bonne continuation" au resto.

  • # Java6 TM et/ou Openjdk-6

    Posté par . Évalué à  0 .

    The very same installer works on any operating system where a Java SE™ 6+ virtual machine exists.

    J'ai des machines Debian squeze et wheezy. Puis je installer OpenDj?

    Tout le monde a un cerveau. Mais peu de gens le savent.

    • [^] # Re: Java6 TM et/ou Openjdk-6

      Posté par . Évalué à  3 .

      Oui OpenDJ peut être installé sur ces OS, car je vois qu'on peut installer OpenJDK, ou bien le JDK de Sun sur Debian Squeeze et Wheezy.
      D'ailleurs, plusieurs développeurs utilisent Linux Mint et OpenJDK pour développer OpenDJ sans aucun problème.

      Finalement, la version 2.6 apporte les paquets deb pour faciliter l'administration du logiciel.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.