Regras de herança ACE
O sistema propaga automaticamente entradas de controle de acesso (ACEs) herdáveis para objetos filhos de acordo com um conjunto de regras de herança. O sistema coloca ACEs herdadas na lista de controle de acesso discricionário (DACL) do filho de acordo com a ordem de preferencial de ACEs em um DACL.
As ACEs herdadas por objetos filho de contêiner e não de contêiner diferem, dependendo das combinações de sinalizadores de herança. Essas regras de herança funcionam da mesma forma para DACLs e as listas de controle de acesso do sistema (SACLs).
Sinalizador ACE pai | Efeito na ACL secundária |
---|---|
Somente OBJECT_INHERIT_ACE | Objetos filhos de não contêiner: herdados como uma ACE efetiva. Objetos filho de 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 de não contêiner: nenhum efeito sobre o objeto filho. Objetos filho do contêiner: o objeto filho herda uma ACE efetiva. A ACE herdada é 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 filhos de não contêiner: herdados como uma ACE efetiva. Objetos filho do contêiner: o objeto filho herda uma ACE efetiva. A ACE herdada é herdável, a menos que o sinalizador de bits NO_PROPAGATE_INHERIT_ACE também esteja definido. |
Nenhum sinalizador de herança definido | Nenhum efeito em objetos de contêiner ou de não contêiner filhos. |
Se um ACE herdado for um ACE efetivo 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 identificadores de segurança genéricos (SIDs), 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 a ACE for herdada pela próxima geração de objetos filho.
Para um caso em que um objeto de contêiner herda um ACE que seja eficaz 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 no qual as informações genéricas foram mapeadas.
Uma ACE específica do objeto tem um membro de InheritedObjectType que pode conter um GUID para identificar o tipo de objeto que pode herdar a ACE.
Se o InheritedObjectType GUID não for especificado, as regras de herança de um ACE específico do objeto serão as mesmas de um ACE padrão.
Se o GUID InheritedObjectType for especificado, a ACE será herdável por objetos que correspondem ao GUID se OBJECT_INHERIT_ACE estiver definido e por contêineres que correspondem 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.