Règles d’héritage ACE
Le système propage les entrées de contrôle d’accès (ACL) pouvant être héritées aux objets enfants en fonction d’un ensemble de règles d’héritage. Le système place les ACL héritées dans la liste de contrôle d’accès discrétionnaire (DACL) de l’enfant en fonction de l’ordre par défaut des ACL dans une LISTE DCA. Le système définit l’indicateur INHERITED_ACE dans toutes les ACL héritées.
Les objets enfants hérités par le conteneur et les objets enfants non-conteneur diffèrent selon les combinaisons d’indicateurs d’héritage. Ces règles d’héritage fonctionnent de la même façon pour les DACL et les listes de contrôle d’accès système (SACL).
Indicateur ACE parent | Effet sur la liste de contrôle d’accès enfant |
---|---|
OBJECT_INHERIT_ACE uniquement | Objets enfants non-porteurs : hérités en tant qu’ACE effectif. Objets enfants de conteneur : les conteneurs héritent d’une ACE héritée uniquement, sauf si l’indicateur de bits NO_PROPAGATE_INHERIT_ACE est également défini. |
CONTAINER_INHERIT_ACE uniquement | Objets enfants non porteurs : aucun effet sur l’objet enfant. Objets enfants conteneur : l’objet enfant hérite d’un ACE efficace. L’ACE héritée peut être héritée, sauf si l’indicateur de bits NO_PROPAGATE_INHERIT_ACE est également défini. |
CONTAINER_INHERIT_ACE et OBJECT_INHERIT_ACE | Objets enfants non-porteurs : hérités en tant qu’ACE effectif. Objets enfants conteneur : l’objet enfant hérite d’un ACE efficace. L’ACE héritée peut être héritée, 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 conteneur enfant ou non-conteneur. |
Si un ACE hérité est un ACE efficace 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 les CREATOR_OWNER, au SID approprié. Si un ACE hérité est un ACE hérité uniquement, tous les droits génériques ou 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 nouvelle génération d’objets enfants.
Dans le cas où un objet conteneur hérite d’un ACE à la fois efficace sur le conteneur et pouvant être hérité par ses descendants, le conteneur peut hériter de deux acees. Cela se produit si l’ACE pouvant être hérité contient des informations génériques. Le conteneur hérite d’une ace héritée uniquement qui contient les informations génériques et d’une ace effective uniquement dans laquelle les informations génériques ont été mappées.
Un ACE spécifique à un objet a un membre InheritedObjectType qui peut contenir un GUID pour identifier le type d’objet qui peut hériter de l’ACE.
Si le GUID InheritedObjectType n’est pas spécifié, les règles d’héritage pour un ACE spécifique à un objet sont les mêmes que pour un ACE standard.
Si le GUID InheritedObjectType est spécifié, l’ACE peut être hérité par des objets qui correspondent au GUID si OBJECT_INHERIT_ACE est défini, et par des conteneurs qui correspondent au GUID si CONTAINER_INHERIT_ACE est défini. Notez que seuls les objets DS prennent actuellement en charge les AFC spécifiques aux objets, et que le service DS traite tous les types d’objets comme des conteneurs.