21/11/2024

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.

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.

NomDescription
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émentDescription
cnCommonName – Nom commun – Nom de l’objet final ciblé
ouOrganizational-Unit – Unité d’organisation
dcComposant 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émaNom de l’attribut dans la console Active DirectoryDescription
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
descriptionDescriptionDescription de l’objet
mailAdresse de messagerieAdresse 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
DisplayNameNom completNom complet qui sera affiché pour cet utilisateur
givenNamePrénomPrénom de l’utilisateur
logonCount-Nombre d’ouvertures de session réalisées par cet objet
accountExpiresDate d’expiration du compteDate à 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.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail