Отношения объектов авторизации
Дата последнего изменения: 14 апреля 2010 г.
Применимо к: SharePoint Foundation 2010
В этой статье
Пользователи, группы и участники
Представление отношений объектов
Токены пользователей и списки контроля доступа
Отдельный пользователь (SPUser) получает доступ к объекту Microsoft SharePoint Foundation напрямую через отдельное назначение роли или косвенно через членство в доменной группе или группе SharePoint (SPGroup), которая имеет назначение роли. При прямом назначении роли участником является пользователь (SPPrincipal), тогда как при назначении роли в доменной группе или группе SharePoint участником является доменная группа или группа SharePoint.
Пользователи, группы и участники
SharePoint Foundation поддерживает как пользователей Windows (например, ДОМЕН\псевдоним_пользователя), так и внешних пользователей (через модульную проверку подлинности). Удостоверение пользователя обслуживается системой управления удостоверениями (например, службой каталогов Active Directory). Профиль пользователя, который включает отображаемое имя, адрес электронной почты и другие сведения, действует на уровне семейства сайтов. Изменение отображаемого имени отражается в целом семействе сайтов.
Группа — это набор пользователей, с помощью которого SharePoint Foundation управляет безопасностью. Управление на базе отдельных пользователей оказывается несложным для простых сайтов, однако с увеличением числа ресурсов с индивидуальным режимом безопасности, становится непростой задачей. Например, у пользователя может быть роль Contribute для списка 1, роль Read для списка 2 и роль Design для списка 3. Такая модель плохо масштабируется. Если имеется, например, 50 000 пользователей, то списки управления доступом для каждого объекта с индивидуальным режимом безопасности будут состоять из 50 000 записей управления доступом.
Группы дают ответ как на проблему управления, так и проблему масштабирования управления разрешениями на основе пользователей. Управление на основе группы может быть более абстрактным и сложным для понимания, однако оно упрощает управление сложными сайтами с множеством объектов с индивидуальным режимом безопасности, например, добавление пользователя к группе, которой уже была предоставлена соответствующая роль для различных объектов в системе. Проверка разрешений для групп лучше масштабируется, так как требуется хранить гораздо меньше записей управления доступом.
SharePoint Foundation поддерживает два типа групп: доменные группы и группы SharePoint. Доменные группы остаются вне контроля SharePoint Foundation; пользователи не могут использовать SharePoint Foundation для определения, поиска или изменения членства в доменной группе. Группы SharePoint действуют на уровне семейства сайтов и могут использоваться только в семействе сайтов, тогда как доменные группы могут использоваться везде в области действия службы каталогов Active Directory.
Участник — это пользователь или группа, используемые для управления безопасностью. Если к сайту добавляется пользователь, участником является пользователь, но если к сайту добавляется группа, участником является группа. Основным в масштабировании безопасности в SharePoint Foundation является сохранение разумного числа участников в каждой области. При использовании групп можно использовать меньшее число участников для предоставления доступа большему числу пользователей.
Представление отношений объектов
На Рис. 1 показано представление системы управления безопасностью SharePoint Foundation в виде логической схемы базы данных. Каждый блок представляет объект безопасности в системе. Линии представляют отношения между объектами. Обозначения 1 и N представляют тип отношения. На рисунке показана структура данных разрешений в маркере пользователя и списке управления доступом.
Рис. 1. Отношения объектов авторизации
Область представляет собой уникально защищаемый объект или набор объектов. Область может задаваться на уровне сайта, списка, папки или элемента.
Пользователи и группы имеют отношение типа "множество-множество" (N-N). Каждый пользователь (SPUser) может быть членом нескольких групп, и каждая группа (SPGroup) может содержать несколько пользователей.
Между определениями прав и ролей также имеются отношения типа "многие-ко-многим" (N-N). Каждое право (SPBasePermissions) может быть частью нескольких определения ролей. Например, право Insert List Items включено в определения роли Contributor, Designer и Administrator. Кроме того, каждое определение роли (SPRoleDefinition) может содержать несколько прав, например Contributor включает права на вставку, обновление и удаление элементов.
Между определениями и назначениями ролей (SPRoleAssignment) имеются отношения типа "один-ко-многим" (1-N). Каждое определение роли используется в нескольких назначениях роли. Читатели списка 1 и читатели списка 2 могут быть разные, но их назначения роли могут иметь общее определение роли: Reader.
Между пользователями или группами и назначениями ролей имеются отношение типа "многие-ко-многим" (N-N). Каждый пользователь или группа может быть членом нескольких назначений роли для данного объекта. Например, пользователь может иметь обе роли Designer и Administrator для одного объекта.
Между областями и назначениями ролей имеются отношение типа "один-ко-многим" (1-N). Каждая область имеет несколько назначений ролей, но каждое назначение роли имеет только одну область. Например, один пользователь может быть читателем списка "События", а другой — участником списка "События", однако ни одно это назначение роли не применяется к списку "Извещения". Единственный способ сделать назначение роли общей для двух списков — это наследование их разрешений от родительского контейнера: в этом случае, областью безопасности является контейнер, а не два списка.
Токены пользователей и списки контроля доступа
Чтобы ускорить проверку разрешений, в модели безопасности SharePoint Foundation реализованы маркеры пользователей и списки управления доступом. Маркер пользователя определяет процесс проверки подлинности, применяемый к пользователю. Пользователь Windows имеет сложный маркер: уникальную строку пользователя (SID) и список всех доменных групп Windows пользователя, например ДОМЕН\отдел 15688. Пользователь, не проходящий проверку подлинности Windows, может иметь очень простой маркер с уникальной строкой имени пользователя или сложный маркер с указанием членства в группе и роли, как при проверке подлинности Windows. Членство в группе SharePoint для каждого пользователя выражается посредством маркера пользователя, чтобы считывая маркер пользователя, в SharePoint Foundation можно было определить все группы текущего пользователя.
Список управления доступом — это двоичный объект, определяющий права, которые пользователь или группа имеют для данного объекта. Список контроля доступа содержит несколько элементов управления доступом, каждый участник безопасности представлен одним элементом управления доступом в списке управления доступом. Права, определения роли и назначения роли указываются в одном блоке списка управления доступом для каждой области, чтобы в SharePoint Foundation было понятно, какие действия разрешены каждому пользователю или группе в данной области.