Regras de Herança ACE
O sistema propaga automaticamente entradas herdáveis de controle de acesso (ACEs) para objetos subordinados de acordo com um conjunto de regras de herança. O sistema coloca as ACEs herdadas na lista de controle de acesso discricionário (DACL) da criança de acordo com a ordem de preferida das ACEs em umDACL.
As ACEs herdadas por objetos filho do tipo container e não container 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 ACE principal | Efeito no LCA infantil |
---|---|
OBJECT_INHERIT_ACE só | Objetos filho não contêiner: herdados como uma ACE eficaz. Objetos filho do contentor: os contentores herdam um ACE de herança apenas, a menos que o sinalizador de bits NO_PROPAGATE_INHERIT_ACE também esteja definido. |
CONTAINER_INHERIT_ACE só | Objetos filho 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 é passível de herança, a menos que o bit de bandeira NO_PROPAGATE_INHERIT_ACE também esteja definido. |
CONTAINER_INHERIT_ACE e OBJECT_INHERIT_ACE | Objetos filho não contêiner: herdados como uma ACE eficaz. Objetos filho do contêiner: o objeto filho herda uma ACE efetiva. A ACE herdada é passível de herança, a menos que o bit de bandeira NO_PROPAGATE_INHERIT_ACE também esteja definido. |
Nenhum sinalizador de herança definido | Nenhum efeito em objetos filho, recipiente ou não-contêiner. |
Se uma ACE herdada for uma ACE efetiva para o objeto da criança, o sistema mapeia quaisquer direitos genéricos em direitos específicos para o objeto da criança. Da mesma forma, o sistema mapeia identificadores genéricos de segurança (SIDs), como CREATOR_OWNER, para o SID apropriado. Se uma ACE herdada for uma ACE somente hereditária, quaisquer 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 recipiente herda uma ACE que é tanto eficaz no recipiente quanto herdável pelos seus descendentes, o recipiente pode herdar duas ACEs. Isso ocorre se a ACE hereditária contiver informações genéricas. O contêiner herda uma ACE apenas de herança que contém a informação genérica e uma ACE apenas efetiva onde a informação genérica foi mapeada.
Um ACE específico do objeto tem um membro InheritedObjectType que pode conter um GUID para identificar o tipo de objeto que pode herdar a 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 que para uma ACE padrão.
Se o GUID InheritedObjectType for especificado, a ACE poderá ser herdada por objetos que correspondam ao GUID se OBJECT_INHERIT_ACE estiver definido e por contentores que correspondam ao GUID se CONTAINER_INHERIT_ACE estiver definido. Observe que, atualmente, apenas objetos DS suportam ACEs específicas do objeto, e o DS trata todos os tipos de objeto como contêineres.