Устранение распространенных неполадок детальных разрешений для SharePoint Server

 

**Применимо к:**SharePoint Foundation 2013, SharePoint Server 2013, SharePoint Server 2016

**Последнее изменение раздела:**2017-09-06

Сводка. Узнайте, как устранять неполадки, связанные с детальными разрешениями в SharePoint Server и SharePoint 2013.

После внедрения детальных разрешений в среде SharePoint могут возникнуть проблемы с безопасностью или производительностью. Следующие сведения помогут вам устранить проблемы, которые могут быть связаны с детальными разрешениями.

Рекомендуемые способы устранения распространенных проблем с производительностью детальных разрешений

Следующие решения помогут сократить влияние проблем с производительностью, связанных с интенсивным использованием детальных разрешений. Каждое из перечисленных ниже решений охватывает изменения в системе безопасности среды, иерархии объектов или пользовательском коде, которые приводят к проблемам с производительностью, связанным с детальными разрешениями. В начале каждого решения приводится пример среды, в которой один веб-сервер включает несколько библиотек документов, каждая из которых содержит ряд дочерних объектов с уникальными разрешениями.

Показан одиночный веб-сервер с несколькими библиотеками документов, каждая из которых содержит большое число дочерних объектов с уникальными разрешениями.

Решение 1. Удаление детальных разрешений и использование улучшений системы безопасности только на уровне веб-сервера

Чтобы повторно спроектировать среду таким образом, что для нее больше не потребуются детальные разрешения, можно запустить процесс очистки среды, а затем изменить количество элементов с заданной областью для долгосрочного улучшения масштабируемости среды. Следующие рекомендации описывают очистку среды и архитектурные изменения в системе безопасности, которые требуются для реализации этого решения.

Очистка системы безопасности среды

При удалении пользователя из области на уровне веб-сервера внутренней объектной модели необходимо удалить пользователя из каждой области, расположенной под уровнем веб-сервера. Удаление отдельных пользователей для очистки существующих разрешений занимает много времени. Вместо этого сначала удалите каждую уникальную область на уровне элемента, чтобы элемент наследовал разрешения от родительского объекта. Это займет меньше времени, чем удаление пользователей, так как действия выполняются только над одной областью для элемента.

Важно!

Если текущий веб-сайт не является корневым для семейства веб-сайтов, а также если для него настроено наследование разрешений от родительского веб-сайта, будут удалены все его уникальные области, а данные членства, предусматривающие ограниченный доступ, будут перезаписаны в рамках одного кругового пути SQL Server.

Показана очистка разрешений путем удаления пользователя из области действия на уровне веб-сервера. При выполнении этой операции внутренняя объектная модель должна удалить пользователя из каждой области действия ниже уровня веб-сервера.

После удаления областей на уровне элементов членства в отдельных областях на уровне веб-сервера можно заменить одним или несколькими членствами в группе для обеспечения доступа.

Показано, как членство в отдельных областях действия заменяется на уровне веб-сервера одним или несколькими членствами в группе для обеспечения доступа после удаления всех областей действия на уровне элементов.

Изменение архитектуры безопасности среды

После удаления существующих детальных разрешений и областей следует придерживаться долгосрочного плана проектирования архитектуры для поддержки уникальной области только на уровне веб-сервера. На следующей схеме показано, как спроектировать архитектуру таким образом, чтобы сохранить только область на уровне веб-сервера. Ключевое требование к архитектуре — отсутствие на одном уровне иерархии в библиотеках документов слишком большого количества элементов, так как это приводит к увеличению времени для обработки элементов в представлениях.

Решение.

Максимальное число элементов и папок на любом уровне иерархии должно составлять примерно 2000 элементов.

Показана архитектура, определяющая структуру области действия на уровне веб-сервера.

Если в архитектуру требуется внести дополнительные изменения, попробуйте переместить библиотеки документов на другие веб-серверы или в другие семейства веб-сайтов. Количество библиотек документов также можно изменить в соответствии с потребностями бизнеса и рекомендациями по масштабированию, в основе которых лежит на таксономии или аудитория хранимого содержимого.

Решение 2. Использование детальных разрешений путем внесения изменений в иерархическую структуру

Чтобы повторно спроектировать среду таким образом, чтобы в ней по-прежнему использовались детальные разрешения, но при этом не выполнялось слишком много обновлений одной веб-области (а также ее размер не менялся слишком часто), попробуйте перенести библиотеки документов с разными параметрами безопасности на другие веб-серверы.

Изменение иерархии среды

На следующей схеме физическая архитектура была изменена таким образом, что каждая библиотека документов находится на веб-сервере с уникальными разрешениями. Кроме того, если требуется сохранить детальные разрешения на уровне элементов, общее количество субъектов безопасности, которые получат доступ, следует ограничить до примерно 2000, хотя это и не фиксированное ограничение. Таким образом, эффективное членство каждого веб-сервера, включающего всех участников с ограниченным доступом, не должно превышать примерно 2000 пользователей. Это предотвращает разрастание каждой из областей на уровне веб-сервера.

Показана библиотека документов на веб-сервере с уникальными разрешениями. Число членов на каждом веб-сервере не должно превышать 2000 пользователей.

Количество дочерних элементов с уникальной областью не так уж важно и может быть значительным. Тем не менее ограничительным фактором станет количество субъектов, которые будут добавлены в качестве пользователей с ограниченным доступом вверх по цепочке областей к первому веб-серверу с уникальными разрешениями.

Наконец (хотя эта проблема не качается детальных разрешений), структура папок должна гарантировать, что ни один уровень иерархии библиотеки документов не будет содержать более 2000 элементов (примерно). Это ограничение поможет обеспечить высокую производительность представлений, запрашиваемых пользователями.

Решение 3. Использование детальных разрешений путем внесения изменений в структуру областей

Чтобы повторно спроектировать среду таким образом, чтобы в ней по-прежнему использовались детальные разрешения, но при этом не выполнялось слишком много обновлений одной веб-области (а также ее размер не менялся слишком часто), попробуйте использовать другой метод защиты элементов. Как правило, это решение применимо, если причиной большого количества уникальных областей был автоматический процесс, например динамическое изменение разрешений для объектов обработчиком событий или рабочим процессом. В этом случае рекомендуется изменить код процесса, который отвечает за создание уникальных областей безопасности.

Динамическое изменение кода безопасности

На следующей схеме архитектура области была изменена таким образом, что членство области не приводит к пересчету списка ACL в родительской библиотеке и на веб-сервере. Как указывалось ранее, веб-сервер, который включает всех участников с ограниченным доступом, не должен насчитывать более чем примерно 2000 активных участников для предотвращения разрастания области на уровне веб-сервера. В этом случае область не станет слишком большой благодаря внедрению новой группы SharePoint, в которой будут храниться все участники с правами на ограниченный доступ. Если пользователи добавляются в отдельные области под уровнем веб-сервера с использованием метода SharePoint ServerSPRoleAssignmentCollection.AddToCurrentScopeOnly, их также можно добавлять (с помощью дополнительного кода) в новую группу, созданную для участников с правами на ограниченный доступ на уровне веб-сервера и библиотеки документов.

Показано членство в области действия, которое не приводит к перерасчету списка ACL в родительской библиотеке документов и на родительском веб-сервере.

Решение.

Если требуется сохранить детальные разрешения на уровне элементов, общее количество субъектов безопасности, которые получат доступ, следует ограничить до примерно 2000, хотя это и не фиксированное ограничение. При увеличении количества объектов безопасности пересчет двоичного списка ACL занимает больше времени. Двоичный список ACL необходимо пересчитать в случае изменения членства в области. Добавление пользователей в уникальную области с дочерними элементами приведет к добавлению в родительские области новые участников с ограниченным доступом, даже если это в итоге никак не повлияет членство родительской области. В таком случае необходимо также пересчитать двоичный список ACL для родительских областей.

Как и в предыдущем решении, количество дочерних элементов с уникальной областью не так уж важно и может быть значительным. Ограничительным фактором станет количество субъектов, которые будут добавлены в качестве пользователей с ограниченным доступом вверх по цепочке областей к первому веб-серверу с уникальными разрешениями.

See also

Справочник по детальным разрешениям для SharePoint Server 2013
Рекомендации по использованию детальных разрешений в SharePoint Server 2013