Active Directory & .Net 2.0


précédentsommairesuivant
existe déjà

Introduction

Avant d'entrer dans le vif du sujet, il convient de définir un certain nombre de termes comme par exemple, annuaire, Active Directory ou encore LDAP. Voyons de suite à quoi correspondent ces termes un peu "barbares".

Définition de LDAP

LDAP pour Lightweight Directory Access Protocol est un protocole d'annuaires reposant sur TCP/IP. Il a pour de nombreuses vocations mais les deux principales, selon moi, sont de standardiser et de régir les communications entre les clients et serveurs d'annuaires en offrant un protocole réseau d'accès, et de définir un espace de nommage qui permet d'identifier de manière unique chaque ressource. Ce protocole, dans sa version 3.0, est implémenté dans Active Directory, (si vous êtes motivés et surtout intéressés, je vous recommande de lire la RFC 3377 qui contient les spécifications de ce protocole, vous pouvez la retrouver à cette adresse http://www.ietf.org/rfc/rfc3377.txt). Je ne rentrerai pas plus dans les détails pour le moment mais je pense qu'il est important de bien connaître ce protocole, au même titre qu'il est important de connaître SQL lorsque l'on souhaite utiliser des SGBD.

Définition d'Active Directory

Active Directory est un ensemble de services d'annuaire se basant sur le protocole LDAP en version 3.0. Il sert à recenser les ressources présentes sur un réseau. Ces services d'annuaire sont intégrés aux versions Server de Windows depuis la version 2000. Ils ont pour fonction principale de centraliser l'administration des ressources des réseaux, même les plus grands, tout en apportant une sécurité élevée et une souplesse de déploiement et d'utilisation.

Active Directory est avant tout une base de données, qui contient la liste de l'ensemble des ressources (utilisateurs, ordinateurs, serveurs, partages réseau, imprimantes, etc.) proposées sur un réseau donné, typiquement une forêt composée de domaines (pour plus de détails sur ce qu'est un domaine ou encore une forêt, je vous renvoie à la documentation Technet dont vous trouverez les adresses en fin d'article dans la section "Ressources"). Par le biais de cet annuaire, il va nous être possible d'obtenir des informations détaillées sur chaque objet contenu dans la base, de les localiser, et également d'en avoir une vue centralisée et hiérarchique.

La fonction primaire d'Active Directory est de permettre aux utilisateurs, aux administrateurs mais également aux autres ressources elles-mêmes de récupérer des objets et leurs attributs au sein de cet annuaire (par exemple une imprimante possédant un module un recto-verso). La force d'un tel annuaire ne tient pas tellement dans sa capacité à stocker des objets représentant des ressources (bien que cela soit un point extrêmement important) mais plutôt dans ses capacités d'indexation et de recherche, d'ailleurs Active Directory, comme les autres annuaires de ce type, présente des performances en écriture relativement faibles, mais élevées en lecture, mais attention aux raccourcis trop faciles, si nous pouvons apparenter Active Directory à une base de données, il ne s'agît en aucun cas d'un SGBD tel Oracle ou SQL Server. L'annuaire de Microsoft, utilise le protocole LDAP pour effectuer des recherches ; mais, en plus de celui-ci, il repose sur d'autres protocoles réseaux comme par exemple TCP/IP, DNS ou encore Kerberos en version 5 pour l'authentification sécurisée des services et des utilisateurs.

Dernier aspect important d'Active Directory : la réplication. En effet, pour permettre une haute disponibilité, une sécurisation et de bonnes performances d'accès à son contenu, les informations sont répliquées sur tous les contrôleurs de domaine de l'étendue du réseau. C'est-à-dire qu'il existera plusieurs copies de l'annuaire sur un même réseau et qu'elles seront synchronisées pour répliquer toute modification faite au niveau de l'une de ses copies. L'organisation des domaines Active Directory repose sur une distribution précise des rôles, et la gestion de l'annuaire demande une configuration rigoureuse.

Voilà, nous en avons terminé pour cette rapide présentation d'Active Directory, mais attention ne vous méprenez pas, il s'agit d'un outil très puissant et d'une grande complexité, le réduire à une définition basique serait une erreur, ses fonctionnalités sont innombrables et mériteraient plusieurs ouvrages, mon objectif était ici de vous définir globalement ce qu'est cet outil, qui à mon grand regret est trop souvent mal connu des développeurs. Il faut être conscient, que plus que connaître les classes du Framework que nous allons utiliser dans cet article, il faut connaître l'organisation et le fonctionnement d'Active Directory. Passons maintenant au sujet principal de cet article à savoir les interactions entre Active Directory et la technologie .Net dans sa version 2.0.

Avertissement : accéder au contenu de l'annuaire d'Active Directory et modifier la structure même de celui-ci est tout sauf anodin et vous devrez impérativement prendre les précautions qui s'imposent. De plus, il est encore plus aisé par le code que par l'interface graphique de mettre à terre toute votre architecture suite à une manipulation mal effectuée quand vous intervenez sur celle-ci avec des privilèges d'administratiion, intervenez donc de manière réfléchie, et sur un environnement de test avant toute application sur un environnement de production. Tous les exemples qui sont donnés dans cet article ont été testés sous Windows Server 2003 Enterprise Edition et sont fonctionnels, mais en aucun cas je ne pourrais être tenu responsable de quelque incident que ce soit provoqué par une mauvaise utilisation de ces exemples. Donc soyez prudents, mais je ne me fais pas de soucis pour cela, je sais que les personnes travaillant avec Active Directory le sont !


précédentsommairesuivant
existe déjà

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2005 Ronald VASSEUR. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.