Regras de herança ace
O sistema propaga ACEs (entradas de controle de acesso ) herdáveis para objetos filho de acordo com um conjunto de regras de herança. O sistema coloca ACEs herdadas na DACL ( lista de controle de acesso discricionário ) do filho de acordo com a ordem preferencial de ACEs em uma DACL. O sistema define o sinalizador INHERITED_ACE em todos os ACEs herdados.
As ACEs herdadas por objetos filho de contêiner e não contêiner diferem, dependendo das combinações de sinalizadores de herança. Essas regras de herança funcionam da mesma forma para DACLs e SACLs ( listas de controle de acesso do sistema ).
Sinalizador DE ACE pai | Efeito na ACL filho |
---|---|
somente OBJECT_INHERIT_ACE | Objetos filho não pertencentes a contêineres: herdados como um ACE efetivo. Objetos filho do contêiner: os contêineres herdam uma ACE somente herdada, a menos que o sinalizador de bits NO_PROPAGATE_INHERIT_ACE também esteja definido. |
somente CONTAINER_INHERIT_ACE | Objetos filho não pertencentes a contêineres: nenhum efeito sobre o objeto filho. Objetos filho do contêiner: o objeto filho herda uma ACE efetiva. O ACE herdado é herdável, a menos que o sinalizador de bits NO_PROPAGATE_INHERIT_ACE também esteja definido. |
CONTAINER_INHERIT_ACE e OBJECT_INHERIT_ACE | Objetos filho não pertencentes a contêineres: herdados como um ACE efetivo. Objetos filho do contêiner: o objeto filho herda uma ACE efetiva. O ACE herdado é herdável, a menos que o sinalizador de bits NO_PROPAGATE_INHERIT_ACE também esteja definido. |
Nenhum conjunto de sinalizadores de herança | Nenhum efeito sobre o contêiner filho ou objetos não pertencentes a contêineres. |
Se uma ACE herdada for uma ACE efetiva para o objeto filho, o sistema mapeará todos os direitos genéricos para os direitos específicos do objeto filho. Da mesma forma, o sistema mapeia SIDs ( identificadores de segurança genéricos), como CREATOR_OWNER, para o SID apropriado. Se uma ACE herdada for uma ACE somente herdada, todos os direitos genéricos ou SIDs genéricos serão deixados inalterados para que possam ser mapeados adequadamente quando o ACE for herdado pela próxima geração de objetos filho.
Para um caso em que um objeto de contêiner herda uma ACE que é efetiva no contêiner e herdável por seus descendentes, o contêiner pode herdar dois ACEs. Isso ocorrerá se o ACE herdável contiver informações genéricas. O contêiner herda uma ACE somente herdada que contém as informações genéricas e uma ACE somente efetiva na qual as informações genéricas foram mapeadas.
Uma ACE específica do objeto tem um membro InheritedObjectType que pode conter um GUID para identificar o tipo de objeto que pode herdar o ACE.
Se o GUID InheritedObjectType não for especificado, as regras de herança para uma ACE específica do objeto serão as mesmas de um ACE padrão.
Se o GUID InheritedObjectType for especificado, o ACE será herdável por objetos que correspondem ao GUID se OBJECT_INHERIT_ACE estiver definido e por contêineres que correspondam ao GUID se CONTAINER_INHERIT_ACE estiver definido. Observe que atualmente apenas os objetos DS dão suporte a ACEs específicos do objeto e o DS trata todos os tipos de objeto como contêineres.