Служба федерации — компонент служб федерации Active Directory (ADFS), который может быть установлен независимо от остальных компонентов ADFS. Служба федерации работает как служба маркеров безопасности. Компьютер, на котором установлена служба федерации, становится сервером федерации. При этом на данном компьютере также становится доступным пункт Оснастка cлужб федерации Active Directory в меню Администрирование.
Служба федерации использует Active Directory для создания маркеров в ответ на запросы о маркерах безопасности. Это позволяет доменам и лесам Active Directory функционировать как:
- Поставщики подлинности, которые могут создавать федеративные
связи с совместимыми партнерами по учетным записям и партнерами по
ресурсам. Как поставщик подлинности служба федерации может
транслировать сведения о подлинности Active Directory через
Интернет, взаимодействуя с приложениями совместимых поставщиков
услуг.
- Поставщики услуг, которые могут создавать федеративные связи с
совместимыми партнерами по учетным записям и партнерами по
ресурсам. Как поставщик услуг служба федерации может принимать
сведения о подлинности от других организаций для обращения к
приложениям Windows и ASP.NET партнера.
- Поставщики маркеров безопасности для приложений, совместимых со
спецификацией WS-F PRP (WS-Federation Passive Requestor
Profile).
Как партнер по учетным записям служба федерации позволяет пользователям Active Directory обращаться к ресурсам в организациях-партнерах. В ответ на запрос от партнера по ресурсам служба федерации собирает и проверяет учетные данные пользователя в Active Directory или ADAM (Active Directory Application Mode). После этого служба федерации может заполнить набор заявок организации в соответствии с атрибутами протокола LDAP (Lightweight Directory Access Protocol) учетной записи пользователя. Заявки организации затем сопоставляются с соответствующими заявками партнера по ресурсам и упаковываются в маркер безопасности, который подписывается в соответствии с сертификатом, подписанным маркером службы федерации. Итоговый маркер безопасности отправляется как ответ на исходный запрос партнера по ресурсам. Партнер по ресурсам затем использует данный маркер, разрешая доступ пользователю.
Как партнер по ресурсам служба федерации выполняет противоположные функции. Когда пользователь пытается обратиться к приложению, защищенному ADFS, служба федерации определяет, какой партнер по учетным записям должен проверить подлинность пользователя. После этого она отправляет этому партнеру запрос на проверку подлинности. Когда пользовательские учетные данные возвращаются с маркером безопасности, служба федерации проверяет, правильно ли маркер был подписан партнером. Затем она извлекает заявки из маркера. Заявки сопоставляются с заявками организации и к ним применяется политика фильтрования для определенного приложения. Отфильтрованные заявки организации упаковываются в маркер безопасности, который либо подписывается сертификатом для подписи маркера службы федерации, либо защищается ключом Kerberos для сеанса веб-приложения. Итоговый маркер безопасности отправляется по исходному адресу URL (Uniform Resource Locator) приложения. Приложение затем использует данный маркер, разрешая доступ пользователю.
Для переноса Заявки в маркерах безопасности, создаваемых службой федерации для веб-приложения, ADFS использует протокол WS-F PRP. Дополнительные сведения о спецификации WS-F PRP см. в разделе Ресурсы ADFS.
Первоначально эти заявки заполняются из Хранилища учетных записей — Active Directory либо ADAM. Служба федерации создает маркеры на основании предоставленных учетных данных. После проверки учетных данных средствами хранилища учетных записей заявки для пользователя генерируются согласно правилам политики доверия. Полученные входящие заявки сопоставляются с исходящими заявками, применимыми для партнера по ресурсам. Результирующие сопоставления заявок добавляются к маркеру безопасности, созданному для партнера по ресурсам. Дополнительные сведения см. в разделе Сопоставление заявок.
После проверки маркера для веб-обозревателя клиента создается и записывается файл «cookie» для проверки подлинности. Этот файл «cookie» используется службой федерации каждый раз, когда требуется проверка подлинности клиента, чтобы клиенту для входа не нужно было повторно вводить свои учетные данные. Таким образом обеспечивается механизм единого входа (single sign-on, SSO). Дополнительные сведения см. в разделе Файлы «cookie», используемые службой ADFS.
Веб-страницы службы федерации
Служба федерации открывает веб-страницу, в которой пользователю предлагается выбрать партнера по учетным записям, для доступа к которому пользователь может отправить свои учетные данные. Кроме того, в службе федерации имеется веб-страница, которая запрашивает такие учетные данные пользователя, как имя пользователя и пароль, для проверки подлинности в формах. Есть также веб-страница, поддерживающая встроенную проверку подлинности Windows.
Работу этих веб-страниц службы федерации обеспечивает веб-служба Microsoft ASP.NET, которая обрабатывает запросы клиента или прокси-агента федерации. Прокси-агент федерации расположен в периферийной сети. Он действует как посредник между клиентом Интернета и службой федерации в интрасети. Дополнительные сведения о прокси-агентах федерации см. в разделе Роли сервера ADFS.
Служба федерации отвечает на два базовых типа запросов:
- запросы о создании маркеров безопасности;
- запросы об отборе данных политики доверия.
Обнаружение партнера по учетным записям
Обнаружение партнера по учетным записям — процесс определения клиентом партнера по учетным записям, предпочтительного для проверки подлинности, если настроено более одного партнера по учетным записям. Сервер федерации предоставляет этот выбор в веб-обозревателе клиента в виде раскрывающегося списка, содержащего имена партнеров по учетным записям, настроенным в политике доверия.
Чтобы избежать необходимости обнаружения партнера по
учетным записям, можно в строку запроса ресурса, к которому
выполняется обращение, включить параметр whr
,
например,
https://webserver/testapp/testpage.aspx?whr=urn:federation:<
партнер_по_учетным_записям>, где
<партнер_по_учетным_записям> определяет сферу партнера
по учетным записям клиента.
Когда используется параметр whr
,
веб-сервер удаляет параметр и записывает в веб-обозреватель клиента
файл «сookie», чтобы использовать эту настройку для будущих
запросов. После этого запрос действует таким же образом, как если
бы этот параметр не вводился.