Les principaux attributs d’objets dans l’Active Directory
Par défaut, tout annuaire Active Directory contient des instances d’objets de différentes classes, par exemple, des comptes utilisateurs, des groupes, des unités d’organisation ou encore des ordinateurs.
Les classes d’objets disponibles sont définies directement dans le schéma Active Directory. Dans ce chapitre du cours sur l’Active Directory, nous allons voir les principaux attributs utilisés dans l’annuaire et qu’il est important de connaître.
Sommaire
I. Les principales classes
Avant de s’intéresser aux attributs, nous allons rapidement voir les principales classes d’objets, puisque ce sont ces classes qui contiennent les attributs que nous évoquerons ensuite. Sachez qu’il existe plusieurs dizaines de classes dans l’Active Directory (voir cette page). Le tableau ci-dessus présente les classes les plus courantes.
Nom | Description |
Ordinateur computer | Les ordinateurs clients intégrés au domaine, mais aussi les serveurs et les contrôleurs de domaine |
Contact contact | Enregistrer des contacts, sans autorisation d’authentification |
Groupe group | Regrouper des objets au sein d’un groupe, notamment pour simplifier l’administration (attribution de droits à un service « informatique » qui correspond à un groupe nommé « informatique », par exemple) |
Unité d’organisation Organizational-Unit | Dossier pour créer une arborescence et organiser les objets. |
Utilisateur user | Comptes utilisateurs qui permettent de s’authentifier sur le domaine, et accéder aux ressources, aux ordinateurs |
II. Les identifiants uniques pour les objets
Dans l'annuaire Active Directory, chaque objet dispose d’identifiants uniques représentés par plusieurs attributs LDAP.
A. Le DistinguishedName
Cet identifiant unique, également appelé « DN », représente le chemin LDAP qui permet de trouver l’objet dans l’annuaire Active Directory. Lors de l’étude du protocole LDAP, nous avions déjà vu un exemple de DN.
- Domaine : it-connect.local
- Unité d’organisation où se trouve l’objet : Salariés
- Nom de l’objet : Florian
Le DN de cet objet utilisateur sera :
- cn=Florian,ou=Salariés,dc=it-connect,dc=local
Dans ce DN, nous pouvons lire un chemin qui permet de retrouver l’objet. Différents éléments sont utilisés :
Identification de l’élément | Description |
cn | CommonName – Nom commun – Nom de l’objet final ciblé |
ou | Organizational-Unit – Unité d’organisation |
dc | Composant de domaine – Utilisé pour indiquer le domaine cible avec un élément « dc » par partie du domaine |
Le DN peut être très long si l’arborescence de l’annuaire est importante et que l’objet se trouve au fin fond de cette arborescence (plusieurs niveaux d'unités d'organisation).
De plus, le DN peut changer régulièrement si l’objet est déplacé, ou si une unité d’organisation dont il dépend est renommée puisqu’il contient de manière nominative les objets. Néanmoins, dans une même unité d'organisation, il ne peut pas y avoir 2 objets avec le même "cn" sinon il y aurait obligatoirement un doublon sur le DN et ce dernier doit être unique.
B. L'ObjectGUID
Le GUID (Globally Unique IDentifier) est un identificateur global unique qui permet d’identifier un objet d’un annuaire Active Directory. Il correspond à l’attribut « ObjectGUID » dans le schéma Active Directory.
Il est attribué à l’objet dès sa création et ne change jamais, même si l’objet est déplacé ou modifié. Le GUID suit un objet de la création jusqu’à la suppression. Cette valeur est attribuée à l'objet par le contrôleur de domaine. Codé sur 128 bits, le GUID d’un objet est unique au sein d’une forêt et il est généré par un algorithme qui garantit son unicité.
C. L'objectSID
Cet attribut est utilisé pour identifier de manière unique les objets de sécurité (comme les utilisateurs et les groupes). Il ne change jamais même si l'objet est déplacé dans une autre unité d'organisation ou un autre domaine (tant qu'il reste dans la même forêt). Par exemple, lorsque des permissions sont attribuées à un utilisateur, la référence à l'objet source est effectuée avec l'objectSID.
D. Le sAMAccountName et le UserPrincipalName
Le "sAMAccountName" correspond à l'identifiant de connexion de l'utilisateur, sans le nom de domaine. Nous pouvons dire qu'il s'agit d'un identifiant court, et cet attribut correspond au format des identifiants pour les domaines Windows 2000. Cet attribut doit être unique dans le domaine et il est utilisé pour le nom de connexion d'un utilisateur ou d'un ordinateur.
Le "UserPrincipalName", que l'on appelle aussi "UPN", est l'identifiant unique d'un utilisateur, qui ressemble au format d'une adresse e-mail puisqu'il intègre un nom d'utilisateur et un nom de domaine. Il doit être unique également.
Lors de l'ouverture d'une session, il est recommandé d'utiliser l'"UPN" plutôt que le "sAMAccountName", bien que les deux soient possibles (avec la configuration par défaut).
Par exemple, l'utilisateur "Florian" pourra disposer de la valeur "florian" comme "sAMAccountName" (1) et de la valeur "[email protected]" comme UPN (2). Il est à noter que le "sAMAccountName" peut aussi s'écrire avec le nom NetBIOS du domaine en préfixe : "IT-Connect\florian".
III. Les attributs indispensables
Après avoir évoqué les attributs permettant de garantir l'unicité d'un objet, continuons notre quête des attributs avec ce tableau qui récapitule les attributs qu'un administrateur système se doit de connaître.
Nom de l’attribut dans le schéma | Nom de l’attribut dans la console Active Directory | Description |
sAMAccountName | « Nom d’ouverture de session de l’utilisateur » | Valeur que devra utiliser l’objet pour s’authentifier sur le domaine |
UserPrincipalName | « Nom d’ouverture de session de l’utilisateur » concaténé au nom du domaine sous la forme « @it-connect.local » | Nom complet de l’utilisateur avec le domaine inclus. Également appelé UPN |
description | Description | Description de l’objet |
Adresse de messagerie | Adresse de messagerie attribuée à l’objet | |
adminCount | - | Égal à « 1 » s’il s’agit d’un compte de type « Administrateur », égal à « 0 » s’il ne l’est pas |
DisplayName | Nom complet | Nom complet qui sera affiché pour cet utilisateur |
givenName | Prénom | Prénom de l’utilisateur |
logonCount | - | Nombre d’ouvertures de session réalisées par cet objet |
accountExpires | Date d’expiration du compte | Date à laquelle le compte ne sera plus utilisable (peut être vide) |
ObjectSID | - | Identifiant de sécurité unique qui permet d’identifier un objet |
pwdLastSet | - | Dernière fois que le mot de passe fut modifié |
userAccountControl | - | État du compte – Une dizaine de codes différents sont possibles |
Pour illustrer mes propos, voici une sortie PowerShell qui affiche quelques attributs et leurs valeurs, concernant l’utilisateur « Florian » :
Note : le PowerShell est un langage de script qui occupe une place importante au sein des systèmes d’exploitation Windows, pour assurer la configuration en ligne de commandes et faciliter l’automatisation des tâches. Vous pouvez consulter notre cours PowerShell pour en savoir plus.
Vous avez désormais connaissance des attributs les plus manipulés et consultés de l’Active Directory. Il en existe beaucoup d'autres, mais cela sont à connaître pour débuter.
Les consoles d'administration de l'Active Directory permettent d'interagir de façon graphique avec ces attributs, mais il est parfois nécessaire de les modifier manuellement, ou à minima de les consulter. Par ailleurs, cette connaissance des attributs sera utile lors de la manipulation de l’Active Directory avec PowerShell ou d'autres utilitaires en ligne de commande.
- Ressource supplémentaire : Correspondance entre les champs Active Directory et les attributs LDAP