Поделиться через


Настройка проверки подлинности службой единого входа с использованием служб ADFS (Office SharePoint Server)

Содержание:

  • О федеративных системах проверки подлинности

  • Подготовка к работе

  • Настройка веб-приложений экстрасети для использования веб-проверки подлинности SSO

  • Предоставление пользователям доступа к сайту экстрасети

  • Работа со средством выбора людей

  • Работа с заявками на электронную почту и UPN-имя

  • Работа с заявками групп и подразделений

О федеративных системах проверки подлинности

Службы Microsoft Office SharePoint Server 2007 предусматривают поддержку федеративных сценариев проверки подлинности, в которых система проверки подлинности не размещается на компьютере, где установлены службы Office SharePoint Server 2007. Федеративные системы проверки подлинности также называют системами единого входа (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) (на английском языке) .

  • Пошаговая инструкция для служб федерации Active Directory (https://go.microsoft.com/fwlink/?linkid=145396&clcid=0x419). Имена серверов и примеры, использованные в этой статье, взяты из пошаговой инструкции, в которой описывается настройка служб ADFS в небольшой лабораторной среде. В этой среде новый сервер Trey-SharePoint подключен к лесу Trey Research. Для настройки инфраструктуры ADFS выполните действия пошаговой инструкции. Однако поскольку статья описывает настройку служб Office SharePoint Server 2007 в режиме приложения по заявкам, не нужно выполнять все пункты пошаговой инструкции для построения приложений агентов маркеров Windows NT.

Примечание

При использовании средства выбора людей для добавления пользователей в Windows SharePoint Services 3.0, Windows SharePoint Services 3.0 проверяет пользователей через службу, которой в данном примере является ADFS. Поэтому перед настройкой Windows SharePoint Services 3.0 необходимо сначала настроить сервер федерации.

Важно!

Процесс настройки захвачен в файл VBScript, который можно использовать при конфигурировании Office SharePoint Server 2007 для использования ADFS при проверке подлинности. Этот файл сценария находится в архиве (SetupSharePointADFS.zip) и открывается из блога продуктов и технологий Microsoft SharePoint, указанного в разделе Вложения. Дополнительные сведения см. на странице блога A script to configure SharePoint to use ADFS for authentication (на английском языке).

Настройка веб-приложений экстрасети для использования системы веб-проверки подлинности SSO

  1. Установите веб-агент для приложений по заявкам.

  2. Загрузите и установите исправления для ADFS, описанные в статье Поставщик ролей и поставщик контроля членства не могут быть вызваны из Windows SharePoint Services 3.0 на компьютере с Windows Server 2003 R2, на котором работают ADFS и Microsoft Windows SharePoint Services 3.0 (на английском языке) (http https://go.microsoft.com/fwlink/?linkid=145397&clcid=0x419). Это исправление будет включено в пакет обновления 2 (SP2) для Windows Server 2003.

  3. Установите службы Office SharePoint Server 2007, настройте все службы и серверы фермы, после чего создайте новое веб-приложение. По умолчанию это веб-приложение будет настроено для использования проверки подлинности Windows и станет точкой входа, через которую пользователи интрасети будут получать доступ к сайту. В примере, который рассматривается в данной статье, имя сайта — http://trey-moss.

  4. Расширьте веб-приложение, созданное во втором шаге, в другую зону. На странице Управление приложениями сайта центра администрирования SharePoint щелкните Создание или расширение веб-приложения, затем Расширить существующее веб-приложение и выполните следующие действия:

    1. Добавьте заголовок сайта, то есть DNS-имя, под которым сайт будет известен пользователям экстрасети. В данном примере именем служит extranet.treyresearch.net.

    2. Измените зону на экстрасеть.

    3. Задайте заголовок сайта, который будет настроен для определения в DNS пользователями экстрасети.

    4. Щелкните Использовать протокол SSL и измените номер порта на 443. Для ADFS требуется, чтобы сайты были настроены для использования протокола SSL.

    5. В поле URL-адрес домена со сбалансированной нагрузкой удалите запись :443. Службы Internet Information Services (IIS) будут автоматически использовать порт 443, потому что он был указан в предыдущем шаге.

    6. Выполните оставшиеся на странице шаги для окончания расширения веб-приложения.

  5. На странице "Сопоставления для альтернативного доступа" убедитесь, что URL-адреса выглядят аналогично следующей таблице.

    Внутренний URL-адрес Зона Общедоступный URL-адрес для зоны

    http://trey-moss

    Default (По умолчанию)

    http://trey-moss

    https://extranet.treyresearch.net/

    Extranet (Экстрасеть)

    https://extranet.treyresearch.net/

  6. Добавьте SSL-сертификат на сайт экстрасети служб IIS. Удостоверьтесь, что данный SSL-сертификат выдан extranet.treyresearch.net, потому что это имя будут использовать клиенты для доступа к сайту.

  7. Настройте поставщик проверки подлинности, чтобы использовать веб-службу SSO для зоны экстрасети веб-приложения. Для этого выполните следующие действия:

    1. На странице "Управление приложениями" центра администрирования сайта фермы щелкните Поставщики проверки подлинности.

    2. Щелкните Изменить в правом верхнем углу страницы, затем выберите веб-приложение, в котором следует включить веб-службу SSO.

    3. В списке двух зон, которые отображены для данного веб-приложения (у обеих должно быть указано слово Windows), нажмите ссылку Windows для зоны экстрасети.

    4. В разделе Тип проверки подлинности щелкните Единый вход.

    5. В поле Имя поставщика контроля членства введите значение

      SingleSignOnMembershipProvider2

      Возьмите на заметку это значение. Его надо будет добавить в элемент имени раздела <membership> файлов web.config, которые будут изменяться далее в данной процедуре.

    6. В поле Имя управляющего ролями введите значение

      SingleSignOnRoleProvider2

      Возьмите на заметку это значение. Его надо будет добавить в элемент имени раздела <roleManager> файлов web.config, которые будут изменяться далее в данной процедуре.

    7. Убедитесь, что для параметра Включить интеграцию клиентов указано значение Нет.

    8. Нажмите кнопку Сохранить.

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

Примечание

После того, как веб-служба SSO выбрана в качестве поставщика проверки подлинности, в службе IIS автоматически включается анонимная проверка подлинности для сайта SharePoint (от пользователя не требуется никаких действий). Этот параметр необходим сайту для разрешения доступа только по заявкам.

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

  1. В текстовом редакторе откройте файл web.config для сайта зоны по умолчанию, использующей проверку подлинности Windows.

  2. Следующую запись вставьте везде в узле <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>

  3. Измените значение fs-server на адрес сервера федерации ресурсов (adfsresource.treyresearch.net). Убедитесь, что введены корректные имена поставщика ролей и поставщика контроля членства на странице поставщика проверки подлинности в центре администрирования. После добавления этой записи в файл web.config средство поиска людей на сайте зоны по умолчанию, использующей проверку подлинности Windows, получает возможность узнавать о поставщиках ADFS и, соответственно, обрабатывать заявки ADFS. Это позволяет выдавать разрешения по заявкам ADFS на сайте.

  4. Предоставьте ADFS-заявке доступ к сайту, выполнив следующие действия:

    1. Перейдите как администратор сайта к сайту зоны по умолчанию, использующей проверку подлинности Windows.

    2. В меню Действия сайта выберите пункт Параметры сайта, а затем щелкните Дополнительные разрешения.

    3. Щелкните Создать, затем Добавить пользователей.

    4. Чтобы добавить заявку пользователя, укажите адрес электронной почты или имя участника-пользователя (UPN) в разделе Пользователи и группы. Если обе заявки (на UPN и на электронную почту) отправлены с федеративного сервера, то программа SharePoint будет использовать UPN для согласования с поставщиком контроля членства. Поэтому если вы хотите использовать электронную почту, то необходимо отключить заявку на UPN на федеративном сервере. Дополнительные сведения см. в статье "Работа с заявками на UPN и электронную почту".

    5. Чтобы добавить заявку группы, введите имя заявки, которую нужно использовать сайту SharePoint, в разделе Пользователи и группы. Например, создайте заявку организационной группы под названием Корреспонденты Adatum на федеративном сервере. Добавьте заявку под названием Корреспондент Adatum для сайта SharePoint тем же способом, которым добавляются пользователи и группы пользователей Windows. Для заявки можно назначить заявку группе Главные участники [участие], и тогда любой пользователь, получивший доступ к сайту SharePoint через эту групповую заявку, получит к сайту доступ уровня "Корреспондент".

    6. Выберите соответствующий уровень доступа или группу SharePoint.

    7. Нажмите кнопку ОК.

  5. В любом текстовом редакторе откройте файл 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>

  6. Добавьте в узел <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. Безопаснее добавить его как последнюю запись раздела.

  7. Добавьте следующую запись в любое место ниже узла <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-адрес веб-приложения экстрасети.

  8. Перейдите на веб-сайт https://extranet.treyresearch.net/ как пользователь ADFS, имеющий доступ к веб-сайту экстрасети.

Об использовании центра администрирования

Политику центра администрирования также можно использовать для предоставления прав пользователям ADFS, но этот метод не следует применять по следующим причинам:

  • Предоставление прав с помощью политики — это очень грубая операция. В таком случае пользователю (или группе пользователей) предоставляется одинаковый набор прав на каждом сайте, в каждом семействе сайтов всего веб-приложения. Этой возможностью стоит пользоваться очень осторожно; в данном конкретном случае можно предоставлять доступ пользователям ADFS без использования вышеописанного метода.

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

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

Работа со cредством выбора людей

Средство выбора людей не может выполнять поиск ролей по приблизительному названию. Если ввести в диалоговое окно поиска средства выбора людей значение Читать, то существующая роль поставщика ролей под названием "Читатели" найдена не будет. Однако она будет найдена, если ввести значение Читатели. Это не является ошибкой — поставщик ролей предусматривает только поиск по точному названию.

Исполняемые файлы командной строки, например 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-имя на Office SharePoint Server 2007, выполните следующий порядок действий.

  1. В меню Администрирование на федеративном сервере откройте пункт оснастки ADFS.

    Примечание

    Оснастку ADFS можно также открыть, введя команду ADFS.MSC в диалоговом окне Выполнить.

  2. Выберите узел приложения Office SharePoint Server 2007 (оно уже должно быть добавлено в список сайтов).

  3. В списке заявок справа щелкните правой кнопкой мыши Электронная почта и выберите Включено или Выключено.

  4. В списке заявок справа щелкните правой кнопкой мыши UPN-имя и выберите Включено или Выключено.

    Примечание

    Если обе функции включены, то Office SharePoint Server 2007 будет использовать для проверки заявки UPN-имя. Однако при настройке Office SharePoint Server 2007 необходимо тщательно следить за тем, заявки каких пользователей принимаются. Также следует учесть, что заявка на UPN-имя будет работать согласованно только в том случае, если UPN-суффиксы и суффиксы электронной почты, принятые федеративным сервером, совпадают. Так происходит потому, что поставщик контроля членства основывается на электронной почте. Из-за подобной сложности, возникающей при настройке заявок на UPN-имя, рекомендуется при настройке проверки подлинности членства использовать заявки пользователей на электронную почту.

Работа с заявками групп и подразделений

В службах Office SharePoint Server 2007 права могут быть назначены группам Active Directory путем их добавления в группу SharePoint или напрямую в уровень разрешения. Уровень разрешений того или иного пользователя на сайте определяется исходя из групп Active Directory, участником которых является пользователь, групп SharePoint, к которым принадлежит пользователь, и всех уровней разрешений, к которым непосредственно был добавлен пользователь.

При использовании ADFS в качестве поставщика ролей Office SharePoint Server 2007 последовательность действий будет другой. Веб-поставщик единого входа не может напрямую выдавать разрешения группе Active Directory. Вместо этого он разрешает группы с помощью групп подразделений. При использовании ADFS в службах Office SharePoint Server 2007 необходимо создать набор заявок подразделений в 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 выполните следующие действия:

  1. Создайте группу Active Directory под названием "Читатели Trey SharePoint".

  2. Создайте группу Active Directory под названием "Корреспонденты Trey SharePoint".

  3. Добавьте Alansh в группу "Читатели" и Adamcar в группу "Корреспонденты".

  4. Создайте заявку организационной группы под названием "Читатели Trey SharePoint".

  5. Создайте заявку организационной группы под названием "Корреспонденты Trey SharePoint".

  6. Щелкните правой кнопкой мыши на хранилище учетных записей Active Directory, затем выберите пункт Новое извлечение заявки о группе.

    1. Выберите заявку организационной группы "Читатели Trey SharePoint" и свяжите ее с группой Active Directory "Читатели Trey SharePoint".

    2. Повторите шаг 6, затем свяжите заявку подразделения "Корреспонденты Trey SharePoint" с группой Active Directory "Корреспонденты Trey SharePoint".

  7. Щелкните правой кнопкой мыши на партнере по учетным записям Trey Research, затем создайте сопоставление исходящих заявок:

    1. Выберите заявку "Читатель Trey SharePoint", затем сопоставьте ее исходящей заявке adatum-trey-readers.

    2. Выберите заявку "Корреспондент Trey SharePoint", затем сопоставьте ее исходящей заявке adatum-trey-contributors.

Примечание

Имена сопоставляемых заявок требуют согласования между организациями и должны точно совпадать.

На стороне Trey Research запустите ADFS.MSC, а затем выполните следующие действия:

  1. Создайте заявку организационной группы под названием "Читатели Adatum SharePoint".

  2. Создайте заявку организационной группы под названием "Корреспонденты Adatum SharePoint".

  3. Создайте сопоставление входящих заявок о группе:

    1. Щелкните правой кнопкой мыши по партнеру по учетным записям Adatum, затем щелкните Сопоставление входящей заявки о группе.

    2. Выберите пункт "Читатели Adatum SharePoint", затем сопоставьте его с входящей заявкой под названием adatum-trey-readers.

    3. Выберите пункт "Корреспонденты Adatum SharePoint", затем сопоставьте его с входящей заявкой под названием adatum-trey-contributors.

  4. Щелкните правой кнопкой мыши веб-приложение Office SharePoint Server 2007, затем щелкните Включить для обоих заявок (читателя и корреспондента).

Осмотрите сайт http://trey-moss на стороне Trey Research как администратор сайта и выполните следующее:

  1. В меню Действия сайта укажите Параметры сайта, а затем щелкните Пользователи и группы.

  2. Если нужное значение еще не выбрано, щелкните группу "Участники" данного сайта.

  3. На панели сначала щелкните Создать, затем — Добавить пользователей.

  4. Щелкните значок адресной книги рядом с полем Пользователи и группы.

  5. В поле Найти диалогового окна средства выбора людей введите

    Читатели Adatum SharePoint

    В разделе Предоставление разрешения выберите пункт Посетители домашней страницы [читатели] группы SharePoint.

  6. В поле Найти введите

    Корреспонденты Adatum SharePoint

    В разделе Предоставление разрешения выберите пункт Участники домашней страницы [участие] группы SharePoint.

Загрузите эту книгу

Этот раздел включен в следующую загружаемую книгу для удобства чтения и печати:

Полный список доступных книг приведен в разделе Техническая библиотека Office SharePoint Server.