Herança de Permissão Não Quebra em uma Subpasta: Causa e Solução
🔍 WiseChecker

Herança de Permissão Não Quebra em uma Subpasta: Causa e Solução

Ao tentar quebrar a herança de permissão em uma subpasta do SharePoint, a alteração muitas vezes não se aplica. A pasta continua herdando permissões do site ou biblioteca pai. Isso acontece porque o SharePoint impõe um limite de permissões únicas por item ou por contêiner. Este artigo explica a causa raiz no modelo de permissão do SharePoint e fornece uma correção direta usando PowerShell ou configurações da coleção de sites.

Principais Conclusões: Quebrando a Herança de Permissão em uma Subpasta

  • Limite de permissões únicas do SharePoint: O SharePoint interrompe novas quebras de herança quando um site ou lista atinge 50.000 permissões únicas.
  • Administrador da coleção de sites > Permissões do site > Verificar permissões: Use esta ferramenta para verificar se a herança está realmente quebrada ou pendente.
  • SharePoint Online Management Shell (PowerShell): Use o cmdlet Set-PnPListItemPermission para forçar a quebra de herança em uma subpasta.

ADVERTISEMENT

Por que o SharePoint se Recusa a Quebrar a Herança em uma Subpasta

O SharePoint Online tem um limite rígido de 50.000 escopos de permissão únicos por coleção de sites. Um escopo de permissão único é criado cada vez que você quebra a herança em uma lista, biblioteca, pasta ou item. Quando você tenta quebrar a herança em uma subpasta após exceder esse limite, o SharePoint silenciosamente ignora a solicitação. A pasta continua herdando permissões do pai e nenhum erro aparece na interface do navegador.

Esse limite existe para proteger o desempenho. Cada escopo único requer uma entrada de lista de controle de acesso separada no banco de dados. Acima de 50.000 escopos, os tempos de consulta degradam e o provisionamento do site pode falhar. O limite se aplica por coleção de sites, não por site.

O Papel do Limite de Permissão da Coleção de Sites

O limite de 50.000 escopos está documentado nos limites e fronteiras do SharePoint. Ele afeta todas as quebras de herança de permissão, não apenas pastas. Se você já tem muitas permissões únicas em listas, bibliotecas de documentos ou itens, a próxima tentativa de quebra em qualquer subpasta falhará. A interface não avisa que você atingiu o limite. Você só percebe quando a pasta ainda mostra “Permissões herdadas” após clicar em “Parar de Herdar Permissões”.

Como as Quebras de Herança Funcionam na Prática

Quando você quebra a herança em uma pasta, o SharePoint copia as permissões do pai para essa pasta e cria um novo escopo de permissão único. Esse escopo conta para o limite de 50.000. Se a lista ou biblioteca pai já tiver muitos escopos quebrados, a operação pode exceder o limite. O SharePoint então cancela a operação e deixa a pasta no estado herdado.

Passos para Forçar a Quebra de Herança em uma Subpasta

Antes de tentar quebrar a herança, verifique a contagem atual de permissões únicas. Em seguida, use um dos métodos abaixo para aplicar a correção.

Método 1: Verificar a Contagem Atual de Permissões Únicas

  1. Abra a coleção de sites no centro de administração do SharePoint
    Vá para Centro de administração do SharePoint > Sites ativos. Selecione o site que contém a subpasta.
  2. Execute o relatório de verificação de permissões
    Nas configurações do site, escolha Permissões do site > Verificar permissões. Insira o nome da pasta e uma conta de usuário. Se o resultado mostrar “Herdado do pai”, a herança não está quebrada.
  3. Use PowerShell para contar escopos únicos
    Abra o SharePoint Online Management Shell e execute:
    Connect-SPOService -Url https://yourtenant-admin.sharepoint.com
    Depois execute:
    Get-SPOSite -Identity "https://yourtenant.sharepoint.com/sites/yoursite" | Select-Object -ExpandProperty Owner
    Isso não mostra diretamente a contagem de escopos. Para obter a contagem, use PnP PowerShell:
    Connect-PnPOnline -Url "https://yourtenant.sharepoint.com/sites/yoursite" -Interactive
    Get-PnPList | ForEach-Object { $_.HasUniqueRoleAssignments } | Measure-Object
    Isso mostra o número de listas com permissões únicas. Para itens, use:
    Get-PnPListItem -List "Documents" -PageSize 5000 | Where-Object { $_.HasUniqueRoleAssignments } | Measure-Object

Método 2: Usar PnP PowerShell para Quebrar a Herança

  1. Conecte-se ao site
    Execute Connect-PnPOnline -Url "https://yourtenant.sharepoint.com/sites/yoursite" -Interactive
  2. Obtenha o objeto da pasta
    Execute $folder = Get-PnPFolder -Url "Shared Documents/YourSubfolder"
  3. Quebre a herança na pasta
    Execute Set-PnPListItemPermission -List "Shared Documents" -Identity $folder.Name -BreakInheritance
    Se você também quiser copiar as atribuições de função do pai, adicione CopyRoleAssignments ao comando:
    Set-PnPListItemPermission -List "Shared Documents" -Identity $folder.Name -BreakInheritance -CopyRoleAssignments
  4. Verifique a alteração
    Execute Get-PnPListItem -List "Shared Documents" -Identity $folder.Name | Select-Object HasUniqueRoleAssignments
    Se o resultado for True, a herança está quebrada.

Método 3: Reduzir Permissões Únicas para Liberar Espaço

  1. Identifique listas ou bibliotecas com muitas permissões únicas
    Execute os comandos de contagem do PnP PowerShell do Método 1 para encontrar os contêineres mais pesados.
  2. Restaure a herança em itens onde permissões únicas não são mais necessárias
    Para cada item, execute:
    Set-PnPListItemPermission -List "ListName" -Identity $item.Id -InheritPermissions
    Você precisa percorrer os itens. Por exemplo:
    $items = Get-PnPListItem -List "LargeList" -PageSize 5000
    foreach ($item in $items) {
    if ($item.HasUniqueRoleAssignments) {
    Set-PnPListItemPermission -List "LargeList" -Identity $item.Id -InheritPermissions
    }
    }
  3. Verifique novamente a contagem de permissões únicas
    Execute os comandos de medição novamente para confirmar que você está abaixo de 50.000.
  4. Quebre a herança na subpasta usando a interface do navegador
    Vá para a pasta, selecione > Gerenciar acesso > Configurações avançadas > Parar de Herdar Permissões.

ADVERTISEMENT

Se o SharePoint Ainda se Recusar a Quebrar a Herança

Botão “Parar de Herdar Permissões” Não Faz Nada

Se você clicar no botão e a página for atualizada, mas a herança permanecer, você atingiu o limite de 50.000 escopos. Siga o Método 3 para reduzir permissões únicas em outras partes da coleção de sites. Depois tente novamente.

Herança Quebra, Mas Reverte Após Algumas Horas

Isso ocorre quando um trabalho do timer ou um processo de sincronização redefine as permissões. Verifique se há algum receptor de evento personalizado ou ferramenta de backup de terceiros redefinindo a herança. Além disso, verifique se nenhum administrador da coleção de sites tem um script em execução que herda permissões em um agendamento.

Herança de Permissão Mostra “Quebrada”, Mas Usuários Não Conseguem Acessar a Pasta

Quando você quebra a herança sem copiar as atribuições de função, todas as permissões existentes são removidas. A pasta se torna acessível apenas para administradores da coleção de sites. Para corrigir isso, adicione os usuários ou grupos necessários usando Gerenciar acesso > Adicionar pessoas ou executando Set-PnPListItemPermission -List "Shared Documents" -Identity $folder.Name -User "user@domain.com" -AddRole "Contribute".

Permissões Herdadas vs. Únicas: Principais Diferenças

Item Permissões Herdadas Permissões Únicas
Armazenamento de permissão Armazenado uma vez no nível pai Armazenado separadamente para cada item filho
Impacto no desempenho Mínimo Degrada a velocidade de consulta acima de 50.000 escopos
Esforço de gerenciamento Baixo — altere o pai, todos os filhos atualizam Alto — cada filho deve ser gerenciado individualmente
Limite do SharePoint Nenhum 50.000 escopos únicos por coleção de sites
Melhor para A maioria das pastas e itens Apenas quando itens específicos precisam de acesso restrito

Permissões herdadas são o padrão e a abordagem recomendada para a maioria do conteúdo do SharePoint. Use permissões únicas com moderação para permanecer abaixo do limite de 50.000 escopos. Quando precisar de permissões únicas, quebre a herança em pastas em vez de itens individuais para reduzir a contagem total de escopos.

Agora você pode quebrar a herança em uma subpasta verificando primeiro a contagem de permissões únicas e usando PowerShell para forçar a operação. Em seguida, revise sua coleção de sites em busca de listas ou bibliotecas com permissões únicas excessivas e redefina aquelas que não são mais necessárias. Como dica avançada, agende um script mensal do PowerShell que relate o número de permissões únicas por coleção de sites para que você possa planejar as quebras de herança antes de atingir o limite.

ADVERTISEMENT