Automatisation de la classification des objets dans l'AD

Disponible à partir d'EOLE 2.7.2 et pré-installé sur Scribe >= 2.8.1, le paquet eole-ad-dc-ou permet de créer automatiquement une structure d'unités organisationnelles[1] et de définir des règles de classification des nouveaux objets sur les modules Scribe en mode AD et les contrôleurs de domaine Seth.

Par défaut, lors de la création d'un utilisateur, y compris via les procédures d'importation automatisées, l'objet AD est créé dans CN=Users,<realm>.

De même, à l'intégration d'un ordinateur, la fiche AD est créé dans CN=Computers,<realm>.

L'ensemble des utilisateurs et des ordinateurs se retrouvent ainsi dans ces 2 conteneurs AD.

La création de GPO[2] utilisateur peut être réalisée en utilisant les filtres par groupe mais, ce n'est pas la pratique la plus courante. Il est plus facile d'associer une GPO avec un Unité Organisationnelle.

Le paquet eole-ad-dc-ou permet de générer une organisation (niveaux, classes, personnes, machines, salles, ...) sous forme d'une arborescence d'OU.

Une fois l'arborescence créée, l'ensemble des utilisateurs/ordinateurs présents dans le conteneur par défaut seront analysés et classés selon les règles indiquées.

Installation du paquet

S'il n'est pas déjà présent, le paquet s'installe à l'aide de la commande suivante :

apt-eole install eole-ad-dc-ou

Une fois le paquet installé, de nouvelles variables sont disponibles dans l'interface de configuration du module.

Configuration dans gen_config.

Le paramétrage d'UO personnalisées se fait dans l'onglet GPO

  • activer_ad_ou : permet d'activer la création automatique d'une arborescence d'UO

  • activer_ad_schedule : permet d'exécuter la commande de classement chaque jour (si des nouveaux utilisateurs sont ajoutés, ils seront automatiquement classés dans leurs UO)

  • activer_ad_ou_classifier : Activer le classement automatique des utilisateurs et ordinateurs vers une arborescence d'UO

  • ad_ou_names : Il s'agit de la liste des OU. Pour chaque OU, il faut saisir :

  • ad_ou_names_X :

Nom de l'UO personnalisée.

Les espaces sont autorisés lors de la saisie.

Le caractère '/' permet de créer une UO sous une autre UO. Exemple "MON UO/Ma sous UO".

  • ad_ou_classifier_X

aucun : ne déplace aucun objet

membreDe : ne déplace que les personnes appartenant au groupe renseigné dans le champ suivant.

membreDeENT : ne déplace que les objets appartenant au groupe et les répartis par Niveau (attribut "Meflcf") et Classe (attribut "Divcod").

ordinateur : ne déplace que les ordinateurs.

ordinateur_par_classe : ne déplace que les ordinateurs et les répartissant dans des sous OU en fonction de leurs noms.

  • ad_ou_group_X

Facultatif, groupe auquel doit appartenir l'objet pour être sélectionné.

Exemple :

Avec ad_ou_group="professeurs" : prof-1 sera sélectionné, eleve-1 non

Avec ad_ou_group="eleves" : eleve-1 sera sélectionné, prof-1 non

Avec ad_ou_group="" : pas de filtre, tous seront sélectionnés.

  • ad_ou_pattern_X

Dans cette zone, vous pouvez saisir une règle de filtrage sur le NOM de l'objet.

Cette règle de filtrage est une expression régulière[3] (REGEX).

Dans le cas d'un classifier ordinateur_par_classe l'expression régulière doit comporter un groupement. Le groupement est symbolisé par des parenthèses. Ce groupement servira à déterminer les noms des classes qui deviendront des sous-UO de l'UO personnalisée.

Exemple :

* ad_ou_pattern="a" : tous les éléments contenant la lettre "a" seront sélectionnés.

* ad_ou_pattern="PC" : PC-123456 sera sélectionné, MONPC-001 aussi, mais CDI-001 non et DESKTOP-ZPCLE non plus.

* ad_ou_pattern="" : pas de filtre ==> tous seront sélectionnés.

Cas particulier classifier ordinateur_par_classe et expression avec groupement :

Un groupement d'expression régulière est délimité par des parenthèses.

Le groupement peut contenir qu'un seul groupe : (PC).

Le groupement peut contenir plusieurs groupes, ils sont alors séparés par un pipe "|" (AltGr+6) : (PC|AUTRE).

* ad_ou_pattern="(PC|TECHNO|CDI)"  : les UO PC, TECHNO et CDI seront crées. Les ordinateurs contenant "PC" dans leur nom seront placés dans l'UO "PC", ceux contenant "techno" dans l'UO "TECHNO", idem pour "cdi" vers "CDI".

Attention

Il faut faire attention au nom que l'on donne aux ordinateurs. Il ne faut pas nommer les ordinateurs avec un nom comportant plusieurs éléments du groupe d'expression régulières.

Par exemple, si l'on définit ad_ou_pattern="(PC|TECHNO|CDI)", il ne faut pas nommer les ordinateur "PC-CDI-00X" ou "CDIPC-00X" par exemple. Dans ce cas, le filtrage et le classement des ordinateurs par sous-UO aura des effets inattendus.

Exemple membreDeENT (UO par niveau "Meflcf" et sous-UO par classe "Divcod")

Exemple "(PC|TECHNO|CDI)"

Exemples de règles

Exemple

Exemple de classement sur un Scribe

Exemple

Exécution du script de classement

Exécution automatique

Le classement est appliqué :

  • à chaque instance ou reconfigure ;
  • toutes les nuits (si Exécuter le traitement toutes les nuits est à oui).

Exécution depuis l'EAD3

À partir d'EOLE 2.8.1, si la création automatique d'une arborescence d'UO a été activée dans l'interface de configuration du module, il est possible de lancer l'exécution du script de classification des objets dans l'AD directement depuis l'EAD3.

L'action Classer les nouveaux utilisateurs et ordinateurs par OU est disponible dans la catégorie Gestion AD.

L'action propose tout simplement d'exécuter le traitement en cliquant sur le bouton.

La fin du traitement est indiquée par une fenêtre qui s'affiche en bas à gauche de l'écran.

Exécution manuelle

Pour forcer l'exécution du traitement, il est possible d'exécuter la commande suivante :

/usr/share/eole/postservice/24-ad-ou