ITDS : modifier le schéma en live

Par défaut, le schéma de données de ITDS (IBM Tivoli Directory Server) est chargé au démarrage, à partir du fichier V3.modifiedschema, présent dans le répertoire /etc de l'instance d'annuaire.

Par exemple, pour une instance nommé idsldap, le fichier sera dans le répertoire /product/ldap/idsslapd-idsldap/etc.

Si on veut ajouter un attribut ou une classe d'objet à notre schéma, il est évidemment possible d'arrêter le serveur, modifier le fichier V3.modifiedschema, puis redémarrer ITDS.

Mise en place de politiques de validation dans OpenIDM

OpenIDM permet de valider le format des attributs, via des policies.
Ces règles sont définies par défaut dans le fichier OPENIDM_HOME/bin/defaults/script/policy.js. On y trouve par exemple des règles de type : required, not-empty, unique, valid-date, valid-email-address-format, min-length et bien d'autres. Une vingtaine de règles sont ainsi disponibles, mais il est également possible d'ajouter des règles spécifiques si besoin.

Les différentes étapes pour ajouter une règle spécifique sont les suivantes :

Mise en place d'un cluster OpenIDM

OpenIDM est prévu pour s'installer et fonctionner en mode cluster, de manière assez facile.

Chaque instance partage le même repository, ce qui leur permet de disposer des mêmes données, la configuration étant alors partagée. Seul le repository est utilisé pour le cluster, sans autre mécanisme (pas de test de lien réseau par exemple).

Cet article explique comment démarrer deux instances OpenIDM qui vont partager le même repository et utiliser une ressource LDAP commune (OpenDJ dans notre exemple).

OpenIDM

OpenIDM est la solution de gestion des identités orientée "provisionnement", proposée par Forgerock.

A la différence des produits OpenDJ (issu de OpenDS) et OpenAM (issu de OpenSSO), c'est une solution entièrement nouvelle. Ecrite en java, elle évolue et se bonifie rapidement au fil des ans.

L'un de ses principales particularités est de proposer des interfaces REST pour la quasi-totalité des opérations.

OpenDJ : personnalisation du schéma

Il est d'usage courant de personnaliser le schéma de données, en ajoutant des attributs et des classes d'objets spécifiques au client.

OpenDJ permet bien évidemment de définir son propre schéma de données. La déclaration des attributs et classes d'objets est faite dans différents fichiers LDIF, chargés au démarrage de l'instance, et qui se trouvent dans $DJHOME/config/schema.
Par défaut, après l'installation, on y trouve une quinzaine de fichiers:

OpenDJ : ajout d'un Root Suffix

L'ajout d'un Root Suffix (racine d'un arbre LDAP) peut se faire via la console graphique, mais aussi en ligne de commande.

On peut vouloir ajouter un backend spécifique, ce qui permettra de gérer la réplication différemment pour ce suffixe, ou ajouter le suffixe dans un backend existant.

En ligne de commande

On va utiliser la commande dsconfig, qui gère la configuration de l'annuaire.

OpenLDAP : surveiller et contrôler la réplication

La mise en place d'une réplication de type miroir entre deux annuaires OpenLDAP est assez simple.

Une fois la mise en place effectuée, il s'agit de vérifier que la réplication se fait de manière satisfaisante. Car parfois, en cas de charge élevée sur l'un des annuaires, certaines transactions peuvent ne pas être propagées. Il est alors intéressant de savoir si les instances d'annuaires sont bien synchronisées, et comment les remettre d'aplomb si ce n'est pas le cas.