Règles d’héritage ACE
Le système propage automatiquement les entrées de contrôle d'accès (ACE) héritables aux objets enfants selon un ensemble de règles d'héritage. Le système place les ACE hérités dans la liste de contrôle d'accès discrétionnaire (DACL) de l'enfant selon l'ordre préférentiel des ACE dans une DACL.
Les ACE hérités par les objets enfants conteneurs et non conteneurs diffèrent en fonction des combinaisons d'indicateurs d'héritage. Ces règles d'héritage fonctionnent de la même manière pour les DACL et les listes de contrôle d'accès au système (SACL).
Indicateur de l'ACE parent | Effet sur l'ACL enfant |
---|---|
OBJECT_INHERIT_ACE uniquement | Objets enfants ne faisant pas partie d'un conteneur : Hérités en tant qu'ACE effectif. Objets enfants de conteneurs : Les conteneurs héritent d'un ACE uniquement par héritage, sauf si l'indicateur de bit NO_PROPAGATE_INHERIT_ACE est également activé. |
CONTAINER_INHERIT_ACE uniquement | Objets enfants ne faisant pas partie d'un conteneur : Aucun effet sur l'objet enfant. Objets enfants du conteneur : L'objet enfant hérite d'un ACE effectif. L’ACE hérité est transmissible, sauf si l’indicateur de bits NO_PROPAGATE_INHERIT_ACE est également défini. |
CONTAINER_INHERIT_ACE et OBJECT_INHERIT_ACE | Objets enfants ne faisant pas partie d'un conteneur : Hérités en tant qu'ACE effectif. Objets enfants du conteneur : L'objet enfant hérite d'un ACE effectif. L’ACE hérité est transmissible, sauf si l’indicateur de bits NO_PROPAGATE_INHERIT_ACE est également défini. |
Aucun indicateur d’héritage défini | Aucun effet sur les objets enfants conteneurs ou non conteneurs. |
Si un ACE hérité est un ACE effectif pour l’objet enfant, le système mappe tous les droits génériques aux droits spécifiques de l’objet enfant. De même, le système mappe les identificateurs de sécurité génériques (SID), tels que CREATOR_OWNER, au SID approprié. Si un ACE hérité est un ACE héritable uniquement, tous les droits génériques ou les SID génériques sont laissés inchangés afin qu'ils puissent être mappés de manière appropriée lorsque l'ACE est hérité par la prochaine génération d'objets enfants.
Pour un cas où un objet conteneur hérite d’un ACE qui est à la fois efficace sur le conteneur et pouvant être hérité par ses descendants, le conteneur peut hériter de deux ACE. Cela se produit si l'ACE héritable contient des informations génériques. Le conteneur hérite d'un ACE héritable uniquement qui contient les informations génériques et d'un ACE effectif uniquement dans lequel les informations génériques ont été mappées.
Un ACE spécifique à un objet possède un membre InheritedObjectType qui peut contenir un GUID permettant d'identifier le type d'objet pouvant hériter de l'ACE.
Si l'InheritedObjectType GUID n’est pas spécifié, les règles d’héritage d’un ACE spécifique à un objet sont identiques à celles d’un ACE standard.
Si l'InheritedObjectType GUID est spécifié, l’ACE est hérité par les objets qui correspondent au GUID si OBJECT_INHERIT_ACE est défini et par les conteneurs qui correspondent au GUID si CONTAINER_INHERIT_ACE est défini. Notez que seuls les objets DS prennent en charge les AE spécifiques à l’objet et que le DS traite tous les types d’objets en tant que conteneurs.