ACE-erfregels
Het systeem verspreidt automatisch overerfbare toegangsbeheervermeldingen (ACE's) naar onderliggende objecten volgens een set van ervingsregels. Het systeem plaatst overgenomen ACL's in de discretionaire toegangsbeheerlijst (DACL) van het kind volgens de voorkeur volgorde van ACL's in een DACL-.
De ACEs die worden overgenomen door onderliggende objecten van containers en niet-containers verschillen, afhankelijk van de combinaties van overervingsvlaggen. Deze overnameregels werken hetzelfde voor zowel DACL's als systeemtoegangsbeheerlijsten (SACL's).
Bovenliggende ACE-vlag | Effect op kind ACL |
---|---|
Alleen OBJECT_INHERIT_ACE | Niet-container-kindobjecten: Overgenomen als een geëffectueerde ACE. Onderliggende containerobjecten: containers erven een ACE uitsluitend voor overerving, tenzij de NO_PROPAGATE_INHERIT_ACE bitvlag ook is ingesteld. |
Alleen CONTAINER_INHERIT_ACE | Niet-container kindobjecten: Geen effect op het kindobject. Container kindobjecten: Het kindobject erft een effectieve toegangscontrole-element (ACE). De geërfde ACE is overdraagbaar, tenzij de bitvlag NO_PROPAGATE_INHERIT_ACE ook is aangevinkt. |
CONTAINER_INHERIT_ACE en OBJECT_INHERIT_ACE | Niet-container-kindobjecten: Overgenomen als een geëffectueerde ACE. Container kindobjecten: Het kindobject erft een effectieve toegangscontrole-element (ACE). De geërfde ACE is overdraagbaar, tenzij de bitvlag NO_PROPAGATE_INHERIT_ACE ook is aangevinkt. |
Er zijn geen overervingsvlaggen ingesteld | Geen effect op onderliggende container- of niet-container objecten. |
Als een geërfde ACE een effectieve ACE is voor het kindobject, zet het systeem alle algemene rechten om naar de specifieke rechten voor het kindobject. Op dezelfde manier wijst het systeem algemene beveiligings-id's (SID's), zoals CREATOR_OWNER, toe aan de juiste SID. Als een overgenomen ACE een uitsluitend voor overerving ACE is, blijven alle algemene rechten of algemene SID's ongewijzigd, zodat ze correct kunnen worden toegewezen wanneer de ACE wordt overgenomen door de volgende generatie onderliggende objecten.
Voor een geval waarin een containerobject een ACE erft die zowel effectief is op de container als kan worden geërfd door zijn nakomelingen, kan de container twee ACE's erven. Dit gebeurt als de overgenomen ACE algemene informatie bevat. De container erft een alleen-erfelijke ACE die de algemene informatie bevat en een alleen-effectieve ACE waarin de algemene informatie is gemapt.
Een objectspecifieke ACE- heeft een OvergenomenObjectType- lid dat een GUID kan bevatten om het type object te identificeren dat de ACE kan overnemen.
Als de InheritedObjectType GUID niet is opgegeven, zijn de overnameregels voor een objectspecifieke ACE hetzelfde als voor een standaard-ACE.
Als de InheritedObjectType GUID is opgegeven, kan de ACE worden overgenomen door objecten die overeenkomen met de GUID als OBJECT_INHERIT_ACE is ingesteld en door containers die overeenkomen met de GUID als CONTAINER_INHERIT_ACE is ingesteld. Houd er rekening mee dat momenteel alleen DS-objecten objectspecifieke ACL's ondersteunen en dat de DS alle objecttypen behandelt als containers.