Gerenciar escopos de permissão no SharePoint

O gerenciamento eficaz de permissões no SharePoint é essencial para a segurança e o acesso adequado do usuário. À medida que o número de documentos em sites do SharePoint aumenta, design e implementação inadequados podem levar rapidamente a limites de escopo de permissão, afetando negativamente o desempenho. Este artigo explica os escopos de permissão e os mecanismos de controle de acesso, oferecendo as práticas recomendadas para projetar e gerenciar escopos de permissão com eficiência no SharePoint. Primeiro, vamos examinar alguns componentes principais relacionados aos escopos de permissão.

Principais conceitos e componentes

  • Controle de Acesso Lista — Uma lista de Controle de Acesso (ACL) é composta por um conjunto de entradas de Controle de Acesso (ACEs).
  • Controle de Acesso Entry – Uma ACE (Controle de Acesso Entry) no SharePoint é uma combinação de uma entidade de segurança e uma máscara de direitos (leitura, leitura/gravação).
  • Entidade de segurança – uma entidade de segurança pode ser um usuário individual ou um grupo. Se um grupo estiver presente em uma ACE dentro de uma ACL, todos os membros desse grupo receberão o nível de permissão especificado pela ACE.
  • Escopo de permissão—Um escopo de permissão é um objeto protegido exclusivamente. Isso significa que sua ACL pode ser definida de forma diferente de seu pai. Files e pastas podem ter as mesmas permissões se todos fizerem parte da mesma árvore de diretórios. Você pode ter até 50.000 ACLs exclusivas em uma biblioteca de documentos, mas para obter melhor desempenho, é recomendável mantê-las abaixo de 5.000.
  • Herança de permissão – Por padrão, um conjunto de sites contém vários sites. Cada site pode ter uma ou mais listas e bibliotecas de documentos, todas herdando suas permissões do conjunto de sites. Da mesma forma, pastas, listas e documentos herdam permissões do objeto pai que os contém. Para obter mais informações, consulte Personalizar permissões para uma lista ou biblioteca do SharePoint.
  • Permissões exclusivas: por padrão, um arquivo ou pasta herda as permissões da biblioteca ou pasta que o contém. Quando um arquivo recebe "permissões exclusivas", ele para de herdar permissões do pai e pode ter suas permissões definidas de forma independente. Isso significa que o arquivo ou pasta agora tem seu próprio escopo de permissão.

Escopo e herança de permissões

No SharePoint, as ACLs são usadas para gerenciar permissões para objetos (arquivos e pastas). Cada ACL consiste em várias ACEs, que especificam as permissões para uma entidade principal.

Quando uma biblioteca de documentos é criada, ela tem um único escopo de permissão, o que significa que todos os arquivos e pastas dentro da biblioteca de documentos herdam sua ACL da raiz da biblioteca de documentos e compartilham as mesmas permissões. A contagem de escopo inicial é 1.

Interrompendo herança

A herança ininterrupta em um arquivo ou pasta cria um novo escopo de permissão, aumentando a contagem de escopo em 1.

Você pode quebrar a herança usando dois métodos:

  • Você pode interromper a herança manualmente acessando as configurações da biblioteca.
  • Se você compartilhar um arquivo ou pasta, essa ação interromperá a herança de permissão no arquivo ou pasta, permitindo que sua ACL (e o conteúdo dentro da pasta) seja diferente de seu pai.

Este artigo discute as implicações da quebra da herança usando o segundo método e descreve as práticas recomendadas para minimizar a adição de contagens de escopo excessivas em uma biblioteca.

Por exemplo, se você criar uma biblioteca de documentos e, em seguida, criar uma pasta, compartilhar a pasta (o que interrompe a herança) e carregar 75.000 arquivos na pasta, a contagem de escopo da biblioteca de documentos será 2. Isso ocorre porque todos os 75.000 arquivos na pasta compartilham o escopo de permissão da pasta e, portanto, sua ACL. Existem apenas duas ACLs exclusivas na biblioteca de documentos: a ACL na raiz e a ACL na pasta. Se você criar vários arquivos e compartilhar cada um individualmente com um usuário, adicionará uma contagem de escopo a cada vez. Para evitar isso, coloque todos os arquivos na mesma pasta e compartilhe a pasta.

Compartilhamento de pastas com grandes contagens de itens

Uma pasta só poderá interromper sua herança se tiver 100.000 itens ou menos. Se uma pasta exceder esse limite e não for compartilhada exclusivamente, ela não poderá ser compartilhada exclusivamente posteriormente. Portanto, compartilhe pastas grandes antes que elas atinjam 100.000 itens. O ideal é compartilhar uma pasta quando ela não contiver nenhum item, se você souber que ela precisa de compartilhamento exclusivo.

ACLs compartilhadas para arquivos com permissões herdadas

Se dois arquivos tiverem a ACL equivalente porque ambos herdam da pasta pai, eles compartilharão uma ACL. Somente a pasta pai conta. No entanto, se dois arquivos tiverem a mesma ACL porque foram compartilhados separadamente com as mesmas entidades principais, eles terão dois escopos de permissão com permissões idênticas.

Impacto da interrupção da herança na contagem do escopo

Se uma pasta tiver dois arquivos e você compartilhar os dois com um usuário, isso custará três escopos: um para a pasta pai e outro para cada um dos arquivos compartilhados individualmente. Não importa que você compartilhou os dois arquivos com o usuário e as ACLs dos arquivos sejam idênticas. Depois de separar a herança de um arquivo ou pasta de seu pai, você cria um escopo exclusivo.

Compartilhamento eficiente para evitar exceder os limites de escopo

Se você tiver 10.000 arquivos que deseja compartilhar com um usuário e compartilhar cada arquivo individualmente, isso custará 10.000 escopos, prejudicando o desempenho, pois você excedeu o limite recomendado de 5.000. No entanto, se você criar uma pasta, compartilhar a pasta com o usuário e mover todos os 10.000 arquivos para essa pasta, isso custará apenas um escopo adicional (para a pasta). Se você tivesse compartilhado anteriormente cada um desses 10.000 arquivos individualmente, um por um, e os movido para uma pasta comum que tenha uma ACL idêntica, você ainda teria excedido o limite (o sistema não "limpa" essas permissões em seu nome restaurando a herança de permissão).

Noções básicas sobre o limite de escopo

O limite recomendado de 5.000 ACLs significa que você pode ter até 5.000 ACLs exclusivas. Isso não significa que você só pode ter 5.000 arquivos ou pastas com ACLs. Se dois arquivos herdarem a mesma ACL de sua pasta pai, eles compartilharão essa ACL. Nesse caso, somente a ACL da pasta pai conta para o limite. No entanto, se dois arquivos tiverem a mesma ACL, mas ela for definida explicitamente, não por herança de sua pasta pai, a ACL de cada arquivo, mais a ACL da pasta pai, contará para o limite. O desempenho real pode variar dependendo de fatores como o tamanho das ACLs. Se as ACLs forem pequenas (menos de 10 ACEs por ACL), você poderá exceder 5.000 escopos sem encontrar problemas. No entanto, com ACLs maiores (até 5.000 ACEs), você pode ter problemas de desempenho antes de atingir o limite.

Exemplos de cenários

Cenário: Compartilhamento de arquivos

O compartilhamento de dois arquivos em uma pasta com um único usuário usa três escopos: um para a pasta pai e outro para cada um dos dois arquivos. Embora ambos os arquivos sejam compartilhados com o mesmo usuário e tenham a mesma ACL, interromper a herança da pasta pai cria escopos exclusivos. Portanto, se você tiver 10.000 arquivos para compartilhar com o usuário e compartilhar cada um individualmente, serão necessários 10.000 escopos adicionais. No entanto, se você colocar todos os arquivos em uma única pasta, compartilhar essa pasta com o usuário e mover os arquivos para a pasta, será necessário apenas um escopo adicional para a pasta. Um ponto importante a ser considerado é a coautoria. Se um usuário estiver trabalhando em um arquivo no Microsoft Word e quiser trabalhar em coautoria com alguém, ele ainda poderá convidá-lo se o arquivo estiver no SharePoint. Isso usa uma das ACLs restantes disponíveis. Este é um fator adicional a ser considerado.

Cenário: Movendo arquivos

Imagine uma situação em que 10.000 arquivos foram compartilhados com um indivíduo, um por um. Se esses arquivos forem movidos posteriormente para uma única pasta, o sistema não consolidará automaticamente as entradas de permissão para aplicar apenas as permissões da pasta. Em vez disso, as permissões permanecem desordenadas, a menos que o usuário as corrija manualmente. Isso ocorre porque a restauração automática da hierarquia de permissões não é implementada devido a questões de segurança. Nesse cenário, antes de mover os arquivos, o destinatário pode visualizar cada um dos 10.000 arquivos compartilhados individualmente com eles. Depois de mover os arquivos para uma pasta, o destinatário ainda pode ver os 10.000 arquivos junto com a pasta que o contém, o que altera a estrutura de acesso. Isso significa que, sem a limpeza manual, o compartilhamento extensivo do OneDrive pode levar a problemas de desempenho ou até mesmo falha operacional quando o limite de 50.000 itens for atingido. No entanto, o gerenciamento cuidadoso, em que os arquivos são organizados em pastas com ACLs correspondentes, pode ajudar a mitigar esses problemas. Também é importante observar que expor a hierarquia de pastas real aos usuários pode ser indesejável, especialmente ao usar metadados para representar tudo em vez de pastas tradicionais.

Cenário: criação de uma biblioteca de documentos com escopos mínimos

Você cria uma biblioteca de documentos que tem um único escopo de permissão, o que significa que todos os itens dentro dela compartilham inicialmente as mesmas configurações de controle de acesso. Em seguida, você adiciona uma pasta a essa biblioteca de documentos. Para compartilhar essa pasta com indivíduos ou grupos específicos, você quebra a herança de permissões da biblioteca de documentos. Essa ação cria um novo escopo de permissão exclusivo para a pasta, permitindo que você defina controles de acesso diferentes daqueles aplicados à biblioteca de documentos. Com as permissões da pasta definidas, você carrega 75.000 arquivos nesta pasta. Cada um desses arquivos herda a ACL da pasta, garantindo que todos tenham as mesmas permissões que a própria pasta. Como resultado, a biblioteca de documentos agora tem dois escopos de permissão exclusivos: um para a raiz da biblioteca de documentos e outro para a pasta. Essa configuração permite um controle mais granular sobre quem pode acessar os arquivos dentro da pasta, mantendo uma estrutura de permissão mais simples para o restante da biblioteca de documentos.

Cenário: Gerenciamento de permissões para várias pastas

Para mapear categorias para pastas de forma eficiente, você decide criar 20 pastas em cada biblioteca de documentos. Cada uma dessas pastas é designada para um tipo específico de documento, como contratos ou faturas, permitindo uma melhor organização e acesso mais fácil. Para garantir que cada pasta tenha suas próprias permissões exclusivas, defina configurações de ACL individuais para cada uma. Isso resulta em um total de 21 escopos de permissão exclusivos na biblioteca de documentos: um para a raiz da biblioteca de documentos e um para cada uma das 20 pastas. Ao fazer isso, você pode controlar quem tem acesso a cada categoria de arquivos, proporcionando uma estrutura mais segura e organizada. Para evitar problemas de desempenho e permanecer dentro dos limites do sistema, minimize o número de arquivos individuais com permissões exclusivas. Isso significa que a maioria dos arquivos herda as permissões de suas respectivas pastas, mantendo o número total de entradas de permissão exclusivas dentro do limite de 5.000.

Dicas para gerenciar escopos de permissão

Para gerenciar efetivamente os escopos de permissão no SharePoint, siga estas recomendações:

  • Minimize o número de escopos de permissão exclusivos aproveitando a herança.
  • Compartilhe pastas em vez de arquivos individuais para reduzir o número de escopos exclusivos.
  • Certifique-se de que as pastas que precisam de permissões exclusivas sejam compartilhadas antes que excedam 100.000 itens.
  • Para desenvolvedores, revise e minimize regularmente os escopos de permissão exclusivos, use grupos e monitore o desempenho para manter o desempenho ideal do SharePoint.
  • Para usuários finais, use grupos de permissões padrão, examine solicitações de acesso e realize auditorias regulares para manter as permissões do SharePoint limpas e eficientes.
  • Use grupos do SharePoint e o Microsoft Entra para gerenciar referências e permissões de usuário com eficiência.

Recursos