Fiche technique | |
---|---|
Plateforme : | Windows Server |
Auteur : | Microsoft |
Date de publication : | 1996 à maintenant |
Licence : | Microsoft |
Catégorie : | Annuaire |
Introduction
L'Active Directory est un service d'annuaire LDAP pour les systèmes d'exploitation Windows Server (Windows 2000 Server, Windows Server 2003, Windows Server 2008, Windows Server 2012, Windows Server 2016, Windows Server 2019,...). Il permet ainsi de pouvoir gérer de façon centralisé les différents utilisateurs (leurs authentifications et leurs autorisations) des systèmes d'exploitation Windows et macOS et utilisateurs de service Microsoft au sein d'une entreprise ou d'une organisation. De plus, il offre la possibilité de gérer les stratégies d'applications et les mises à jour critiques des postes de travail.
En général, Active Directory sert de solution centrale pour la gestion des identités et des accès au sein d'une même organisation.
Voici ses principales caractéristiques :
- Gestion Centralisée des Identités
- Utilisateurs et groupes : Active Directory permet de créer, gérer, et organiser des comptes d'utilisateur et de groupe. Chaque utilisateur peut se voir attribuer des permissions et des rôles spécifiques.
- Unité d'Organisation (OU) : Les comptes et objets peuvent être organisés en unités d'organisation (OU), étant des conteneurs logiques facilitant la gestion des permissions et des politiques au sein d'une organisation.
- Authentification et Autorisation
- Kerberos : Active Directory utilise le protocole d'authentification Kerberos, permettant l'authentification sécurisée des utilisateurs et des ordinateurs sur un réseau.
- LDAP (Lightweight Directory Access Protocol) : LDAP est utilisé pour interroger et modifier les objets dans Active Directory. Il permet une interopérabilité avec d'autres systèmes et services utilisant LDAP.
- Single Sign-On (SSO) : Permet aux utilisateurs de s'authentifier une seule fois et d'accéder à plusieurs ressources et services sans devoir ressaisir leurs informations d'identification.
- Politique de Groupe (Group Policy)
- Gestion des paramètres de configuration : Les administrateurs peuvent utiliser les objets de stratégie de groupe (GPO) pour définir et appliquer des configurations et des paramètres à un groupe d'utilisateurs ou de machines. Cela peut inclure des paramètres de sécurité, des configurations logicielles, et bien plus.
- Déploiement logiciel : Active Directory permet également le déploiement et la gestion de logiciels à travers les GPO, assurant que tous les ordinateurs d'une organisation suivent les mêmes directives logicielles.
- Hiérarchie et Structure de Domaine
- Forêts, Domaines et Arbres : Active Directory est structuré en forêts, pouvant contenir plusieurs domaines, eux-mêmes organisés en arbres. Cette hiérarchie permet une gestion souple et granulaire des ressources à travers l'organisation.
- Confiances : Des relations de confiance peuvent être établies entre différents domaines, permettant aux utilisateurs d'un domaine d'accéder aux ressources d'un autre domaine.
- Sécurité et Contrôle d'Accès
- Listes de Contrôle d'Accès (ACL) : Chaque objet dans AD est associé à une ACL qui détermine quels utilisateurs ou groupes peuvent accéder ou modifier cet objet.
- Authentification à Deux Facteurs (2FA) : AD peut être configuré pour exiger une authentification à deux facteurs, augmentant la sécurité des connexions.
- Répartition des Services et Réplication
- Contrôleurs de Domaine : Active Directory est déployé sur des serveurs appelés contrôleurs de domaine (Domain Controllers). Ces serveurs hébergent une copie de la base de données Active Directory et fournissent des services d'authentification aux utilisateurs et aux ordinateurs.
- Réplication Multi-Maître : Les modifications apportées à la base de données Active Directory sur un contrôleur de domaine sont répliquées sur les autres contrôleurs de domaine pour assurer la cohérence et la disponibilité.
- DNS Intégré
- Service DNS : Active Directory repose fortement sur les DNS pour le fonctionnement de ses services. Il gère les enregistrements DNS nécessaires pour localiser les ressources Active Directory, comme les contrôleurs de domaine.
- Extensibilité et Interopérabilité
- Schéma Extensible : Le schéma Active Directory peut être modifié pour ajouter de nouveaux types d'objets ou pour étendre les objets existants, permettant l'intégration avec des applications tierces.
- Interopérabilité : Active Directory peut interagir avec d'autres services d'annuaire via des protocoles comme LDAP, ou encore avec des environnements non Windows, comme Linux, grâce à des extensions ou des services supplémentaires (exemple : Samba).
- Audit et Surveillance
- Audit des connexions et des modifications : Active Directory permet de configurer des audits pour suivre les connexions, les accès aux ressources, et les modifications apportées aux objets Active Directory.
- Surveillance en temps réel : Avec des outils comme Microsoft System Center ou des solutions tierces, les administrateurs peuvent surveiller les performances, l'intégrité, et les événements de sécurité dans un environnement Active Directory.
- Support des Applications
- Intégration avec les Applications Windows : De nombreuses applications Windows, notamment les serveurs d'entreprise comme SQL Server ou Exchange, s'intègrent directement avec Active Directory pour gérer les accès et les permissions. L'Active Directory s'intègre bien avec les différents produit de la famille de produits Microsoft Dynamics ou Axapta (X++).
- Federated Services (AD FS) : L'Active Directory peut fournir des services fédérés (AD FS) permettant l'authentification des utilisateurs à travers plusieurs systèmes ou applications, y compris dans des environnements infonuagique.
- Résilience et Disponibilité
- Récupération après sinistre : Des fonctionnalités comme les contrôleurs de domaine en lecture seule (RODC) et la possibilité de sauvegarder et restaurer des objets ou des configurations facilitent la résilience et la récupération après sinistre.
- Contrôleurs de domaine secondaires : La présence de plusieurs contrôleurs de domaine permet une redondance, assurant que le service reste disponible même en cas de panne d'un serveur.
Voici les désavantages d'Active Directory :
- Complexité de la mise en oeuvre et de la gestion
- Configuration initiale complexe : La mise en place d'une infrastructure Active Directory nécessite une planification détaillée et une expertise technique, notamment en matière de conception de la structure des domaines, de la configuration DNS, et de la mise en place des GPO (Group Policy Objects).
- Administration continue : Gérer Active Directory sur le long terme peut être complexe, surtout dans les grandes organisations avec des environnements multi-domaines ou multi-forêts. Cela demande une gestion constante des utilisateurs, des groupes, des permissions, des GPO, et de la réplication des données.
- Dépendance à l'Environnement Windows
- Limitations dans les environnements non-Windows : Bien qu'il soit possible d'intégrer Active Directory avec des systèmes non-Windows (comme Linux via Samba), ces intégrations peuvent être difficiles à configurer et à maintenir. Active Directory est optimisé pour les environnements Windows, ce qui peut limiter son efficacité ou sa fonctionnalité dans des environnements hétérogènes.
- Frais de licence : L'utilisation d'Active Directory nécessite souvent des licences pour les serveurs Windows, ce qui peut représenter un coût significatif pour les entreprises, surtout celles avec un grand nombre d'utilisateurs ou de serveurs.
- Sécurité et risques associés
- Cible de Cyberattaques : En tant que service centralisé pour la gestion des identités et des accès, Active Directory est une cible de choix pour les cyberattaques. Une compromission de l'Active Directory peut potentiellement donner accès à toutes les ressources de l'entreprise.
- Complexité des permissions : La gestion des permissions granulaires via des ACL (Access Control Lists) et des GPO peut devenir complexe, ce qui peut mener à des erreurs de configuration, rendant certaines ressources trop accessibles ou, à l'inverse, inaccessibles même aux utilisateurs légitimes.
- Dépendance aux contrôleurs de domaine : Si les contrôleurs de domaine Active Directory tombent en panne ou sont compromis, cela peut entraîner des interruptions significatives des services d'authentification et d'accès dans l'ensemble de l'organisation.
- Problèmes de mise à l'échelle
- Mise à l'échelle verticale : Alors que Active Directory peut être distribué sur plusieurs serveurs pour améliorer la disponibilité, la gestion des performances peut devenir un défi à mesure que le nombre d'utilisateurs, de groupes, et d'objets augmente.
- Réplication : La réplication des données Active Directory entre les contrôleurs de domaine peut devenir lente ou problématique dans des environnements distribués géographiquement, ce qui peut entraîner des retards dans la propagation des changements.
- Problèmes de compatibilité
- Interopérabilité avec d'autres systèmes : Bien qu'il soit possible d'intégrer Active Directory avec d'autres systèmes d'annuaire ou d'authentification (comme LDAP, ou SAML pour les fédérations d'identités), ces intégrations peuvent être complexes et nécessiter des solutions tierces ou une expertise spécialisée.
- Dépendance à l'Intranet : Active Directory fonctionne généralement mieux dans des environnements d'entreprise où tous les systèmes sont connectés via un réseau d'entreprise (intranet). Dans des configurations hybrides (infonuagique et On-premise), la gestion peut devenir plus complexe.
- Maintenance et mises à jour
- Maintenance permanente : Les mises à jour, les correctifs de sécurité, et les sauvegardes régulières sont essentiels pour maintenir un Active Directory sain, ce qui ajoute une charge de travail continue pour les administrateurs.
- Compatibilité avec les nouveaux Systèmes : À chaque nouvelle version de Windows Server ou lors de l'intégration de nouvelles technologies, il peut être nécessaire de mettre à jour ou de reconfigurer Active Directory pour maintenir la compatibilité.
- Dépendance au DNS
- Configuration DNS Cruciale : Active Directory repose fortement sur une configuration DNS correcte. Une mauvaise configuration DNS peut entraîner des problèmes d'authentification, de résolution de noms, et de réplication.
- Risque de Single Point of Failure : Si le DNS tombe en panne ou est mal configuré, cela peut affecter l'ensemble de l'infrastructure Active Directory, ce qui peut provoquer des interruptions de service.
- Rigidité et Manque de Flexibilité
- Structure hiérarchique Rigide : La structure hiérarchique de domaines, de forêts et d'unités d'organisation (OU) peut être limitative pour les organisations nécessitant une plus grande flexibilité dans la gestion des accès et des ressources.
- Gestion des GPO Complexe : L'application des GPO peut devenir complexe dans les environnements avec de multiples OU, domaines, et forêts, surtout lorsqu'il s'agit de gérer des exceptions ou des scénarios particuliers.
- Complexité des récupérations après sinistre
- Restaurations difficiles : La récupération d'un Active Directory après un sinistre peut être compliquée et nécessite souvent une planification préalable détaillée, ainsi que des sauvegardes régulières. La restauration des objets supprimés ou corrompus, bien que possible, peut être un processus complexe.
- Impact des pannes : Une panne majeure d'Active Directory peut affecter l'ensemble de l'organisation, y compris l'accès aux fichiers, aux applications, et aux services critiques, ce qui peut avoir des conséquences significatives sur les opérations.
Liste des versions schéma
Version | Plateforme |
---|---|
13 | Windows 2000 Server |
30 | Windows Server 2003 |
31 | Windows Server 2003 R2 |
44 | Windows Server 2008 |
47 | Windows Server 2008 R2 |
56 | Windows Server 2012 |
69 | Windows Server 2012 R2 |
87 | Windows Server 2016 |
88 | Windows Server 2019 |
... | ... |
Programmation
L'utilisation dans un programme C# est somme tout assez simple, il suffit d'inclure dans la référence de Visual Studio «System.DirectoryServices.dll», et d'ensuite inclure l'espace de nom sous la forme «using System.DirectoryServices;». Ensuite, on peut l'utiliser par exemple à l'aide de la classe DirectoryEntry pour se connecter de la façon suivante : «DirectoryEntry LDAP = new DirectoryEntry("LDAP://nomactivedirectory", "utilisateur", "motdepasse");». Il est également possible d'utiliser la même technique si vous l'utilisez à l'aide de Delphi for .NET ou VB .NET. Voici un aperçu du genre de code que l'on aura en Delphi for .NET :
- Try
- entry:=DirectoryEntry.Create('LDAP://gladir.dev','\' + TextBox1.Text,TextBox2.Text);
- search:=DirectorySearcher.Create(entry);
- search.Filter := '(SAMAccountName=' + TextBox1.Text + ')';
- search.PropertiesToLoad.Add('cn');
- if(search.FindOne <> NIL)Then Begin
- Session.Item['UserID'] := TextBox1.Text;
- Server.Transfer('WebForm1.aspx');
- End;
- Except
- on E: Exception do Label4.Text:=E.Message;
- End;
La concurrence
Les concurrents le plus sérieux sont OpenLDAP ou une combinaison de NFSv4, Kerberos et LDAP.