Поэтому мне сказали, что нашему PHP-приложению может потребоваться поддержка аутентификации с использованием ADFS.
Что такое ADFS для человека не из Microsoft?
Как это отличается от таких вещей, как LDAP?
Как это работает? Какого рода информация будет включена в типичный запрос к серверу ADFS? Он предназначен как для аутентификации, так и для авторизации?
Доступны ли серверы ADFS из Интернета (тогда как корпоративные контроллеры домена AD не будут)?
Я попытался прочитать некоторые из документов Technet, но в них много разговоров с Microsoft, что не очень полезно.
Википедия лучше (см. Ниже), но, возможно, некоторые из сообщества ServerFault могут заполнить некоторые пробелы.
Службы федерации Active Directory (ADFS) - это программный компонент, разработанный Microsoft, который можно установить в операционных системах Windows Server, чтобы предоставить пользователям единый вход в системы и приложения, расположенные за пределами организации. Он использует модель авторизации управления доступом на основе утверждений для обеспечения безопасности приложений и реализации федеративной идентификации.
Аутентификация на основе утверждений - это процесс аутентификации пользователя на основе набора утверждений о его идентичности, содержащихся в доверенном токене.
В ADFS федерация удостоверений устанавливается между двумя организациями путем установления доверия между двумя областями безопасности. Сервер федерации с одной стороны (сторона Учетных записей) аутентифицирует пользователя с помощью стандартных средств в доменных службах Active Directory, а затем выдает токен, содержащий серию утверждений о пользователе, включая его удостоверение. С другой стороны, со стороны Ресурсов, другой сервер федерации проверяет токен и выдает другой токен для локальных серверов, чтобы принять заявленную идентификацию. Это позволяет системе предоставлять контролируемый доступ к ее ресурсам или услугам пользователю, который принадлежит к другой области безопасности, не требуя от пользователя аутентификации непосредственно в системе, и без того, чтобы две системы совместно использовали базу данных идентификаторов пользователей или паролей.
На практике этот подход обычно воспринимается пользователем следующим образом:
- Пользователь входит в свой локальный компьютер (как обычно, когда он начинает работать утром)
- Пользователю необходимо получить информацию на веб-сайте экстрасети компании-партнера, например, для получения информации о ценах или сведениях о продукте.
- Пользователь переходит на сайт экстрасети компании-партнера - например, http://example.com.
- Веб-сайт партнера теперь не требует ввода пароля - вместо этого учетные данные пользователя передаются на сайт экстрасети партнера с помощью AD FS.
- Теперь пользователь вошел на сайт партнера и может взаимодействовать с сайтом, вошедшим в систему.
С https://en.wikipedia.org/wiki/Active_Directory_Federation_Services
источник
Ответы:
ADFS - это решение Microsoft для единого входа и аутентификации через Интернет.
Он используется главным образом для предоставления единого набора учетных данных, которые могут получить доступ к множеству сайтов, не обязательно размещенных в одном домене.
LDAP:
mod_authnz_ldap
.ADFS:
Смотрите также этот ответ по этому вопросу.
Он работает, имея один сайт (сайт A), на котором размещены прокси-серверы ADFS / ADFS, который имеет доступ к учетным данным (обычно путем связи с контроллером домена Active Directory). Затем ему предоставляется доверие между другими сайтами (сайтами B & C), которые требуют аутентификации через ADFS.
Когда пользователь пытается получить доступ к сайту B в своем браузере, сайт перенаправляет пользователя на веб-сайт ADFS-прокси (сайт A), который запрашивает их имя пользователя и пароль, аутентифицирует их, возвращает набор файлов cookie для их запоминания и перенаправляет их вернуться на сайт B вместе с токеном доступа.
Если пользователь затем попытается посетить сайт C, он также будет перенаправлен на сайт A для проверки подлинности с веб-сайта ADFS-прокси. Если правильные файлы cookie существуют, пользователю не нужно будет снова вводить свой пароль, но он сразу же перенаправляется обратно на сайт C с токеном.
ADFS может быть настроен с конкретными утверждениями (или разрешениями) для пользователя в целях авторизации. Так что он может выполнять обе роли. (Обратите внимание на разницу между аутентификацией и авторизацией .)
Некоторые люди предпочитают не использовать его для авторизации, а вместо этого сохраняют управление разрешениями на стороннем веб-сайте. Очевидным недостатком является то, что оба сайта A & B должны отслеживать учетные записи пользователей, в то время как в сценарии, где ADFS обрабатывает оба, только ADFS должна знать о пользователях.
Да почти всегда ADFS основана на том, что она будет в основном использоваться для аутентификации на сайте. И построен вокруг IIS.
Сайт ADFS-прокси обычно доступен из Интернета. Однако сама ADFS нет. ADFS обычно является отдельным сервером от ADFS-прокси.
который связывается с учетными данными и имеет конфигурацию утверждений, а также доверительные отношения. Как правило, не общедоступно.
котором размещен экземпляр IIS, на котором имеются страницы входа для веб-сайтов, требующих проверки подлинности. Связывается обратно с ADFS, когда требуется аутентификация. Общедоступный.
источник