Базовая реализация наследования безопасности SharePoint

У меня есть 2 части на мой вопрос. Если у меня есть библиотека документов с документами 10 КБ, и все документы настроены на наследование разрешений от библиотеки, которая сама имеет явный ACL, включающий 500 пользователей (то есть библиотека не наследует защиту от сайта), то:

  1. Реплицируется ли список управления доступом в базе данных SharePoint для каждого документа, который настроен на наследование безопасности.
  2. Если я добавлю другого пользователя в список, потребуется ли SharePoint в его базовой реализации добавить этого пользователя дополнительно к спискам управления доступом 10K.

Если ответом на 1) является НЕТ, то, возможно, ответом на 2) будет сам НЕТ, но он все еще хотел быть уверен и поэтому перечислил их отдельно.

Причина, по которой это важно для нас:

  1. У нас будет много пользователей в DL и много документов в DL, наследующих безопасность. Если то же самое реплицируется для каждого документа, это означает, что потребуется больше места для хранения.
  2. Безопасность будет часто обновляться на DL через вызовы API SPI. Если для каждого документа требуется тиражирование, нам нужно учитывать время, необходимое для того же времени при выполнении вызовов API.

1 ответ

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

ACL afaik хранится в таблицах Perms + RoleAssignment в базе данных контента SharePoint. Perms содержит запись только для объектов, не наследующих защиту от родителя (идентифицируемых столбцом ScopeId), а RoleAssignment содержит роли для ScopeIds в таблице Perms.

Таким образом, если объект наследует безопасность, у него не будет записей ACL, определенных в базе данных. Я написал сообщение в блоге, в котором рассказывает о своих исследованиях в том же контексте здесь: https://imbibe.in/blog/2018/01/08/permission-storage-sharepoints-database/

Другие вопросы по тегам