Единый вход в систему - SSO SAML интеграция с HelpDeskEddy (OneLogin, Okta)

  1. Общая информация по технологии
  2. Базовая информация по интеграции
  3. Пример 1: HDE + OneLogin
  4. Пример 2: HDE + Okta

 

1 ОБЩАЯ ИНФОРМАЦИЯ

SSO (Single Sign-On) - технология единого входа пользователей, благодаря которой владея одной лишь учетной записью пользователь может посещать множество различных сервисов.

SAML - это популярный XML-протокол для реализации SSO. Как правило используется в больших организациях (enterprise) как проверенный и надежный вариант. В организациях где централизованно ведется актуальная база пользователей, вводятся свои политики безопасности и т.п. Соответственно и доступ к контенту в сервисе становится более безопасным и контролируемым.

 

В аутентификации через SAML SSO участвует три стороны:

  • SAML identity Provider (IdP)
  • SAML Service Provider (SP)
  • браузер пользователя (User Agent)

Сама схема взаимодействия представлена на рисунке ниже:

 

 

Более подробно с технологией можно ознакомиться на просторах интернета.

 

2 БАЗОВАЯ ИНФОРМАЦИЯ:

  • Логин происходит по почте, NameID описан в metadata
  • Имеются 3 кастомных параметра (необязательные, если не указать - они не будут обновляться):
    • group_id - число, позволяет менять группу на авторизации
    • organization - строка, организация меняется на авторизации
    • name - строка, полное имя, может меняется на авторизации

Авторизовать можно двумя способами:

  • логин из системы - дополнительная кнопка входа в систему на форме входа

 

 

  • авторизация из самого сервиса

 

 

3. Пример подключения интеграции через сервис OneLogin (onelogin.com)

На текущий момент выполнить интеграцию с HelpDeskEddy возможно через настройку и подключение тестового коннектора SSO SAML, предоставленного сервисом OneLogin. В планах имеется добавление собственного приложения-коннектора HelpDeskEddу  и интеграция таким образом упростится до нескольких кликов.

 

1. Создаем аккаунт в сервисе OneLogin (почта может быть только в корпоративном домене, никаких gmail или mail.ru)

2. Переходим в Администрирование:

 

 

3. И добавляем приложение:

 

 

4. Ищем в поиске по saml test и выбираем SAML Test Connector (Advanced):

 

 

5. Далее необходимо будет задать название коннектора, по необходимости его описание и сохранить.

 

 

6. После сохранения станут доступны другие настройки коннектора. 

Затронем основные настройки, касающиеся интеграции с HelpDeskEddy.

Настройки на стороне сервиса OneLogin, которые берутся их HDE (SP)

 

 

  1. RelayState (не обязательное) -  ссылка для перенаправления в случае если авторизация была из сервиса. Можно оставлять пустой, а можно например указать прямую ссылку на Омниканальность или КБ (если есть необходимость).
  2. Audience (EntityID) - поле куда вставляем metadata из HDE, он же "Audience Restriction" вставляем поле "Audience (EntityID)" из SSO соединения в HDE.
  3. Recipient - приёмник вызовов на логин, он же - "Single Sign On URL" или "ACS" или "Assertion consumer service URL", в  это поле вставляем "Assertion consumer service URL (ACS)" из HDE.
  4. ACS (Consumer) URL Validator* - валидатор ссылки (защита). По умолчанию ставим .* (точка + звездочка)
  5. ACS (Consumer) URL* - вызов на логин от сервиса. В это поле добавляем "Assertion consumer service URL (ACS)" из HDE.
  6. Single Logout URL - ссылка для вызова на logout (выход), это "Single logout URL" из HDE. На эту ссылку уходит вызов при выходе из сервиса в фоне (везде работает по разному) . Также на эту ссылку переходит пользователь после успешного выхода через кнопку логаута в HDE

 

Эти данные берутся из HDE создав SSO соединение:

 

 

Настройки на стороне HDE (ldP), которые берутся их OneLogin (Applications - Connector - SSO):

 

 

Использована терминология Onelogin, поля указаны цифрами для удобства

  1. Issuer URL -  метаинформация, по этой ссылке находятся все нужные точки для соединения. В HDE поле называется также.
  2. SAML 2.0 Endpoint (HTTP) - ссылка, по которой HDE направляет пользователя для авторизации в сервисе. В HDE поле называется также.
  3. SLO Endpoint (HTTP) - ссылка, по которой HDE отправляет выход из системы. В HDE поле называется также.
  4. Cертификат - есть и другие методы защиты, но на текущий момент в HDE используется только X.509 Certificate

Добавляем эти данные в SSO соединение в HDE:

 

 

7. Кастомные поля HDE + OneLogin:

 

 

 

 

4. Пример подключения интеграции через сервис Okta (okta.com)

 

1. Регистрируемся, заходим в аккаунт и создаем приложение

 

 

 

 

 

 

 

 

 

 

 

Настройки Okta:

1) Single sign on URL - ссылка на вход в сервис, это "Assertion consumer service (ACS)" в HDE. Если галочку здесь не ставим - появится еще одно поле Recipient URL - его тоже можно заполнить той же ссылкой. 

2) Audience URI (SP Entity ID) - метадата,  вставляем поле "Audience (EntityID)" из HDE.

3) Single Logout URL - okta не интересны выходы со стороны HDE. НО они могут выкинуть пользователя из системы когда выходишь с их приложения, соответственно настройка по желанию (можно не использовать) - поле Single logout service (SLS) из HDE. Так как Okta не поддерживает полноценно SLO, можно вставить ссылку с окончанием /slo вместо /sls . Разница будет в том, что пользователь сразу вылетит из системы, а если на стороне HDE ссылка SLO не указана - просто произойдёт переход на старт HDE.

4) SP Issuer  - поле Single logout service (SLS) из HDE. Он обязательный если используется SLO.

5) Сертификат, его нужно скачать если используем SLO и закинуть в 6 пункт.

6) Поле загрузки сертификата из пункта 5. 

 

Настройки в HDE.

Необходимые для внесение настройки на стороне HDE можно найти в настройках созданного приложения:

1) RelayState - это поле можно не указывать. Если указать - туда будет перенаправлен пользователь после авторизации в HDE.

2) Ссылка на метадату и сертификат. При переходе на View Setup Instructions откроются необходимые нам данные (см. следующий скриншот)

далее переходим в инструкции.

3) Ставим email.

 

View Setup Instructions:

 

2.1) Identity Provider Single Sign-On URL = SAML 2.0 Endpoint (HTTP) в HDE

2.2) Identity Provider Single Logout URL = SLO Endpoint (HTTP) в HDE

2.3) Identity Provider Issuer = Issuer URL в HDE

2.4) Сертификат -  вставляем сертификат в HDE

 

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