Настройка AD FS в Windows Server 2012 R2

В этой статье я покажу процесс установки и настройки Служб федерации Active Directory (AD FS), которые становятся все более востребованы в самых различных сценариях.

Что важно сказать про AD FS, так это то, что коль уж этот сервис обеспечивает аутентификацию через “публичные” сети (что может быть использовано для организации Single Sign-on), то используется не привычный Kerberos, а новомодные Claims (CBA). Разумеется, передаваемые данные зашифрованы (используется SSL 3.0).

В качестве Claims Provider Trust, я буду использовать AD DS, хотя теоретически, это может быть и другой LDAP-каталог. В качестве Relying Party Trusts я буду использовать Azure, Office 365, Exchange, SharePoint, Lync, а также другие приложения – в новых статьях будут отсылки к этой.

Что касается системных требований, они предельно скромны: 1GHz vCPU, 1Gb vRAM, 20Gb vHDD (slow SATA storage) вполне достаточно. Дополнительных лицензий клиентского доступа не требуется, и если на хосте установлен Windows Server, то лицензирование вполне может обойтись в $0.

Устанавливать AD FS теоретически можно на сервера с другими ролями, но лучше выделить отдельный сервер, учитывая что и ресурсы, и лицензии минимальны.

Пример, почему плохо совмещать: есть сервер, на нем установлен IIS, сайты IIS подписан сертификатом server.local.domain, устанавливается AD FS, подписывается сертификатом adfs.internet.domain , после этого при попытке доступа AD FS предсказуемо будет подписываться сертификатом server.local.domain , что неправильно. Также, не поддерживается совмещение с ролями Remote Access.

На сервере AD FS соблазнительно отключить GUI, но этого делать не стоит: консоль AD FS Management отсутствует в RSAT, так что управление будет осуществляться только через сеанс на сервере AD FS. Если Вы найдете способ удаленного управления AD FS, сообщите об этом в комментариях.

Итак, начнем с установки роли: 

Add-WindowsFeature ADFS-Federation

Перед тем как приступать к настройке, нужно получить сертификат, которым будут подписаны как службы AD FS, так и публикуемые с помощью Web Application Proxy сервисы. Отсюда очевидно, что сертификат либо должен содержать полный перечень публикуемых сервисов (что правильнее), либо быть wildcard (что проще).

Разумеется, лучше использовать коммерческий сертификат, но работать будет и сертификат, выданный корпоративным ЦС. Что касается самоподписанных сертификатов, то создать можно как обычно – с помощью IIS, работать с внешними сервисами (например, Office 365) будет – проверенно.

Вот пример запроса который я оправлял своему корпоративному ЦС, обратите внимание, я использовал “муху” в имени исключительно с целью демо, в продуктивной среде такое не всегда допустимо:

02

Отнеситесь к сертификату серьезно – на работающей с-ме замена сложна, вплоть до переустановки ролей AD FS и WAP, что влечет за собой повторную публикацию сервисов.

Теперь можем запустить мастер настройки, который предельно прост, укажем полученный ранее сертификат:

51

Установка должна проводится с правами администратора домена, также будет создана учетная запись с правами пользователя домена (я использовал созданную заранее учетку adfs_svc):

52

Укажем параметры внешней БД (достаточно Database Engine):

53

В итоге:

54

Если Вы решили использовать WID можно заглянуть в Windows Internal Database:

41

После того, как настройка окончена, нужно позаботится чтобы клиенты внутри сети могли обнаруживать “внешнее” имя сервиса:

55

Внешние клиенты, разумеется, должны доступаться по внешнему адресу:

56

Теперь, можно проверить сервис по ссылке https://sso.mars.biz.ua/adfs/ls/IdpInitiatedSignon.aspx

57

Для внешних пользователей будет выдано окно входа:

58

Для того, чтобы пользователи на доменных ПК не вводили пароль вручную (но нажать кнопку “Вход” все-таки придется), https://sso.mars.biz.ua нужно добавить в Trusted Sites, например с помощью групповой политики:

59

На этом, базовую установку и настройку AD FS можно считать оконченной.

Надеюсь озвученная информация будет полезной, а если нужна будет помощь — используйте форму на главной странице моего сайта.