J'ai pensé commencer mes entrées dans notre nouveau blog d'entreprise par une description du projet qui a permis à CSS de remporter le prestigieux prix "2010 Core Infrastructure Solutions, Identity & Security Partner of the Year" (Partenaire de l'année 2010 pour les solutions d'infrastructure de base, l'identité et la sécurité) de Microsoft.
Le projet impliquait une utilisation intéressante du moteur de synchronisation de Forefront Identity Manager (FIM) pour fournir un provisionnement délégué d'Exchange. Mon espoir en décrivant ce projet est de fournir un exemple et peut-être une inspiration quant à ce que vous pouvez utiliser FIM pour accomplir.
Produit
Forefront Identity Manager (FIM) de Microsoft fournit une grande variété de services autour de la gestion de l'identité, y compris la synchronisation des répertoires, la gestion des groupes, la gestion des certificats, le flux de travail, la délégation et la réinitialisation des mots de passe en libre-service.
Le défi
À la suite d'une acquisition, le client a créé trois filiales, chacune disposant de sa propre forêt Active Directory et de son propre système de courrier électronique, et chacune ayant des capacités techniques différentes. Une filiale gérait assez bien ses systèmes, tandis qu'une autre ne disposait d'aucune sauvegarde viable de son système de courrier électronique.
L'objectif de l'entreprise était de doter l'entreprise et ses filiales d'une plate-forme de messagerie électronique stable et gérée de manière centralisée, en utilisant la version actuelle d'Exchange.
La difficulté résidait dans le fait que chaque filiale disposait de sa propre forêt Active Directory et que, politiquement, il n'était pas possible de réduire l'environnement AD à un seul domaine ou même à une seule forêt. D'un point de vue administratif, chaque filiale gérait son propre Active Directory et ses propres utilisateurs.
La société mère ne souhaitait pas accorder de droits d'administration dans le système central Active Directory ou Exchange aux administrateurs des filiales, mais voulait déléguer la gestion des utilisateurs et l'approvisionnement des boîtes aux lettres aux filiales. En outre, il était souhaitable que les utilisateurs des filiales puissent accéder à l'environnement Exchange central à l'aide des comptes AD de leurs filiales, sans avoir besoin d'un login distinct pour accéder au courrier électronique.
Les administrateurs des filiales devaient pouvoir spécifier pour leurs propres utilisateurs s'ils possédaient ou non une boîte aux lettres dans l'environnement Exchange central et si l'utilisateur pouvait envoyer du courrier électronique sur Internet ou s'il était limité au courrier électronique interne de l'entreprise. Enfin, les administrateurs des filiales devaient pouvoir spécifier les adresses SMTP de leurs utilisateurs et indiquer si l'utilisateur devait ou non figurer dans le carnet d'adresses global.
La solution
La solution employée par CSS consistait à demander aux administrateurs des filiales de placer des "indices" dans leurs propres Active Directories que FIM lirait et prendrait ensuite les mesures de provisionnement appropriées dans l'environnement central.
Le diagramme suivant montre la place des FIM dans le tableau :
Fournir les conseils de provisionnement
Les conseils ou les directives de provisionnement fournis par les administrateurs des filiales devaient être stockés quelque part dans les Active Directories des filiales pour être visibles par le FIM. Nous avons utilisé plusieurs des attributs d'"extension" présents dans presque tous les schémas AD. L'un de ces attributs contenait la valeur "None", "Company" ou "Internet" pour indiquer si l'utilisateur disposait ou non d'une boîte aux lettres et si cette boîte avait le droit d'envoyer et de recevoir des messages sur l'internet ou si elle était limitée au courrier électronique de l'entreprise. Un autre attribut était utilisé pour contenir une liste d'adresses SMTP pour la boîte aux lettres ; enfin, un troisième attribut contenait la valeur "True" ou "False" pour indiquer si l'utilisateur devait être inclus dans le GAL.
Les administrateurs des filiales avaient le droit de mettre à jour les attributs dans leurs propres répertoires, mais il n'y a pas d'interface utilisateur facile pour modifier les attributs d'extension (ils n'étaient pas sur Server 2008 et n'avaient pas installé les outils d'administration Exchange). Nous avons brièvement envisagé de demander aux administrateurs d'utiliser ADSI Edit ou des outils d'édition de répertoire similaires, mais nous avons rejeté l'idée en raison du risque potentiel d'erreurs et de dommages. Comme les administrateurs des filiales utilisaient l'outil standard Active Directory Users and Computers (ADUC) pour gérer leurs utilisateurs, nous avons choisi d'étendre ADUC en ajoutant un onglet supplémentaire qui exposait les attributs d'extension d'une manière facile à comprendre. Voici à quoi cela ressemble :
Après avoir créé un utilisateur, il suffit à l'administrateur de passer à cet onglet et de spécifier les détails de l'échange pour l'utilisateur.
Synchronisation
Toutes les dix minutes environ, le moteur de synchronisation de FIM consultait les trois Active Directories des filiales pour voir si les administrateurs des filiales avaient apporté des modifications aux utilisateurs nécessitant un traitement - et si c'était le cas, FIM effectuait le travail de provisionnement ou de déprovisionnement correspondant.
Transfert vers Exchange
Exchange prend en charge l'accès aux boîtes aux lettres à partir de comptes situés dans des forêts Active Directory distantes grâce à une fonctionnalité appelée "boîtes aux lettres liées". Pour mettre en place cette fonctionnalité, vous avez besoin d'un compte fictif qui possède la boîte aux lettres dans la même forêt que celle où réside Exchange. Ce compte doit être activé au niveau de la boîte aux lettres, mais désactivé au niveau de la connexion. Lorsque vous activez la boîte aux lettres du compte, vous indiquez à Exchange qu'il s'agit d'une boîte aux lettres liée et vous spécifiez le compte de la forêt distante qui aura accès à la boîte aux lettres.
Dans sa version standard, FIM provisionne des boîtes aux lettres Exchange et peut provisionner des comptes de remplacement, mais il n'a pas la capacité de créer des boîtes aux lettres liées et ne peut pas déprovisionner une boîte aux lettres Exchange sans supprimer également le compte sous-jacent.
Pour résoudre ces problèmes, CSS a créé un agent de gestion personnalisé ou "connecteur" pour FIM afin de gérer le provisionnement et le déprovisionnement des boîtes aux lettres Exchange indépendamment des comptes AD. Sous les couvertures, l'agent de gestion émet les commandes PowerShell appropriées pour connaître les boîtes aux lettres existantes, pour créer de nouvelles boîtes aux lettres régulières ou liées, et pour supprimer les boîtes aux lettres des comptes.
L'une des exigences était de permettre aux administrateurs des filiales de spécifier les adresses électroniques SMTP de leurs utilisateurs. Le moteur de synchronisation de FIM peut certainement transmettre ces informations à Active Directory, mais ni FIM ni AD ne vous préviendront si vous mettez la même adresse SMTP dans plusieurs boîtes aux lettres. Pour compliquer les choses, si vous mettez la même adresse SMTP sur plusieurs boîtes aux lettres, la distribution du courrier entrant à cette adresse SMTP échouera silencieusement.
Pour éviter cela, nous avons créé un autre agent de gestion personnalisé pour le FIM afin de traiter les adresses SMTP. Cet agent utilise à nouveau les commandes Exchange PowerShell pour demander l'attribution d'adresses SMTP aux boîtes aux lettres. L'interface PowerShell d'Exchange vérifie les adresses SMTP en double et émet un avertissement que nous avons piégé et retransmis à l'administrateur de la filiale pour l'informer du conflit d'adresses.
Enfin, pour répondre à l'exigence de sécurité selon laquelle certains utilisateurs peuvent envoyer des courriels sur Internet et d'autres sont limités aux courriels de l'entreprise, nous avons mis en place une gestion de groupe de base dans FIM pour placer dans un groupe Windows les utilisateurs dont les administrateurs de filiales avaient indiqué qu'ils étaient limités aux courriels de l'entreprise et nous avons configuré les règles de sécurité appropriées dans Exchange.
Résumé
Au final, CSS a délégué aux administrateurs d'une forêt Active Directory distante la possibilité de créer et de supprimer des boîtes aux lettres Exchange, de gérer les adresses électroniques, de manipuler l'appartenance à un groupe AD et d'affecter la liste d'adresses globale, le tout de manière contrôlée et sans accorder de droits d'administration dans la forêt centrale de l'entreprise.
Par conséquent, si vous avez un besoin similaire de déléguer des options administratives à des utilisateurs non privilégiés, telles que la maintenance des boîtes aux lettres Exchange ou l'appartenance à des groupes, vous pouvez envisager d'utiliser le FIM pour ce faire.
Pour conclure, j'ajouterai que lorsque nous avons réalisé ce projet pour notre client, nous avons en fait utilisé la version précédente de FIM (qui s'appelait ILM) parce qu'à l'époque, FIM n'avait pas encore été publié. L'outil ILM que nous avons utilisé est devenu le moteur de synchronisation de FIM et ne représente qu'une partie de la fonctionnalité désormais fournie par FIM. La version actuelle de FIM offre beaucoup plus d'options de délégation que celles que j'ai décrites ici.