Интеграция с ADFS SSO

Статья по теме (основные моменты и описание параметров здесь):

 


Внимание! В данной статье приведены примерные настройки для одной из конкретных конфигураций ADFS. Тем не менее, конфигурации могут быть разные и, соответственно, настройки могут отличаться, поэтому их нужно осуществлять под свой ADFS. 


 

Интеграция ADFS SSO c HelpDeskEddy

  • Подключить SSO интеграцию (добавить SSO соединение) возможно в разделе Управление -> Безопасность/Авторизация -> Единый вход в систему (SSO)

  • Должна быть установлена и настроена служба ADFS

Настройки на стороне ADFS:

1 - Запускаем оснастку ADFS

2 - Переходим к "Отношения доверия проверяющей стороны" и запускаем мастер добавления:

На пункте выбора источника данных выбираем пункт 1 (импорт данных о проверяющей стороне, опубликованных в интернете или локальной сети):
И подставляем в него метадату (Audience EntityID) из созданного SSO соединения в HDE:

И благодаря метаданным инфо о соединении со стороны HDE подтянутся в ADFS 

На пункте - Выбрать политику управление доступом выбираем - Разрешение для каждого:

в остальном жмем далее

 

После этого необходимо будет добавить правила преобразования выдачи для только что созданной политики отношения доверия:

выбираем пункт Отправка утверждений с помощью настраиваемого правила:

Названия правил могут быть какими угодно. Важна лишь их последовательность и что правила разделены на 2 правила:

1 правило:

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
=> issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"), query = ";mail;{0}", param = c.Value);

2 правило:

c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"]
=> issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress");

 

Заполнение параметров на стороне HDE:

В службе ADFS используется 3 сертификата.

Первый создается для работы службы, 2 и 3 добавляет сама служба.

Третий по списку сертификат нам нужен для указания в SSO HDE:

Остальные параметры должны быть аналогичными и меняться будет только домен:

Issuer URL - https://domain/adfs/services/trust

SAML 2.0 Endpoint (HTTP) - https://domain/adfs/ls

SLO Endpoint (HTTP) - https://domain/adfs/ls/?wa=wsignout1.0

 

Заметка:

- в случае возникновения ошибки "Error: invalid_response.; Reason: Invalid issuer in the Assertion/Response (expected 'https://domain/adfs/services/trust', got 'http://domain/adfs/services/trust').; Not authenticated" поставить Issuer URL с http в => Issuer URL - http://domain/adfs/services/trust

 

После сохранения всех настроек войти в систему через ADFS SSO можно на странице входа через отдельную кнопку входа: