Настройки авторизации пользователей через 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).
![image19_ru](https://www.yva.ai/hs-fs/hubfs/image19_ru.png?width=668&name=image19_ru.png)
Выберите каталог «Relying Party Trusts» в оснастке ADFS Management, и добавьте «Standard Relying Party Trust» из меню «Actions». Запустится мастер настройки нового доверенного приложения. В первом окне нажмите «Start».
![image9_ru](../ru/1505624129/image9_ru.png%3Fwidth=681&name=image9_ru.png?inst-v=de4edd6a-48a1-4fca-b558-aceb66be33a6)
На следующем шаге «Select Data Source» выберите вариант «Enter Data About the Party Manually».
![image20_ru](../ru/1505624129/image20_ru.png%3Fwidth=670&name=image20_ru.png?inst-v=de4edd6a-48a1-4fca-b558-aceb66be33a6)
Далее, в поле «Display name» введите название приложения. Здесь можно указать любое название, которое поможет вам в будущем идентифицировать приложение, например, Yva.
![image10_ru](../ru/1505624129/image10_ru.png%3Fwidth=682&name=image10_ru.png?inst-v=de4edd6a-48a1-4fca-b558-aceb66be33a6)
На следующем шаге активируйте переключатель «AD FS profile».
![image1_ru](../ru/1505624129/image1_ru.png%3Fwidth=668&name=image1_ru.png?inst-v=de4edd6a-48a1-4fca-b558-aceb66be33a6)
В следующем окне будет предложено изменить настройки сертификата. Оставьте всё по умолчанию.
![image6_ru](../ru/1505624129/image6_ru.png%3Fwidth=665&name=image6_ru.png?inst-v=de4edd6a-48a1-4fca-b558-aceb66be33a6)
На следующем шаге активируйте опцию «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
![image17_ru](../ru/1505624129/image17_ru.png%3Fwidth=664&name=image17_ru.png?inst-v=de4edd6a-48a1-4fca-b558-aceb66be33a6)
Далее необходимо указать идентификатор, представляющий собой всё тот же URL платформы. (Обратите внимание, что в конце / должен отсутствовать)
https://адрес_вашей_yva - для On-Premise и Private Cloud
https://eeu.yva.app - для SaaS
![photo_2021-08-16_13-23-27](https://www.yva.ai/hs-fs/hubfs/photo_2021-08-16_13-23-27.jpg?width=688&name=photo_2021-08-16_13-23-27.jpg)
На следующем шаге предлагается настроить мультифакторную авторизацию, однако подобная конфигурация лежит за рамками данной инструкции, потому мы пропускаем данный этап.
![image8_ru](../ru/1505624129/image8_ru.png%3Fwidth=667&name=image8_ru.png?inst-v=de4edd6a-48a1-4fca-b558-aceb66be33a6)
Затем необходимо активировать чек-бокс «Permit all users to access this relying party» для того, чтобы активировать приложение для пользователей.
![image4_ru](../ru/1505624129/image4_ru.png%3Fwidth=672&name=image4_ru.png?inst-v=de4edd6a-48a1-4fca-b558-aceb66be33a6)
На следующих двух экранах, мастер предложит проверить все сделанные настройки. Нажмите «Close» в последнем интерфейсе, чтобы выйти из мастера настройки и открыть редактор правил.
![image15_ru](../ru/1505624129/image15_ru.png%3Fwidth=676&name=image15_ru.png?inst-v=de4edd6a-48a1-4fca-b558-aceb66be33a6)
![image18_ru](../ru/1505624129/image18_ru.png%3Fwidth=675&name=image18_ru.png?inst-v=de4edd6a-48a1-4fca-b558-aceb66be33a6)
Создание правил обработки запросов (Claim rules)
После успешного завершения настройки RPT, необходимо сконфигурировать правила обработки запросов. По умолчанию, редактор правил открывается сразу по завершении работы Мастера настройки RPT. К настройкам можно вернуться в любой момент из оснастки управления ADFS.
![image5_ru](https://www.yva.ai/hs-fs/hubfs/image5_ru.png?width=379&name=image5_ru.png)
Чтобы создать новое правило, нажмите «Add Rule». Для обеспечения взаимодействия Yva.ai с ADFS нужно создать правило из шаблона, который называется «Send LDAP Attributes as Claims». Для этого достаточно выбрать «Send LDAP Attributes as Claims» из выпадающего списка и нажать «Next».
![image3_ru](../ru/1505624129/image3_ru.png%3Fwidth=667&name=image3_ru.png?inst-v=de4edd6a-48a1-4fca-b558-aceb66be33a6)
В открывшемся окне, придумайте название для правила, а так же выберите «Active Directory» в качестве значения параметра «Attribute store», и произведите следующие настройки:
В столбце «LDAP Attribute», выберите «E-Mail Addresses».
В столбце «Outgoing Claim Type», выберите «Name ID».
Нажмите «Finish» для сохранения правила.
![image21_ru](../ru/1505624129/image21_ru.png%3Fwidth=673&name=image21_ru.png?inst-v=de4edd6a-48a1-4fca-b558-aceb66be33a6)
Для обеспечения взаимодействия Yva.ai с ADFS требуется создать ещё одно правило. Снова нажмите «Add Rule», и в этот раз выберите шаблон «Transform an Incoming Claim».
![image13_ru](../ru/1505624129/image13_ru.png%3Fwidth=668&name=image13_ru.png?inst-v=de4edd6a-48a1-4fca-b558-aceb66be33a6)
На следующем шаге:
Выберите «Issuer Name» в выпадающем списке «Incoming Claim Type».
Для «Outgoing Claim Type», выберите «Name ID».
Для «Outgoing Name ID Format», выберите «Persistent Identifier».
Переключатель установите в положение «Pass through all claim values».
![image11_ru](../ru/1505624129/image11_ru.png%3Fwidth=457&name=image11_ru.png?inst-v=de4edd6a-48a1-4fca-b558-aceb66be33a6)
Нажмите «Finish», а затем «OK» для сохранения правил.
Настройка приложения
После создания приложения и правил требуется дополнительно внести ряд изменений в конфигурацию RPT. Для доступа к тонким настройкам, выберите «Properties» из меню «Actions», выбрав RPT. На вкладке «Advanced», убедитесь, что в качестве алгоритма шифрования выбран «SHA-256».
![image12_ru](https://www.yva.ai/hs-fs/hubfs/image12_ru.png?width=399&name=image12_ru.png)
На вкладке «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
![image14_ru](../ru/1505624129/image14_ru.png%3Fwidth=369&name=image14_ru.png?inst-v=de4edd6a-48a1-4fca-b558-aceb66be33a6)
Получение сертификата x.509
Для настройки аутентификации также потребуется публичный сертификат ADFS. Для его получения нужно из оснастки ADFS перейти в «Service - Certificates». Выбрать «Token-signing» сертификат, дважды щелкнуть по нему и перейти во вкладку «Details». Нажать «Copy To File…».
![image2_ru](https://www.yva.ai/hs-fs/hubfs/image2_ru.png?width=374&name=image2_ru.png)
В открывшемся окне нажать «Next», выбрать «Base-64 encoded X.509 (.CER)» нажать «Next» и сохранить сертификат. Открыть сохраненный файл при помощи блокнота и скопировать содержимое между «-----BEGIN CERTIFICATE-----» и «-----END CERTIFICATE-----».
Этот сертификат потребуется в процессе настройки аутентификации со стороны платформы.
Настройка платформы
В первую очередь необходимо убедиться, что SAML2 аутентификация позволена в административной части платформы на вкладке «General settings - Single sign-on». Для этого чек-бокс «Allow SAML2 login» должен быть включен.
![04_ru](https://www.yva.ai/hs-fs/hubfs/04_ru.jpg?width=600&name=04_ru.jpg)
Далее, для того, чтобы внести настройки на стороне платформы, необходимо перейти в раздел «Администрирование - Настройка единого входа» в рабочем пространстве (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.
![sso1_ru](../ru/1505624129/sso1_ru.png%3Fwidth=397&name=sso1_ru.png?inst-v=de4edd6a-48a1-4fca-b558-aceb66be33a6)