Настройки авторизации пользователей через ADFS
Авторизация пользователей по SSO осуществляется посредством сервиса ADFS. Взаимодействие между ADFS и Yva.ai осуществляется посредством Relying Party Trust (RPT) через SAML2 протокол. Скриншоты в данной инструкции сделаны в MS Windows Server 2012, однако в иных версиях ОС последовательность действий схожа.
Необходимые предварительные действия
Перед тем как перейти к настройке авторизаций через ADFS, необходимо убедиться, что все необходимое подготовлено. В рамках данного действия потребуется:
развернутая (Установка платформы Yva.ai (автономное решение), Установка Yva.ai в собственное облачное решение или Подключение к облачному решению Yva.ai) и настроенная (Первичная настройка системы (автономное решение)) платформа Yva.ai,
сервер Active Directory, где у всех пользователей присутствует атрибут email,
Microsoft Windows Server 2012 и новее,
SSL-сертификат для подписи страницы авторизации ADFS.
После того, как предварительные действия будут выполнены, нужно будет установить ADFS на сервер. Установка и конфигурирование ADFS выходит за рамки данной инструкции, но этот процесс подробно описан в статье от Microsoft.
Конфигурирование RPT
Взаимодействие между ADFS и Yva.ai осуществляется посредством Relying Party Trust (RPT).
Выберите каталог «Relying Party Trusts» в оснастке ADFS Management, и добавьте «Standard Relying Party Trust» из меню «Actions». Запустится мастер настройки нового доверенного приложения. В первом окне нажмите «Start».
На следующем шаге «Select Data Source» выберите вариант «Enter Data About the Party Manually».
Далее, в поле «Display name» введите название приложения. Здесь можно указать любое название, которое поможет вам в будущем идентифицировать приложение, например, Yva.
На следующем шаге активируйте переключатель «AD FS profile».
В следующем окне будет предложено изменить настройки сертификата. Оставьте всё по умолчанию.
На следующем шаге активируйте опцию «Enable Support for the SAML 2.0 WebSSO protocol». В поле URL введите адрес платформы, добавив к нему «/sso/saml2/consume».
https://адрес_вашей_yva/sso/saml2/consume - для On-Premise и Private Cloud
https://eeu.yva.app/sso/saml2/consume - для SaaS
Далее необходимо указать идентификатор, представляющий собой всё тот же URL платформы. (Обратите внимание, что в конце / должен отсутствовать)
https://адрес_вашей_yva - для On-Premise и Private Cloud
https://eeu.yva.app - для SaaS
На следующем шаге предлагается настроить мультифакторную авторизацию, однако подобная конфигурация лежит за рамками данной инструкции, потому мы пропускаем данный этап.
Затем необходимо активировать чек-бокс «Permit all users to access this relying party» для того, чтобы активировать приложение для пользователей.
На следующих двух экранах, мастер предложит проверить все сделанные настройки. Нажмите «Close» в последнем интерфейсе, чтобы выйти из мастера настройки и открыть редактор правил.
Создание правил обработки запросов (Claim rules)
После успешного завершения настройки RPT, необходимо сконфигурировать правила обработки запросов. По умолчанию, редактор правил открывается сразу по завершении работы Мастера настройки RPT. К настройкам можно вернуться в любой момент из оснастки управления ADFS.
Чтобы создать новое правило, нажмите «Add Rule». Для обеспечения взаимодействия Yva.ai с ADFS нужно создать правило из шаблона, который называется «Send LDAP Attributes as Claims». Для этого достаточно выбрать «Send LDAP Attributes as Claims» из выпадающего списка и нажать «Next».
В открывшемся окне, придумайте название для правила, а так же выберите «Active Directory» в качестве значения параметра «Attribute store», и произведите следующие настройки:
В столбце «LDAP Attribute», выберите «E-Mail Addresses».
В столбце «Outgoing Claim Type», выберите «Name ID».
Нажмите «Finish» для сохранения правила.
Для обеспечения взаимодействия Yva.ai с ADFS требуется создать ещё одно правило. Снова нажмите «Add Rule», и в этот раз выберите шаблон «Transform an Incoming Claim».
На следующем шаге:
Выберите «Issuer Name» в выпадающем списке «Incoming Claim Type».
Для «Outgoing Claim Type», выберите «Name ID».
Для «Outgoing Name ID Format», выберите «Persistent Identifier».
Переключатель установите в положение «Pass through all claim values».
Нажмите «Finish», а затем «OK» для сохранения правил.
Настройка приложения
После создания приложения и правил требуется дополнительно внести ряд изменений в конфигурацию RPT. Для доступа к тонким настройкам, выберите «Properties» из меню «Actions», выбрав RPT. На вкладке «Advanced», убедитесь, что в качестве алгоритма шифрования выбран «SHA-256».
На вкладке «Endpoints» щелкните «add SAML». В качестве «Endpoint type» выберите «SAML Logout». В выпадающем списке «Binding», выберите «POST». В качестве «Trusted URL» укажите адрес платформы, добавив к нему /sso/saml2/consume.
https://адрес_вашей_yva/sso/saml2/consume - для On-Premise и Private Cloud
https://eeu.yva.app/sso/saml2/consume - для SaaS
Получение сертификата x.509
Для настройки аутентификации также потребуется публичный сертификат ADFS. Для его получения нужно из оснастки ADFS перейти в «Service - Certificates». Выбрать «Token-signing» сертификат, дважды щелкнуть по нему и перейти во вкладку «Details». Нажать «Copy To File…».
В открывшемся окне нажать «Next», выбрать «Base-64 encoded X.509 (.CER)» нажать «Next» и сохранить сертификат. Открыть сохраненный файл при помощи блокнота и скопировать содержимое между «-----BEGIN CERTIFICATE-----» и «-----END CERTIFICATE-----».
Этот сертификат потребуется в процессе настройки аутентификации со стороны платформы.
Настройка платформы
В первую очередь необходимо убедиться, что SAML2 аутентификация позволена в административной части платформы на вкладке «General settings - Single sign-on». Для этого чек-бокс «Allow SAML2 login» должен быть включен.
Далее, для того, чтобы внести настройки на стороне платформы, необходимо перейти в раздел «Администрирование - Настройка единого входа» в рабочем пространстве (dashboard) вашей Yva.ai.
Примечание: для доступа к данному разделу потребуется учетная запись с ролью администратор
Далее необходимо заполнить предложенные поля.
В качестве поставщика удостоверений выбираем Microsoft Active Directory.
URL единого входа - адрес, по которому ADFS ожидает подключения для прохождения SSO-аутентификации. Присваивается в процессе конфигурации ADFS на Windows-сервере. По умолчанию, параметр формируется из адреса сервера с добавлением adfs/ls (например, https://company.com/adfs/ls).
URL издателя - адрес, с которого будет приходить запрос на авторизацию. Совпадает с параметром URL платформы.
https://адрес_вашей_yva/ - для On-Premises и Private Cloud
https://eeu.yva.app/ - для SaaS
Список доменов - адреса которых могут участвовать в sso. Совпадает со списком доменов почтового сервера MS Exchange в компании.
Сертификат X.509 - сертификат, требующийся для аутентификации приложения на сервере с ADFS. Представляет собой публичную часть ключа шифрования, применённого на сервере ADFS в формате X.509.