Présentation et retour d’expériences ActiveRoles For Server

Salut à tous

ActiveRoles For Server (ARS pour les intimes) est une solution complète pour gérer une architecture d’annuaire Active Directory Domain Services (Active Directory) et Active Directory Application Services (ADAM).

L’outil apporte de nombreuses fonctionnalités supplémentaires par rapport aux outils d’administration natifs Microsoft (Utilisateurs et ordinateurs Active Directory et Centre d’administration Active Directory).
Ci-dessous quelques fonctionnalités que j’ai mises en production chez les clients :
– Les groupes dynamiques : ajout d’une ressource à un groupe selon la valeur d’un attribut. Je l’ai mis en production pour donner accès à l’Intranet pour tous les  utilisateurs internes de la société. Les prestataires ne devaient pas accéder à l’Intranet (utilisation de l’attribut EmployeeType).
– Les groupes temporaires : ajout d’un objet à un groupe pour une durée de temps limitée. Je l’ai utilisé pour des utilisateurs qui devaient accéder pendant un  mois à des documents confidentiels.
– Les flux d’approbation (workflows) : une ou plusieurs personnes doivent valider ou non certaines actions effectuées sur l’annuaire par d’autres personnes.  Chez un de mes clients, toutes actions effectuées sur un compte utilisateur déclenchait l’envoie d’un mail à cet utilisateur.
– Une console web personnalisable : l’outil est livré avec une console MMC (très difficilement personnalisable) et avec une console web. Cette dernière peut être totalement personnalisée (modifications des formulaires de gestion des objets, ajouts de commandes…). Prenons le cas d’une entreprise qui utiliserait l’ExtensionAttribute1 pour définir un définir le numéro d’employé de chaque salarié. Cet attribut n’est pas présent pas défaut dans la console Utilisateurs et ordinateurs Active Directory.  De plus le nom du champ (Attribut étendu 1) dans cette console n’est pas des plus parlant. Pas de problème avec l’interface web.
– Historique des actions effectuées sur un objet ou par un compte utilisateur : les responsable seront ravis de pouvoir retrouver la personne qui a effectuée tel s ou tels actions sur l’annuaire. Attention pour cela, il est important de déléguer les droits d’administration de l’annuaire qu’au travers d’ActiveRoles for Server. Les personnes en charge de l’administration de l’annuaire doivent avoir aucun accès via les outils natifs Microsoft (ne pas répliquer les permissions ARS dans l’annuaire Active Directory).
– Les policies (stratégies) : quel DSI n’a pas rêvé d’avoir un annuaire à jour avec des informations fiables et respectueuses du formalisme validé après de trop nombreuses réunions ? Avec les policies, vous pouvez obliger les équipes en charge de la gestion de l’annuaire à saisir certains champs avec un formalisme particulier (numéro de téléphone au format international, nom de famille en majuscule, champ société et adresse complétés…). ActiveRoles Server permet via le module « Script Policies » d’exécuter des scripts VBS / PowerShell avant ou après la saisie (entre autres) d’un formulaire. Rien ne vous empêche de configurer automatiquement les accès aux applications lors de la création d’un compte utilisateur (provisionning). Il dispose aussi de la fonction de « déprovisionning » qui va nous permettre de définir un certains nombres de tâches à effectuer automatiquement quand on veut supprimer des accès à une personne (le compte peut être désactivé, exécution d’un script qui va supprimer des accès aux niveaux d’une application…).
– La délégation d’administration : ActiveRoles Server permet de déléguer des droits au niveau ActiveRoles Server sans déléguer des droits au niveau l’Active Directory. L’intérêt d’est pouvoir faire déléguer des droits de manière très précise sans impacter les logiciels qui s’appuient sur l’annuaire. Vous pouvez par exemple empêcher les utilisateurs HELPDESK de voir les unités d’organisation contenant leurs comptes utilisateurs dans ARS sans les empêcher de s’authentifier.

Comme nous venons de le voir, le produit semble plutôt sympathique. Vous trouverez ci-dessous quelques retours d’expérience sur ce produit.

Retour d’expérience 1 : performance de l’outil
Attention, ARS est assez gourmant. Prévoir un serveur puissant au niveau I/O disque.
La console web peut prendre du temps à afficher les OU contenants plusieurs milliers de comptes. Pour optimiser les temps de chargement, vous pouvez réduire le nombre d’objets qui s’affichent par défaut.

Retour d’expérience 2 : installation
Penser à séparer la base de données de l’historique, de la base de données de configuration. C’est une case à cocher lors de l’installation.
Le déploiement du serveur de rapport est  complexe (il faut quelques connaissances SQL Server).
Pour le déploiement d’ActiveRoles for Server, le compte utilisateur pour la liaison ODBC doit être SYSADMIN au niveau du serveur SQL. Le plus simple est donc de disposer d’un instance SQL dédiée.
Penser à déployer les correctifs / patchs de sécurité. ActiveRoles Server 6.9 dispose par exemple d’un correctif cumulatif 3 qui permet de corriger de nombreux dysfonctionnements :
https://support.software.dell.com/fr-fr/download-install-detail/5729535

Retour d’expérience 3 : Intégration avec Exchange
Attention, de base ActiveRoles for Server n’intègre pas les commandes Exchange.
Pour disposer de ces commandes, il faut installer les outils d’administration Exchange sur le serveur ActiveRoles for Server. Il faut que la version de service pack / rollup des outils Exchange soit la même que sur le serveur Exchange, sinon gare aux bugs.
Pour que le MOVE-MAILBOX fonctionne, il faut que le compte de service soit le même que le compte de connexion au domaine (et un compte de service qui tournent avec des droits administrateur du domaine…) .

Retour d’expérience 4 : les policies lorsque l’on modifie un objet
Les policies que l’on génère via l’assistant graphique ne fonctionnent que pour la création d’objet, pas pour la modification !
Pour appliquer une policy ActiveRoles for Server sur une action de modification, il faut écrire un script et configurer une policy de type « Script Execution ». ACtiveRoles Server est fournit avec un SDK qui contient des exemples de scripts.
Il existe heureusement quelques exemples de script sur le Script Center ActiveRoles for Server :
http://wiki.activeroles.inside.quest.com/index.php/Script_Center

Ci-dessous quelques exemples de script qui permettent de compléter les champs adresses d’un compte lors qu’un utilisateur sélectionne une liste déroulante (un attribut virtuel appelé edsva_site) :
La ligne suivante  Comp=Request.Get(“edsva_site”) permet d’obtenir la valeur saisie par l’utilisateur pour le champ edsva_site.
Sub onPostModify(Request)
If Request.Class <> “user” Then Exit Sub
Comp=Request.Get(“edsva_site”)
If Comp = “MSREPORT France” Then
DirObj.put “streetAddress”, “8 route des Gardes 92190”
DirObj.put “l”, “Meudon”
DirObj.put “postalCode”, “92190”
DirObj.put “c”, “FR”
DirObj.setinfo
End If
If Comp = “Metsys” Then
DirObj.put “streetAddress”, “140 rue Gallieni” & vbCrLf & “(ancienne adresse)”
DirObj.put “l”, “Boulogne-Billancourt”
DirObj.put “postalCode”, “92100”
DirObj.put “c”, “FR”
DirObj.setinfo
End If
End Sub

Même principe mais avec le champ “page web” :
Sub onPostModify(Request)
DirObj.put “wWWHomePage”, “msreport.free.fr”
DirObj.setinfo
End Sub

Retour d’expérience 5 : délégation d’administration :
Attention à ne pas faire de chose trop complexe. Il faut maitriser les notions avancées de la délégation Active Directory pour s’en sortir.
Attention, il n’est pas possible de créer un Managed Unit qui se base sur une autre Managed Unit !

Retour d’expérience 6 : personnalisation de la console web :
On oublie la modification de la console MMC ActiveRoles for Server. Il faut compiler des choses et ça va trop loin pour moi…
La personnalisation de la console web est assez simple.
Penser à bien recharger le site web après chaque modification sinon gros risque de problème.

Retour d’expérience 7 : problème avec les workflows par défaut (avec ARS 6.5) :
Désactiver les deux workflows par défaut si vos utilisateurs ont un message d’erreur quand ils essaient d’ajouter des membres à un groupe créé via ARS.
Ce problème est lié à la gestion du propriétaire principal et secondaire !

Retour expérience 8 : erreur « Failed to move the object « Chemin LDAP de l’objet ». Administration Service encountered an error when moving the object « Chemin LDAP ». General access denied error :
Ce bug est lié à la mauvaise gestion de la « protection contre la suppression accidentelle » des objets. Cette option est activée par défaut quand on crée une unité d’organisation avec la console Utilisateurs et Ordinateurs Active Directory de Windows Server 2008 / 2008 R2.

Retour d’expérience 9 : erreur 500 Internal Server error au niveau du site web d’administration ActiveRoles For Server :
Le problème peut être reproduit ainsi :
On essaie d’accéder via les liens dans la console web à un objet auquel on n’a pas accès (une unité d’organisation par exemple). On a le message « erreur 500 Internal Server error. There is a problem with the resource you are looking for, and it cannot be displayed » avec une suite de caractères à faire peur.
Le problème provient du fait que le site web IIS est configuré pour afficher les erreurs réelles.
https://support.quest.com/Search/SolutionDetail.aspx?id=SOL61987&category=Solutions&SKB=1
Il faut le configurer le niveau d’erreur dans IIS et on a alors un message « Accès refusé » qui apparaît à la place.

CONCLUSION :
ActiveRoles for Server est un bon produit.
La non prise en charge des policies en interface graphique lors de la modification d’un objet complexifie le déploiement du produit et nécessite l’écriture de nombreux scripts cependant. Attention, le mode de licence est par utilisateur.
Il est possible de configurer vos applications / scripts pour s’appuyer sur La base ARS via le provider ADSIEDIT et le produit Quest Management Shell for Active Directory (utiliser la commande Connect-QADService pour se connecter à la base ARS, voir Get-Help Connect-QADService –example).

A+
Guillaume MATHIEU
Architecte Metsys
La connaissance s’accroît quand on la partage.

About the Author

Guillaume MATHIEU

No Comments

Laisser un commentaire

This blog is kept spam free by WP-SpamFree.