Настройка SSO через SAML 2.0 в Microsoft AD FS

Цель 
 Настройка единого входа (SSO) в Принтум через протокол SAML 2.0 с использованием Microsoft Active Directory Federation Services (AD FS) в качестве Identity Provider. 
 
 Предусловия 
 
 Windows Server 2012 или выше с актуальными обновлениями и патчами 
 SSL-сертификат для домена AD FS (самоподписанный или от доверенного центра сертификации) 
 DNS-запись для ADFS-сервера, например adfs.yourdomain.com (или FQDN домена, если ADFS развёрнут на контроллере домена) 
 Настроена интеграция с доменом в Принтум (пользователи импортированы) 
 Сопоставлены атрибуты домена, в том числе unique_id 
 
 
 Шаг 1. Подготовка сервера AD FS 
 DNS 
 
 Если ADFS разворачивается не на контроллере домена — создайте DNS-запись для сервера (например, adfs.yourdomain.com ). 
 Если ADFS разворачивается на контроллере домена — используйте FQDN-имя домена. Чтобы узнать FQDN: откройте оснастку «Active Directory — пользователи и компьютеры» , раскройте «Domain Controllers» , выберите запись компьютера, откройте свойства. В строке «DNS-имя» будет указана полная запись. 
 
 SSL-сертификат 
 
 Получите SSL-сертификат для вашего ADFS-домена: самоподписанный или от доверенного центра сертификации. 
 
 
 Шаг 2. Установка роли AD FS 
 
 Откройте Server Manager . 
 Выберите Add roles and features . 
 В мастере выберите Role-based or feature-based installation . 
 Выберите сервер из пула. 
 На странице выбора ролей выберите Active Directory Federation Services . 
 Следуйте инструкциям мастера и завершите установку. 
 
 
 Шаг 3. Настройка AD FS 
 
 После установки откройте AD FS Management из меню Administrative Tools . 
 В правой панели выберите Configure the federation service on this server . 
 Выберите Create the first federation server in a federation server farm . 
 Укажите имя вашего SSL-сертификата. 
 Укажите имя вашего ADFS-сервера (например, adfs.yourdomain.com ). 
 Укажите учётные данные администратора для создания базы данных конфигурации. 
 Выберите хранилище базы данных: SQL Server или встроенная база данных (Windows Internal Database). При выборе SQL Server убедитесь, что у вас есть соответствующие права и доступ. 
 Завершите мастер и перезагрузите сервер, если требуется. 
 
 Проверка статуса службы ADFS 
 Get-Service adfssrv
 
 Если сервис не запущен, выполните: 
 Start-Service adfssrv
 
 После завершения настройки будет доступен для скачивания файл метаданных IdP. 
 
 Шаг 4. Получение файла метаданных IdP 
 
 Перейдите в Диспетчер серверов → Средства → Управление AD FS . 
 В разделе «Отношения доверия проверяющей стороны» откройте настройку созданного ранее сервиса. 
 Во вкладке «Наблюдение» нажмите «Проверить URL-адрес» справа от строки адреса скачивания XML-файла с метаданными. 
 После успешной проверки скопируйте адрес, введите в браузере — файл метаданных будет скачан на ваш компьютер. 
 
 
 Шаг 5. Настройка SAML 2.0 в Принтум 
 
 Перейдите в раздел «Настройки доменной авторизации» в административной панели Мониторинга. 
 Нажмите «Добавить настройки доменной авторизации» . 
 Заполните поля:
 
 Тип — выберите SAML 2.0 . 
 Метаданные IdP — загрузите скачанный файл метаданных. 
 Приватный ключ и Сертификат — оставьте пустыми для автогенерации, либо загрузите свою пару ключ–сертификат. 
 
 
 Нажмите «Сохранить» . 
 В столбце «Метаданные SP» нажмите «Открыть» и сохраните данные в файл — это файл метаданных Service Provider для загрузки в AD FS. 
 
 
 Шаг 6. Добавление Relying Party Trust в AD FS 
 
 Откройте Управление AD FS : Диспетчер серверов → Средства → Управление AD FS . 
 Выберите «Отношения доверия проверяющей стороны» , затем «Добавить отношение проверяющей стороны» . 
 На первом шаге оставьте выбор «Поддерживающие утверждения» и нажмите «Запустить» . 
 На втором шаге выберите «Импорт данных о проверяющей стороне из файла» , загрузите файл метаданных SP (сохранённый на шаге 5). Нажмите «Далее» . 
 Введите произвольное название для отношения доверия и нажмите «Далее» . 
 Настройте политику управления доступом или оставьте значение по умолчанию. Нажмите «Далее» . 
 На финальном экране оставьте галочку «Настроить политику выдачи утверждений для данного приложения» активной и нажмите «Завершить» . 
 
 
 Шаг 7. Настройка правила выдачи утверждений (Claim Rules) 
 
 В открывшемся окне «Изменить политику подачи запросов» нажмите «Добавить правило» . 
 В поле «Шаблон правила утверждений» выберите «Отправка атрибутов LDAP как утверждений» , нажмите «Далее» . 
 Введите произвольное имя правила. 
 В поле «Хранилище атрибутов» выберите Active Directory . 
 В разделе «Сопоставление атрибутов» :
 
 В столбце «Атрибут LDAP» — укажите атрибут, сопоставленный с unique_id при настройке импорта из домена. По умолчанию для Active Directory — objectSid . 
 В столбце «Тип исходящего утверждения» — выберите «ИД имени» . 
 
 
 Нажмите «Готово» . 
 
 
 Результат 
 После успешной настройки в форме аутентификации в Личном кабинете или административной панели появится кнопка аутентификации через домен.