Solucionar problemas de permissões refinadas comuns para o SharePoint Server
APLICA-SE A:2013 2019 Subscription Edition SharePoint no Microsoft 365
Após implementar permissões refinadas, ambientes do SharePoint podem enfrentar problemas de segurança ou desempenho. Examine as informações a seguir para ajudar a resolver problemas que podem estar relacionados a permissões refinadas.
Problemas e soluções recomendadas para problemas comuns de desempenho de permissões refinadas
Os problemas a seguir podem ajudar a reduzir o efeito de problemas de desempenho que estão relacionados ao uso abrangente de permissões refinadas. Cada um dos seguintes problemas aborda alterações à segurança do ambiente, hierarquia de objetos ou código personalizado que contribui para os problemas de desempenho relacionados a permissões refinadas. Cada problema começa com o seguinte ambiente de exemplo em que um único Web contém várias bibliotecas de documento, cada uma com uma grande quantidade de objetos filho com permissões exclusivas.
Problema 1: Remover permissões refinadas e usar a imposição de segurança apenas no nível da Web
Para refazer a arquitetura do ambiente para que ela não exija mais permissões refinadas, um processo de limpeza do ambiente pode ser implementado e, em seguida, o número de itens com escopo pode ser ajustado para melhorar a escalabilidade do ambiente a longo prazo. As recomendações a seguir descrevem a limpeza do ambiente e as alterações de segurança da arquitetura que são necessárias para obter essa solução.
Limpeza de segurança do ambiente
Quando um usuário é removido do escopo de nível da Web, o Modelo de Objeto interno deve remover o usuário de todos os escopos abaixo do nível da Web. Remover usuários individuais para limpar as permissões existentes é um processo demorado. Em vez disso, primeiro remova cada escopo de nível de item exclusivo para que o item fique configurado para herdar permissões de seu objeto pai. Como ele tem que agir em um único escopo do item, demorará menos do que tentar remover usuários primeiro.
Importante
Se a Web atual não estiver na raiz do conjunto de sites, e se estiver definida para herdar permissões de seu site pai, todos os escopos exclusivos sob ela serão removidos e todas as associações de Acesso Limitado serão substituídas ao mesmo tempo e de uma só vez no SQL Server.
Após todos os escopos do nível do item serem removidos, as associações de escopo individuais no escopo de nível da Web poderão ser substituídas por uma ou mais associações de grupo para permitir o acesso.
Novo design de arquitetura de segurança do ambiente
Depois que as permissões refinadas e escopos existentes forem removidos, o plano de arquitetura de longo prazo deverá focar-se em manter um escopo exclusivo somente no nível da Web. O diagrama a seguir mostra como isso pode ser estruturado para que somente o escopo do nível da Web permaneça. O principal requisito na arquitetura é não ter itens em excesso no mesmo nível de hierarquia nas bibliotecas de documentos já que o tempo necessário para processar itens nos modos de exibição aumentará.
Resolução:
A contagem máxima de itens ou pastas em qualquer nível da hierarquia deve ser de aproximadamente 2.000 itens.
Caso alterações adicionais forem necessárias para a arquitetura, considere mover bibliotecas de documentos para Webs ou conjuntos de sites diferentes. O número de bibliotecas de documentos também poderia ser alterado para acompanhar mais de perto as necessidades de negócios e recomendações de dimensionamento baseados na taxonomia ou na audiência do conteúdo armazenado.
Problema 2: Usar permissões refinadas pelas alterações da estrutura hierárquica
Para refazer a arquitetura do ambiente de modo que ele ainda use permissões refinadas, mas sem causar muitas atualizações ou dimensionar de um único escopo da Web, considere mover bibliotecas de documentos protegidos de diversas formas para Webs diferentes.
Novo design da hierarquia do ambiente
No diagrama a seguir, a arquitetura física foi alterada para que cada biblioteca de documentos esteja em uma Web com permissões exclusivas. Além disso, se as permissões refinadas do nível do item tiverem que ser preservadas, a prática recomendada é que o número cumulativo de entidades de segurança que receberá acesso seja limitado a aproximadamente 2.000 entidades, embora este não seja um limite fixo. Portanto, a associação efetiva de cada Web, que inclui todos os usuários de membros de Acesso Limitado, não deve ser maior do que aproximadamente 2.000 usuários. Isso evitará que os escopos do nível da Web fiquem muito grandes.
O número de filhos com escopos exclusivos não é um problema significativo e pode ser dimensionado para um grande número. No entanto, o número de princípios que serão adicionados como acesso limitado à cadeia de escopos para a primeira Web com permissões exclusivas será um fator de limitação.
Por fim, embora não sendo especificamente um problema nas permissões refinadas, a estrutura da pasta deverá garantir que nenhum nível hierárquico da biblioteca de documentos jamais exceda cerca de 2.000 itens. Esse limite pode ajudar a garantir um bom desempenho dos modos de exibição solicitados pelos usuários.
Problema 3: Usar permissões refinadas pelas alterações da estrutura do escopo
Para refazer a arquitetura do ambiente de modo que ele ainda use permissões refinadas, mas sem causar muitas atualizações ou dimensionar de um único escopo da Web, considere usar um processo diferente para garantir a segurança dos itens. Isso é aplicável principalmente se a causa da grande quantidade de escopos exclusivos for um processo automatizado, como um manipulador de eventos ou o fluxo de trabalho que alterou dinamicamente as permissões de objeto. Nesse caso, a recomendação é realizar uma alteração de código em todos os processos que estiverem criando os escopos de segurança exclusivos.
A segurança dinâmica alterando a reformulação da código
No diagrama a seguir, a arquitetura do escopo foi alterada para que a associação do escopo não provoque o recálculo de ACL na Web e na biblioteca de documentos pai. Conforme mencionado anteriormente, a associação efetiva da Web, que inclui todos os membros de Acesso Limitado, não deve ser mais do que aproximadamente 2.000 usuários para evitar que o escopo de nível da Web fique muito grande. Nesse caso, ao implementar um novo grupo do SharePoint para manter todos os membros que devem ter direitos de Acesso Limitado, o escopo não crescerá muito grande. Quando os usuários são adicionados a escopos individuais no nível da Web usando o método SPRoleAssignmentCollection.AddToCurrentScopeOnly do SharePoint, eles também podem ser adicionados, por código adicional, ao novo grupo que foi estabelecido como tendo direitos de Acesso Limitado no nível da Web e biblioteca de documentos.
Resolução:
Quando as permissões refinadas do nível do item tiverem que ser preservadas, o número cumulativo de entidades de segurança que terão acesso deverá ser limitado a aproximadamente 2.000 usuários, embora este não seja um limite fixo. Quando o número de entidades de segurança aumenta, a ACL binária leva mais tempo para ser recalculada. Se a associação de um escopo for alterada, a ACL binária precisará ser recalculada. A adição de usuários a um escopo exclusivo de item filho fará com os escopos pai sejam atualizados com os novos membros de Acesso Limitado, mesmo que isso basicamente não resulte em alteração na associação do escopo pai. Quando isso ocorre, a ACL binária dos escopos pai também precisa ser recalculada.
Como na solução anterior, o número de filhos com escopos exclusivos não é um problema significativo e pode ser dimensionado para um grande número. O número de princípios que serão adicionados como acesso limitado à cadeia de escopos para a primeira Web com permissões exclusivas será um fator de limitação.
Confira também
Outros recursos
Práticas recomendadas para uso das permissões refinadas no SharePoint Server