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.

OpenDJ

OpenDJ est la solution d'annuaire LDAP proposée par Forgerock.

Issu de l'ancien OpenDS de Sun Microsystems, il s'agit d'un annuaire LDAP V3, écrit en java, et donc "installable" sur un grand nombre de plates-formes (Linux, Unix, Windows, MacOS).

Par rapport à un OpenLDAP, il propose des fonctionnalités intéressantes :

Forgerock

Une nouvelle série d'articles sur les produits de Forgerock.

Forgerock est un éditeur de solutions de gestions d'identités et d'accès (IAM), qui propose des produits de type "Commercial Open-Source". c'est à dire que les produits sont en open-source (le code est librement consultable, modifiable), mais que Forgerock offre un service de support payant pour les solutions mises en production.

Installer Drush avec Composer

Depuis quelques temps déjà, Drush (DRUpal SHell) est disponible sur GitHub, et non plus sur http://drupal.org.

L'installation peut se faire via git ou via Composer. C'est cette méthode qui est nécessaire pour l'installation avec Drupal 8.

Installation des pré-requis sur la machine

Ces paquets sont utilisés pour récupérer les données via http et git. unzip est utilisé avec drush make pour dézipper certains fichiers.