ACE-arvsregler
Systemet sprider automatiskt ärvbara åtkomstkontrollposter (ACE:er) till underordnade objekt enligt en uppsättning arvsregler. Systemet placerar ärvda ACL:er i den diskretionära åtkomstkontrollistan (DACL) för barnet enligt den föredragna ordningen för åtkomstkontrollistor i en DACL-.
De ACE:er som ärvs av kontainrar och icke-kontainrar skiljer sig åt, beroende på kombinationerna av arvsflaggor. Dessa arvsregler fungerar på samma sätt för både DACL:er och systemåtkomstkontrollistor (SACLs).
Överordnad ACE-flagga | Effekt på barn-ACL |
---|---|
endast OBJECT_INHERIT_ACE | Objekt som inte är behållare, men är underordnade: Ärvda som ett effektivt ACE. Underordnade containerobjekt: Containrar ärver endast ace om inte NO_PROPAGATE_INHERIT_ACE bitflaggan också har angetts. |
endast CONTAINER_INHERIT_ACE | Barnobjekt som inte är kontainerobjekt: Ingen effekt på barnobjektet. Underordnade containerobjekt: Det underordnade objektet ärver ett effektivt ACE. Det ärvda ACE:et kan ärvas om inte NO_PROPAGATE_INHERIT_ACE-bitflaggan också har angetts. |
CONTAINER_INHERIT_ACE (containerärvande ACE) och OBJECT_INHERIT_ACE (objektärvande ACE) | Objekt som inte är behållare, men är underordnade: Ärvda som ett effektivt ACE. Underordnade containerobjekt: Det underordnade objektet ärver ett effektivt ACE. Det ärvda ACE:et kan ärvas om inte NO_PROPAGATE_INHERIT_ACE-bitflaggan också har angetts. |
Inga arvsflaggor har angetts | Ingen effekt på underordnade container- eller icke-behållarobjekt. |
Om ett ärvt ACE är ett effektivt ACE för det underordnade objektet mappar systemet eventuella allmänna rättigheter till de specifika rättigheterna för det underordnade objektet. På samma sätt mappar systemet generiska säkerhetsidentifierare (SID), till exempel CREATOR_OWNER, till lämpligt SID. Om ett ärvt ACE är ett ACE endast för ärvning, lämnas alla generiska rättigheter eller generiska SID:er oförändrade så att de kan mappas på lämpligt sätt när ACE ärvs av nästa generations barnobjekt.
För ett fall där ett containerobjekt ärver en ACE som både är effektiv på containern och ärvs av dess underordnade objekt, kan containern ärva två ACE:er. Detta inträffar om det ärvbara ACE innehåller allmän information. Containern ärver ett ACE som ärvs endast och innehåller generisk information och ett effektivt ACE där den generiska informationen har mappats.
En objektspecifik ACE- har en InheritedObjectType- medlem som kan innehålla ett GUID för att identifiera vilken typ av objekt som kan ärva ACE.
Om InheritedObjectType GUID inte har angetts är arvsreglerna för ett objektspecifikt ACE samma som för ett standard-ACE.
Om InheritedObjectType GUID anges kan ACE ärvas av objekt som matchar GUID om OBJECT_INHERIT_ACE anges och av containrar som matchar GUID om CONTAINER_INHERIT_ACE anges. Observera att för närvarande stöder endast DS-objekt objektspecifika ACL:er, och DS behandlar alla objekttyper som containrar.