KB: "Aplicar às subpastas" não propaga as permissões de pasta
Detalhes da solução
Permissões da pasta pai não são propagadas pela hierarquia
Ao gerenciar permissões de pastas pelo painel Explorer no Altium Designer, os usuários podem tentar propagar as permissões de uma pasta pai habilitando Apply to Children. No entanto, as permissões configuradas na pasta pai podem não ser aplicadas às pastas filhas e aos itens gerenciados conforme esperado. Isso ocorre porque a opção Apply to Children no Altium Designer está obsoleta e não realiza a propagação de permissões necessária.
Além disso, após usar Enforce inheritance for all child items na interface web do Altium 365, as pastas filhas podem continuar exibindo usuários, grupos ou permissões que não estão configurados diretamente na pasta pai. Esse comportamento é esperado, pois as permissões herdadas são adicionadas às permissões existentes nas pastas filhas, em vez de substituí-las.
A herança aditiva não sincroniza permissões
A herança de permissões do Altium 365 não substitui o conjunto completo de permissões de uma pasta filha ou de um item pelo conjunto de permissões de sua pasta pai.
Em vez disso, a herança de permissões é aditiva:
Effective Child Permissions = Inherited Parent Permissions + Existing Additional Child Permissions
Por exemplo:
Parent Folder
- Engenheiros mecânicos – Podem editar
- Revisores – Podem editar
Child Folder Before Inheritance
- Engenheiros – Podem visualizar
Após a herança ser habilitada, as permissões efetivas da pasta filha podem incluir:
- Engenheiros mecânicos – herdadas da pasta pai
- Revisores – herdadas da pasta pai
- Engenheiros – permissão adicional existente mantida na pasta filha
A permissão Engineers existente é preservada, em vez de removida.
O conjunto de permissões da pasta pai é transmitido aos descendentes, em vez de substituir os conjuntos de permissões existentes neles. Todas as permissões adicionais existentes em uma subpasta ou em um item gerenciado são mantidas.
Portanto: Permission inheritance should not be interpreted as permission synchronization.
Uma pasta filha ou um item pode ter mais permissões do que sua pasta pai.
A documentação oficial da Altium também descreve que permissões adicionais introduzidas em um nível inferior da hierarquia continuam sendo herdadas nos níveis subsequentes, sem afetar as permissões existentes.
Restrições de compartilhamento controladas por herança
Use os recursos compatíveis de aplicação de herança
- Não use Apply to Children no painel Explorer do Altium Designer como método principal para propagar permissões.
- Use Enforce inheritance for all child items na interface web do Altium 365.
- Entenda que a herança de permissões é aditiva e não resulta necessariamente em conjuntos de permissões idênticos nas pastas pai e filha.
- Se forem necessárias configurações de permissões idênticas nas pastas pai e filha, use o procedimento alternativo descrito mais adiante neste artigo.
A funcionalidade compatível pode ser acessada em:
- Folder » Share Folder » Advanced Settings
- Admin » Explorer » Folder Sharing » Advanced Settings
O comando está disponível para Workspace Administrators e atua sobre pastas.
Ele habilita Inherit parent folder permissions para todos os descendentes da pasta selecionada, incluindo filhos, netos, bisnetos e os níveis subsequentes da hierarquia.
How “Enforce Inheritance for All Child Items” Works
O comando Enforce inheritance for all child items não copia a lista de permissões de uma pasta pai para sobrescrever as listas de permissões de todos os seus descendentes.
Em vez disso, o comando habilita:
Inherit parent folder permissions
para pastas e itens em toda a hierarquia de descendentes.
O mecanismo normal de herança de permissões faz, então, com que cada objeto filho herde as permissões de seu pai. O recurso não executa um processo de substituição de permissões.
Por exemplo:
Parent Folder
- Engenheiros mecânicos
- Revisores
Child Folder Before Inheritance
- Engenheiros
Após a execução de Enforce inheritance for all child items:
Child Folder
- Engenheiros mecânicos – herdadas
- Revisores – herdadas
- Engenheiros – permissão existente mantida
Portanto:
Parent:
Engenheiros mecânicos + Revisores
Child Before Inheritance:
Engenheiros
Child After Inheritance:
Engenheiros mecânicos + Revisores + Engenheiros
Esse é o resultado esperado.
A presença de Engineers na pasta filha não significa que a herança de permissões falhou.
Etapas para restaurar e gerenciar a herança de permissões
Method 1 – From Projects
- Entre em Altium 365 Workspace Web Interface.
- Abra Projects.
- Selecione a pasta pai desejada.
- Clique em Share.
- Abra Advanced Settings.
- Selecione Enforce inheritance for all child items.
- Confirme a operação.
O comando habilita a herança de permissões em todos os descendentes da pasta selecionada.
Method 2 – From Admin » Explorer
- Entre em Altium 365 Workspace Web Interface.
- Acesse Admin » Explorer.
- Selecione a pasta pai desejada.
- Abra as configurações de compartilhamento da pasta.
- Selecione Advanced Settings.
- Clique em Enforce inheritance for all child items.
- Confirme a operação.
Expected Results
- Inherit parent folder permissions é habilitado em toda a hierarquia de descendentes afetada.
- As permissões da pasta pai são herdadas pelas pastas descendentes e pelos itens gerenciados.
- A herança de permissões opera recursivamente por filhos, netos, bisnetos e níveis subsequentes da hierarquia.
- As permissões adicionais existentes atribuídas às pastas filhas ou aos itens são mantidas.
- Os conjuntos de permissões dos filhos não se tornam necessariamente idênticos ao conjunto de permissões da pasta pai.
- As pastas descendentes herdam, no mínimo, as permissões de sua pasta pai, mantendo quaisquer permissões adicionais já atribuídas a elas.
- Os usuários que têm acesso por meio da estrutura de permissões da pasta pai recebem o acesso herdado correspondente ao conteúdo descendente.
O recurso se destina a restaurar ou aplicar a herança, e não a sincronizar ou substituir a configuração completa de permissões de cada objeto descendente.
Alternative Method to Apply the Exact Parent Folder Permissions to Child Folders
Se o requisito for que as pastas filhas tenham exatamente as mesmas permissões da pasta pai, em vez de manter as permissões anteriormente atribuídas diretamente às pastas filhas, o mecanismo padrão de herança de permissões não oferece esse comportamento por si só.
O comando Enforce inheritance for all child items habilita a herança de permissões em toda a hierarquia, mas a herança é aditiva.
Portanto, as permissões já atribuídas a uma pasta filha que não estão presentes na pasta pai são preservadas.
Por exemplo:
Parent Folder Permissions
- Engenheiros mecânicos
- Revisores
Child Folder Existing Permissions
- Engenheiros
Após usar Enforce inheritance for all child items, a pasta filha pode conter:
- Engenheiros mecânicos
- Revisores
- Engenheiros
Se o resultado necessário for:
Parent Folder
- Engenheiros mecânicos
- Revisores
Child Folder
- Engenheiros mecânicos
- Revisores
sem a permissão Engineers atribuída anteriormente, o método alternativo a seguir pode ser usado.
- Certifique-se de que, para cada pasta filha afetada, a configuração avançada Inherit permissions from parent folder esteja habilitada.
- Crie uma Alternate Parent Folder com as mesmas permissões atualmente atribuídas às pastas filhas afetadas.
- Mova as pastas filhas afetadas para a Alternate Parent Folder recém-criada.
- Verifique se as pastas filhas estão herdando corretamente as permissões da pasta pai alternativa.
- Modifique as permissões de Alternate Parent Folder para que correspondam exatamente às permissões desejadas da pasta pai original.
- Verifique se as pastas filhas afetadas agora têm a configuração de permissões necessária e se as permissões pretendidas são propagadas por toda a hierarquia afetada.
- Mova as pastas filhas afetadas de volta para a pasta pai original, garantindo que Inherit permissions from parent folder permaneça habilitado.
Observações adicionais
- Apply to Children no Altium Designer permanece obsoleto e atualmente não realiza a propagação de permissões pretendida.
- O procedimento alternativo não corrige nem restaura a funcionalidade Apply to Children.
- O procedimento alternativo oferece um método para obter a configuração de permissões que os usuários podem ter esperado anteriormente de Apply to Children quando é necessária uma correspondência exata entre as permissões das pastas pai e filha.
- Método atual recomendado: interface web do Altium 365 → Enforce inheritance for all child items.