Partager via


Entrée de contrôle d’accès (ACE)

Une entrée de contrôle d’accès (ACE) décrit les droits d’accès associés à un identificateur de sécurité (SID) particulier. Le système d’exploitation évalue les ACEs pour calculer l’accès effectif accordé à un programme particulier en fonction de ses informations d’identification. Par exemple, lorsqu’un utilisateur se connecte à l’ordinateur et exécute un programme, celui-ci utilise les informations d’identification associées au compte de cet utilisateur particulier.

Lorsqu’un programme tente d’ouvrir un objet, Windows compare les informations d’identification associées au programme aux contrôles de sécurité associés à l’objet. Le moniteur de référence de sécurité utilise ensuite les informations de l’ACE pour déterminer si le programme doit être autorisé ou refusé d’accès à l’objet en question. C’est l’ACE qui détermine le comportement du sous-système de sécurité.

Le schéma suivant illustre l’entrée de contrôle d’accès.

Schéma illustrant l’entrée de contrôle d’accès.

Le sous-système de sécurité utilise plusieurs types d’ACEs, y compris les types suivants. Le membre Type de la structure ACE contrôle l’interprétation de l’ACE. Les types définis sont :

  • ACCESS_ALLOWED_ACE_TYPE : ce type indique que l’ACE spécifie les droits d’accès accordés au SID spécifique.

  • ACCESS_DENIED_ACE_TYPE : indique que l’ACE spécifie les droits d’accès qui doivent être refusés au SID spécifique.

  • SYSTEM_AUDIT_ACE_TYPE : indique que l’ACE spécifie un comportement d’audit.

  • SYSTEM_ALARM_ACE_TYPE : indique que l’ACE spécifie un comportement d’alarme.

  • ACCESS_ALLOWED_COMPOUND_ACE_TYPE : indique que l’ACE est lié à un serveur particulier et à l’entité qu’il est en train d’imiter.

Les types ACCESS_XXX sont utilisés pour contrôler l’accès programmatique à un objet. Les types SYSTEM_XXX sont utilisés pour contrôler le comportement d’audit et d’alarme du sous-système de sécurité lors de l’accès à l’objet. Le comportement réel du sous-système de sécurité est calculé en combinant les informations de certaines ou de toutes les ACEs associées à l’objet.

Un pilote peut construire une ACE de type ACCESS_ALLOWED_ACE_TYPE en utilisant la routine RtlAddAccessAllowedAce. Pour ajouter les autres types d’entrées ACE, les développeurs de pilotes doivent construire leurs propres fonctions car le WDK ne fournit pas d’autres routines de support.