Планирование настраиваемых поставщиков утверждений для средства выбора Люди в SharePoint

ОБЛАСТЬ ПРИМЕНЕНИЯ:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint в Microsoft 365

Можно использовать поставщики утверждений, включенные в SharePoint Server, или создать собственные настраиваемые поставщики утверждений для подключения к дополнительным источникам утверждений и предоставления дополнительных утверждений в маркере безопасности для пользователя. Например, если приложение управления отношениями с клиентами (CRM) содержит роли, которых нет в репозитории пользователя в доменных службах Active Directory, можно создать пользовательский поставщик утверждений для подключения к соответствующей базе данных CRM и добавления данных роли CRM в исходный токен безопасности пользователя. Дополнительные сведения о сценариях использования поставщика утверждений см. в разделе Поставщик утверждений.

Поставщик утверждений в SharePoint Server используется для расширения утверждений и предоставления разрешения имен. Он дополняет токен безопасности пользователя другими утверждениями во время входа. Дополнительные сведения о дополнении утверждений см. в разделе Поставщик утверждений. Кроме того, поставщик утверждений создает списки, разрешает имена, выполняет поиск и определяет "понятное" отображение пользователей, групп и утверждений в средстве выбора людей. Выбор утверждений позволяет приложению получать доступ к утверждениям в средстве выбора людей, например при настройке безопасности сайта или службы SharePoint. Дополнительные сведения о выборе Люди см. в статье Планирование выбора Люди в SharePoint.

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

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

Прежде чем прочитать эту статью, ознакомьтесь с основными понятиями, описанными в статьях Планирование методов проверки подлинности пользователей в SharePoint Server и Роль утверждений. Дополнительные сведения о проверке подлинности на основе утверждений см. в разделах Удостоверение на основе утверждений SharePointи Руководство по удостоверению на основе утверждений и контроль доступа.

Архитектура

Если веб-приложение настроено для использования проверки подлинности на основе утверждений, SharePoint Server автоматически использует два поставщика утверждений по умолчанию:

  • Класс SPSystemClaimProvider предоставляет сведения о утверждениях, связанных с фермой серверов, в которой установлен SharePoint Server.

  • Класс SPAllUserClaimProvider предоставляет утверждение All Users.

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

Таблица 1. Методы проверки подлинности и поставщики утверждений по умолчанию

Метод проверки подлинности Поставщик утверждений
Проверка подлинности Windows
SPActiveDirectoryClaimProvider
Проверка подлинности на основе форм
SPFormsClaimProvider
Проверка подлинности на основе маркеров SAML
SPTrustedClaimProvider

Список поставщиков утверждений для фермы можно просмотреть с помощью командлета Microsoft PowerShell Get-SPClaimProvider .

Примечание.

Если веб-приложение настроено для использования проверки подлинности на основе маркеров SAML, класс SPTrustedClaimProvider не предоставляет возможности поиска для элемента управления "средство выбора людей". Любой введенный в веб-элементе управления средства выбора людей текст будет автоматически отображаться, как будто он был разрешен, независимо от того, является ли он действительным пользователем, группой или утверждением. Если ваше решение SharePoint Server будет использовать проверку подлинности на основе токена SAML, следует запланировать создание настраиваемого поставщика утверждений для реализации пользовательского поиска и разрешения имен.

Поставщики утверждений регистрируются на ферме серверов в качестве компонентов, развернутых в ферме. Они являются компонентами уровня фермы. Все объекты поставщиков утверждений используют класс SPClaimProviderDefinition для включения сведений о поставщике утверждений, таких как отображаемое имя, описание, сборка и тип. Важными свойствами класса SPClaimProviderDefinition являются свойства IsEnabled и IsUsedByDefault. Эти свойства определяют, разрешено ли использование зарегистрированного поставщика утверждений в ферме и используется ли поставщик утверждений в качестве поставщика по умолчанию в определенной зоне. По умолчанию использование всех поставщиков утверждений разрешается при их развертывании в ферме серверов. Сведения о классе SPClaimProviderDefinition см. в разделе SPClaimProviderDefinition .

Дополнительные сведения о зонах и проверке подлинности см. в статье Планирование методов проверки подлинности пользователей в SharePoint Server.

Пример конфигурации пользовательского поставщика утверждений

При регистрации пользовательского поставщика утверждений в ферме свойствам IsEnabled и IsUsedByDefault по умолчанию задается значение True. В зависимости от количества зон, необходимых для решения SharePoint Server, методов проверки подлинности, используемых каждой зоной, и пользователей для каждой зоны может потребоваться ограничить зоны, в которых поставщик настраиваемых утверждений отображается в средстве выбора Люди.

Поскольку поставщики утверждений являются компонентами уровня фермы и задействуются на уровне зоны, следует с осторожностью планировать зоны, в которых будет отображаться пользовательский поставщик утверждений. Как правило, следует убедиться, что свойству IsUsedByDefault присвоено значение False, а затем следует настроить класс SPIisSettings для каждой зоны, в которой требуется использовать поставщик настраиваемых утверждений. Чтобы настроить настраиваемый поставщик утверждений для выбранных зон, можно создать скрипт PowerShell, который задает поставщик утверждений для зоны с помощью свойства ClaimsProviders() или создать пользовательское приложение, позволяющее включить настраиваемый поставщик утверждений для выбранных зон.

В качестве примера рассмотрим сценарий с двумя веб-приложениями.

  • Первое веб-приложение PartnerWeb имеет две зоны — одну зону интрасети, использующую проверку подлинности на основе утверждений Windows, и одну зону экстрасети, использующую проверку подлинности на основе форм. Это приложение используется для обеспечения совместной работы сотрудников и партнеров.

  • Второе веб-приложение PublishingWeb имеет всего одну зону, использующую проверку подлинности на основе форм. Это приложение представляет собой сайт для публикаций в Интернете для сотрудников, бизнес-партнеров или партнеров-клиентов.

Теперь предположим, что для зоны экстрасети в PartnerWeb вы хотите, чтобы сотрудники могли сотрудничать с бизнес-партнерами, но не с партнерами-клиентами. Для этого необходимо написать настраиваемый поставщик утверждений, который определяет, является ли текущий пользователь бизнес-партнером или партнером клиента, на основе удостоверения пользователя. В этом примере пользователи из fabrikam.com являются бизнес-партнерами, а пользователи из contoso.com — партнерами по клиентам. Когда пользователь, являющийся бизнес-партнером, проходит проверку подлинности в веб-приложении PartnerWeb, в токен утверждения добавляется утверждение для роли BusinessPartner. При проверке подлинности партнера клиента в маркер утверждения добавляется утверждение для роли с именем CustomerPartner.

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

Рисунок 1. Пример параметров методов проверки подлинности и поставщика утверждений для веб-приложений и зон

Схема SPIisSettings

Свойство IsUsedByDefault можно установить в приемнике компонента, созданном для пользовательского поставщика утверждений.

Вы также можете переопределить параметры свойств IsEnabled и IsUsedByDefault с помощью командлета PowerShell Set-SPClaimProvider .

Важно!

Изменение значения свойства IsEnabled на False ведет к отключению поставщика утверждений для всей фермы серверов. Это может быть полезно при поиске неисправностей, которые могут быть вызваны пользовательским поставщиком утверждений. Обычно свойство IsEnabled должно иметь значение True.

Использование пользовательских утверждений в нескольких фермах

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

  1. Зарегистрируйте поставщики утверждений в дополнительных фермах в том же порядке, в котором они были зарегистрированы в первой ферме.

  2. Создайте резервную копию первой фермы. Сведения о резервном копировании фермы см. в статье Резервное копирование ферм в SharePoint Server.

  3. С помощью резервной копии первой фермы восстановите остальные фермы. Сведения о восстановлении фермы см. в разделе Восстановление ферм в SharePoint Server.

Рекомендации по планированию пользовательских поставщиков утверждений

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

  • Какие зоны имеются у веб-приложения и какие методы проверки подлинности используются в каждой зоне?

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

  • Будет ли использоваться проверка подлинности SAML с доверенным поставщиком удостоверений?

  • Каким будет источник значений для пользователей и ролей, представленных в результатах запросов средства выбора людей?

Команда по публикации содержимого SharePoint Server хочет поблагодарить Стива Пешка за участие в этой статье. Взгляните на блог Стива Пешка Share-n-dipity TechNet.

См. также

Концепции

Обзор средства выбора людей и поставщиков утверждений

Планирование методов проверки подлинности для пользователей в SharePoint Server