Partager via


Héritage du contrôle d’accès

Les entrées de contrôle d’accès dans une liste de contrôle d’accès d’objet (ACL) peuvent appartenir à l’une des deux catégories suivantes :

  • Liste de contrôle d’accès effective : les ACL de cette catégorie s’appliquent à l’objet.
  • Hériter de la liste de contrôle d’accès : les ACL de cette catégorie sont héritées par les objets créés dans le conteneur.

Chaque ACE du DACL peut appartenir à une ou plusieurs catégories. Les catégories pour lesquelles un ACE appartient sont déterminées par les indicateurs de contrôle d’héritage définis dans l’ACE.

Trois indicateurs de contrôle d’héritage peuvent être définis dans la propriété AceFlags d’un ACE.

Drapeau Descriptif
ADS_ACEFLAG_INHERIT_ACE Cet indicateur indique que l’ACE fait partie de la liste de contrôle d’accès héritée et que les objets enfants héritent des indicateurs de contrôle d’héritage de cet ACE.
ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE Cet indicateur indique que l’ACE fait partie de la liste de contrôle d’héritage, mais qu’aucun indicateur de contrôle d’héritage n’est propagé aux objets enfants directs (descendants directs) et que l’ACE est efficace sur les objets enfants directs.
ADS_ACEFLAG_INHERIT_ONLY_ACE Cet indicateur indique que l’ACE ne fait pas partie de la liste de contrôle d’accès effective. Si cet indicateur n’est pas défini, l’ACE fait partie de la liste de contrôle d’accès effective. Cet indicateur est utile pour définir les autorisations pouvant être héritées par les sous-objets, mais n’affecte pas l’accessibilité du conteneur. Par exemple, si un ACE est destiné à être hérité par des objets utilisateur dans une unité organisationnelle, il est probable qu’il ne doit pas être appliqué pour l’accès à l’unité d’organisation elle-même.

Les indicateurs ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE et ADS_ACEFLAG_INHERIT_ONLY_ACE sont significatifs uniquement si ADS_ACEFLAG_INHERIT_ACE est présent. Cela est dû au fait que l’indicateur ADS_ACEFLAG_INHERIT_ACE ajoute le comportement d’héritage à un ACE héritant, mais ne définit pas le type d’héritage. Les indicateurs ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE et ADS_ACEFLAG_INHERIT_ONLY_ACE définissent un type spécifique de comportement d’héritage.

Il est important de se rappeler que le système définit également les indicateurs suivants en fonction du type et de l’état de l’ACE.

Drapeau Descriptif
ADS_ACEFLAG_INHERITED_ACE Cet indicateur indique que l’ACE a été hérité.
ADS_ACEFLAG_VALID_INHERIT_FLAGS Cet indicateur indique que les indicateurs d’héritage sont valides.

Le tableau suivant répertorie les effets des différentes combinaisons d’indicateurs pour la propriété AceFlags d’un ACE.

Drapeau Effet sur l’objet contenant l’ACE Effet sur les objets enfants directs Effet sur les objets sous enfants directs
Aucun indicateur défini. Ace effectif : ACE s’applique à l’objet. ACE n’est pas hérité. ACE n’est pas hérité.
ADS_ACEFLAG_INHERIT_ACE ACE effectif ACE est hérité. ACE est un ACE efficace.
ACE est hérité. ACE est un ACE efficace.
| ADS_ACEFLAG_INHERIT_ACEADS_ACEFLAG_INHERIT_ONLY_ACE Non un ACE effectif : ACE ne s’applique pas à l’objet. ACE est hérité. ACE est un ACE efficace.
ACE est hérité. ACE est un ACE efficace.
| ADS_ACEFLAG_INHERIT_ACEADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE ACE effectif ACE est hérité, mais sans indicateurs d’héritage. ACE est un ACE effectif
ACE n’est pas hérité.
| ADS_ACEFLAG_INHERIT_ACE | ADS_ACEFLAG_INHERIT_ONLY_ACEADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE Pas un ACE efficace. ACE est hérité, mais sans indicateurs d’héritage. ACE est un ACE efficace.
ACE n’est pas hérité.