Настройка проверки подлинности службой единого входа с помощью служб ADFS (Windows SharePoint Services)
Содержание:
О федеративных системах проверки подлинности
Подготовка к работе
Настройка веб-приложений экстрасети для использования веб-проверки подлинности SSO
Предоставление пользователям доступа к сайту экстрасети
Работа со средством выбора людей
Работа с заявками на электронную почту и UPN-имя
Работа с заявками групп и подразделений
О федеративных системах проверки подлинности
Windows SharePoint Services 3.0 обеспечивает поддержку федеративных сценариев проверки подлинности, в которых система проверки подлинности не соединена локально с компьютером, на котором установлен Windows SharePoint Services 3.0. Федеративные системы проверки подлинности также известны, как системы с единым входом (SSO). С помощью служб федерации Active Directory (ADFS) сотрудники одной компании могут иметь доступ к серверам, размещенным в другой компании, используя свои существующие учетные записи Active Directory. Службы ADFS также позволяют установить доверительные отношения между двумя компаниями и обеспечить непрерывную работу конечных пользователей после входа в систему. Для проверки подлинности конечных пользователей эти службы используют метод перенаправления по коду 302. После проверки подлинности пользователи помечаются опознавательными маркерами (cookie).
Подготовка к работе
Прежде чем использовать службы ADFS для настройки системы веб-проверки подлинности SSO для веб-приложений экстрасети, необходимо ознакомиться со следующей информацией:
Запись в блоге команды разработчиков продуктов и технологий Microsoft SharePoint о настройке нескольких поставщиков проверки подлинности (https://blogs.msdn.com/sharepoint/archive/2006/08/16/configuring-multiple-authentication-providers-for-sharepoint-2007.aspx).
Пошаговое руководство по службе ADFS (https://go.microsoft.com/fwlink/?linkid=145396&clcid=0x419). Имена серверов и примеры, использованные в этой статье, основаны на данном пошаговом руководстве, в котором описывается настройка ADFS в небольшой лабораторной среде. В этой среде новый сервер, названный Trey-SharePoint, присоединен к лесу Trey Research. Для настройки инфраструктуры ADFS следуйте инструкциям пошагового руководства. Однако поскольку в статье описывается настройка Windows SharePoint Services 3.0 в режиме приложений по заявкам, не нужно выполнять все пункты пошагового руководства для построения приложений агентов маркеров Windows NT.
Примечание
При использовании средства выбора людей для добавления пользователей в Windows SharePoint Services 3.0, Windows SharePoint Services 3.0 проверяет пользователей через службу, которой в данном примере является ADFS. Поэтому перед настройкой Windows SharePoint Services 3.0 необходимо сначала настроить сервер федерации.
Важно!
Процесс установки записан в файл VBScript, который можно использовать, чтобы настроить Windows SharePoint Services 3.0 на использование ADFS для проверки подлинности. Этот файл скрипта содержится в файле (SetupSharePointADFS.zip) и доступен в блоге о продуктах и технологиях Microsoft SharePoint, приведенном в разделе Вложения. Дополнительные сведения см. на странице блога Скрипт для настройки SharePoint на использование ADFS для проверки подлинности(на английском языке).
Настройка веб-приложений экстрасети для использования системы веб-проверки подлинности SSO
Установите веб-агент для приложений по заявкам.
Загрузите и установите исправления для ADFS, описанные в статье Не удается вызвать поставщик ролей и поставщик членства из служб Windows SharePoint Services 3.0 на компьютере под управлением Windows Server 2003 R2, на котором работают службы ADFS и Microsoft Windows SharePoint Services 3.0(на английском языке) (https://go.microsoft.com/fwlink/?linkid=145397&clcid=0x419). Это исправление будет включено в пакет обновления 2 (SP2) для Windows Server 2003.
Установите Windows SharePoint Services 3.0, настройте все службы и все серверы фермы, затем создайте новое веб-приложение. По умолчанию это веб-приложение будет настроено на использование проверки подлинности Windows и будет существовать точка входа, через которую пользователи интрасети смогут получить доступ к сайту. В примере, который рассматривается в данной статье, имя сайта — http://trey-moss.
Расширьте веб-приложение, созданное во втором шаге, в другую зону. На странице Управление приложениями сайта центра администрирования SharePoint щелкните Создание или расширение веб-приложения, затем Расширить существующее веб-приложение и выполните следующие действия:
Добавьте заголовок узла, то есть DNS-имя, под которым сайт будет известен пользователям экстрасети. В данном примере именем служит extranet.treyresearch.net.
Измените зону на экстрасеть.
Задайте заголовок узла, который будет настроен для определения в DNS пользователями экстрасети.
Щелкните Использовать протокол SSL и измените номер порта на 443. Для ADFS требуется, чтобы сайты были настроены для использования протокола SSL.
В поле URL-адрес домена со сбалансированной нагрузкой удалите запись :443. Службы Internet Information Services (IIS) будут автоматически использовать порт 443, потому что он был указан в предыдущем шаге.
Выполните оставшиеся на странице шаги для окончания расширения веб-приложения.
На странице "Сопоставления для альтернативного доступа" убедитесь, что URL-адреса выглядят аналогично следующей таблице.
Внутренний URL-адрес Зона Общедоступный URL-адрес для зоны http://trey-moss
Default (По умолчанию)
http://trey-moss
https://extranet.treyresearch.net/
Extranet (Экстрасеть)
https://extranet.treyresearch.net/
Добавьте SSL-сертификат в сайт экстрасети служб IIS. Удостоверьтесь, что данный SSL-сертификат выдан extranet.treyresearch.net, потому что это имя будут использовать клиенты для доступа к сайту.
Настройте поставщик проверки подлинности, чтобы использовать веб-службу SSO для зоны экстрасети веб-приложения. Для этого выполните следующие действия:
На странице "Управление приложениями" центра администрирования сайта фермы щелкните Поставщики проверки подлинности.
Щелкните Изменить в правом верхнем углу страницы, затем выберите веб-приложение, в котором следует включить веб-службу SSO.
В списке двух зон, которые отображены для данного веб-приложения (у обеих должно быть указано слово Windows), нажмите ссылку Windows для зоны экстрасети.
В разделе Тип проверки подлинности щелкните Единый вход.
В поле Имя поставщика контроля членства введите значение
SingleSignOnMembershipProvider2
Возьмите на заметку это значение. Его надо будет добавить в элемент имени раздела <membership> файлов web.config, которые будут изменяться далее в данной процедуре.
В поле Имя управляющего ролями введите значение
SingleSignOnRoleProvider2
Возьмите на заметку это значение. Его надо будет добавить в элемент имени раздела <roleManager> файлов web.config, которые будут изменяться далее в данной процедуре.
Убедитесь, что для параметра Включить интеграцию клиентов указано значение Нет.
Нажмите кнопку Сохранить.
Теперь веб-приложение экстрасети настроено на использование службы SSO. Однако на данный момент сайт будет недоступен, поскольку никто не имеет разрешения на доступ к нему. Следующим шагом следует назначить разрешения пользователям, чтобы у них появился доступ к сайту.
Примечание
После того как веб-служба SSO выбрана в качестве поставщика проверки подлинности, в службе IIS автоматически включается анонимная проверка подлинности для сайта SharePoint (от пользователя не требуется никаких действий). Этот параметр необходим сайту для разрешения доступа только по заявкам.
Предоставление пользователям доступа к сайту экстрасети
В текстовом редакторе откройте файл web.config для сайта зоны по умолчанию, использующей проверку подлинности Windows.
Следующую запись вставьте везде в узле <system.web>.
<membership>
<providers>
<add name="SingleSignOnMembershipProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://fs-server/adfs/fs/federationserverservice.asmx" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
<providers>
<remove name="AspNetSqlRoleProvider" />
<add name="SingleSignOnRoleProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://fs-server/adfs/fs/federationserverservice.asmx" />
</providers>
</roleManager>
Измените значение fs-server на адрес сервера федерации ресурсов (adfsresource.treyresearch.net). Убедитесь, что введены корректные имена поставщика ролей и поставщика контроля членства на странице поставщика проверки подлинности в центре администрирования. После добавления этой записи в файл web.config средство поиска людей на сайте зоны по умолчанию, использующей проверку подлинности Windows, получает возможность узнавать о поставщиках ADFS и, соответственно, обрабатывать заявки ADFS. Это позволяет выдавать разрешения по заявкам ADFS на сайте.
Предоставьте ADFS-заявке доступ к сайту, выполнив следующие действия:
Перейдите как администратор сайта к сайту зоны по умолчанию, использующей проверку подлинности Windows.
В меню Действия сайта выберите пункт Параметры сайта, а затем нажмите Дополнительные разрешения.
Щелкните Создать, затем Добавить пользователей.
Чтобы добавить заявку пользователя, укажите адрес электронной почты или имя участника-пользователя (UPN) в разделе Пользователи и группы. Если обе заявки (на UPN и на электронную почту) отправлены с федеративного сервера, то программа SharePoint будет использовать UPN для согласования с поставщиком контроля членства. Поэтому если вы хотите использовать электронную почту, то необходимо отключить заявку на UPN на федеративном сервере. Дополнительные сведения см. в статье "Работа с заявками на UPN и электронную почту".
Чтобы добавить заявку группы, введите имя заявки, которую нужно использовать сайту SharePoint, в разделе Пользователи и группы. Например, создайте заявку организационной группы под названием Корреспонденты Adatum на федеративном сервере. Добавьте заявку под названием Корреспондент Adatum для сайта Sharepoint тем же способом, которым добавляются пользователи и группы пользователей Windows. Эту заявку можно назначить группе Главные участники [участие], и тогда любой пользователь, получивший доступ к сайту SharePoint через эту групповую заявку, получит к сайту доступ уровня "Корреспондент".
Выберите соответствующий уровень доступа или группу SharePoint.
Нажмите кнопку ОК.
В любом текстовом редакторе откройте файл web.config для сайта экстрасети, и добавьте следующую запись в узел <configSections>.
<sectionGroup name="system.web">
<section name="websso" type="System.Web.Security.SingleSignOn.WebSsoConfigurationHandler, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />
</sectionGroup>
Добавьте в узел <httpModules> следующую запись
<add name="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />
Примечание
Модуль проверки подлинности ADFS всегда должен быть указан после модуля Sharepoint SPRequest в узле <httpModules> файла web.config. Безопаснее добавить его как последнюю запись раздела.
Добавьте следующую запись в любое место ниже узла <system.web>.
<membership defaultProvider="SingleSignOnMembershipProvider2">
<providers>
<add name="SingleSignOnMembershipProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider2">
<providers>
<add name="SingleSignOnRoleProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</roleManager>
<websso>
<authenticationrequired />
<auditlevel>55</auditlevel>
<urls>
<returnurl>https://your_application</returnurl>
</urls>
<fs>https://fs-server/adfs/fs/federationserverservice.asmx</fs>
<isSharePoint />
</websso>
Примечание
Измените значение fs-server на имя компьютера федеративного сервера, а значение your_application — на URL-адрес веб-приложения экстрасети.
Перейдите на веб-сайт https://extranet.treyresearch.net/ как пользователь ADFS, имеющий доступ к веб-сайту экстрасети.
Об использовании центра администрирования
Политику центра администрирования также можно использовать для предоставления прав пользователям ADFS, но этот метод не следует применять по следующим причинам:
Предоставление прав с помощью политики — это очень грубая операция. В таком случае пользователю (или группе пользователей) предоставляется одинаковый набор прав на каждом сайте, в каждом семействе сайтов всего веб-приложения. Этой возможностью стоит пользоваться очень осторожно; в данном конкретном случае можно предоставлять доступ пользователям ADFS без использования вышеописанного метода.
После использования сайтов в среде экстрасети весьма вероятно, что внутренние пользователи будут ответственными за предоставление доступа к сайтам и их контенту. Поскольку доступ к сайту центра администрирования имеют только администраторы ферм, внутренним пользователям имеет смысл добавлять ADFS-заявки из зоны по умолчанию для сайта, который использует проверку подлинности Windows.
Если для расширения веб-приложений используются различные поставщики, то можно настроить часть из них для предоставления возможности поиска пользователей и групп разных поставщиков, которые используются в данном веб-приложении. В таком случае сайт, использующий проверку подлинности Windows, настраивается таким образом, чтобы позволить пользователям одного сайта выбирать других пользователей Windows, группы Windows и ADFS-заявки.
Работа со средством выбора людей
Средство выбора людей не может выполнять поиск ролей по приблизительному названию. Если ввести в диалоговое окно поиска средства выбора людей значение Читать, то существующая роль поставщика ролей под названием "Читатели" найдена не будет. Однако она будет найдена, если ввести значение Читатели. Это не является ошибкой — поставщик ролей предусматривает только поиск по точному названию.
Исполняемые файлы командной строки, например stsadm.exe, по умолчанию не могут обрабатывать заявки ADFS. Предположим, требуется добавить нового пользователя к сайту экстрасети, используя команду stsadm.exe –o adduser. Чтобы получить возможность проверки пользователей с помощью файла Stsadm (или другого исполняемого файла), создайте новый файл настройки, выполнив следующие действия:
Создайте новый файл с именем stsadm.exe.config в каталоге, где размещен файл stsadm.exe (%programfiles%\Common Files\Microsoft Shared Debug\Web Server Extensions\12\BIN). Добавьте в файл stsadm.exe.config следующую запись:
<configuration>
<system.web>
<membership defaultProvider="SingleSignOnMembershipProvider2">
<providers>
<add name="SingleSignOnMembershipProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://fs-server/adfs/fs/federationserverservice.asmx" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider2">
<providers>
<add name="SingleSignOnRoleProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://fs-server/adfs/fs/federationserverservice.asmx" />
</providers>
</roleManager>
</system.web>
</configuration>
Примечание
Измените значение fs-server на имя федеративного сервера ресурсов (adfsresource.treyresearch.net).
Работа с заявками на электронную почту и UPN-имя
Чтобы настроить возможность федеративного сервера отправлять заявки на электронную почту и UPN-имя на Windows SharePoint Services 3.0, выполните следующую процедуру.
Настройка заявок на электронную почту и UPN-имя на федеративном сервере
В меню Администрирование на федеративном сервере откройте пункт оснастки ADFS.
Примечание
Оснастку ADFS можно также открыть, введя команду ADFS.MSC в диалоговом окне Выполнить.
Выберите узел созданного приложения Windows SharePoint Services 3.0 (оно уже должно быть добавлено в список приложений).
В списке заявок справа щелкните правой кнопкой мыши на пункт Электронная почта и выберите Включено или Выключено.
В списке заявок справа щелкните правой кнопкой мыши на пункт UPN-имя и выберите Включено или Выключено.
Примечание
Если обе функции включены, то Windows SharePoint Services 3.0 будет использовать для проверки заявки UPN-имя. Однако при настройке Windows SharePoint Services 3.0 необходимо тщательно следить за тем, заявки каких пользователей принимаются. Также следует учесть, что заявка на UPN-имя будет работать согласованно только в том случае, если UPN-суффиксы и суффиксы электронной почты, принятые федеративным сервером, совпадают. Так происходит потому, что поставщик контроля членства основывается на электронной почте. Из-за подобной сложности, возникающей при настройке заявок на UPN-имя, рекомендуется при настройке проверки подлинности членства использовать заявки пользователей на электронную почту.
Работа с заявками групп и подразделений
В службах Windows SharePoint Services 3.0 права могут быть назначены группам Active Directory путем их добавления в группу SharePoint или напрямую в уровень разрешения. Уровень разрешений того или иного пользователя на сайте определяется исходя из групп Active Directory, участником которых является пользователь, групп SharePoint, к которым принадлежит пользователь, и всех уровней разрешений, к которым непосредственно был добавлен пользователь.
При использовании ADFS в качестве поставщика ролей Windows SharePoint Services 3.0 процедура выглядит иначе. Веб-поставщик SSO не может напрямую выдавать разрешения группе Active Directory. Вместо этого он утверждает участие с помощью заявок организационных групп. При использовании ADFS с Windows SharePoint Services 3.0 необходимо создать набор заявок организационных групп в ADFS. Тогда можно связать несколько групп Active Directory с ADFS-заявкой организационной группы.
Чтобы заявки групп работали с новейшей версией ADFS, необходимо изменить файл web.config для приложения ADFS в службе IIS на сервере ADFS.
Откройте файл web.config и добавьте запись <getGroupClaims /> в узле <FederationServerConfiguration> внутри узла <System.Web>, как показано в следующем примере.
<configuration>
<system.web>
<FederationServerConfiguration>
<getGroupClaims />
</FederationServerConfiguration>
</system.web>
</configuration>
В лесе учетных записей Adatum выполните следующие действия:
Создайте группу Active Directory под названием "Читатели Trey SharePoint".
Создайте группу Active Directory под названием "Корреспонденты Trey SharePoint".
Добавьте Alansh в группу "Читатели" и Adamcar в группу "Корреспонденты".
Создайте заявку организационной группы под названием "Читатели Trey SharePoint".
Создайте заявку организационной группы под названием "Корреспонденты Trey SharePoint".
Щелкните правой кнопкой мыши на хранилище учетных записей Active Directory, затем выберите пункт Новое извлечение заявки о группе.
Выберите заявку организационной группы "Читатели Trey SharePoint" и свяжите ее с группой Active Directory "Читатели Trey SharePoint".
Повторите шаг 6, затем свяжите заявку о группе "Корреспонденты Trey SharePoint" с группой Active Directory "Корреспонденты Trey SharePoint".
Щелкните правой кнопкой мыши на партнере по учетным записям Trey Research, затем создайте сопоставление исходящих заявок:
Выберите заявку "Читатель Trey SharePoint", затем сопоставьте ее исходящей заявке adatum-trey-readers.
Выберите заявку "Корреспондент Trey SharePoint", затем сопоставьте ее исходящей заявке adatum-trey-contributors.
Примечание
Имена сопоставляемых заявок требуют согласования между организациями и должны точно совпадать.
На стороне Trey Research запустите ADFS.MSC, а затем выполните следующие действия:
Создайте заявку организационной группы под названием "Читатели Adatum SharePoint".
Создайте заявку организационной группы под названием "Корреспонденты Adatum SharePoint".
Создайте сопоставление входящих заявок о группе:
Щелкните правой кнопкой мыши по партнеру по учетным записям Adatum, затем щелкните Сопоставление входящей заявки о группе.
Выберите пункт "Читатели Adatum SharePoint", затем сопоставьте его с входящей заявкой под названием adatum-trey-readers.
Выберите пункт "Корреспонденты Adatum SharePoint", затем сопоставьте его с входящей заявкой под названием adatum-trey-contributors.
Щелкните правой кнопкой мыши на веб-приложении Windows SharePoint Services 3.0, затем щелкните Включено на обеих заявках (читателя и корреспондента).
Осмотрите сайт http://trey-moss на стороне Trey Research как администратор сайта и выполните следующее:
В меню Действия сайта перейдите к пункту Параметры сайта, а затем нажмите пункт Пользователи и группы.
Если нужное значение еще не выбрано, щелкните группу "Участники" данного сайта.
На панели сначала щелкните Создать, затем — Добавить пользователей.
Щелкните значок адресной книги рядом с полем Пользователи и группы.
В поле Найти диалогового окна средства выбора людей введите
Читатели Adatum SharePoint
В разделе Предоставление разрешения выберите пункт Посетители домашней страницы [читатели] группы SharePoint.
В поле Найти введите
Корреспонденты Adatum SharePoint
В разделе Предоставление разрешения выберите пункт Участники домашней страницы [участие] группы SharePoint.
Загрузите эту книгу
Для удобства чтения и печати этот раздел включен в следующую книгу, доступную для загрузки и печати:
Полный перечень доступных книг см. в Загружаемые книги для Windows SharePoint Services.