Интеграция со службой каталогов

Подключение и настройка SSO

Single Sign-On (SSO) позволяет использовать для авторизации внешние службы. Это позволяет настраивать авторизацию в корпоративных сервисах наряду с обычными методами аутентификации, предоставляемыми локальной базой данных. SSO использует язык разметки SAML (Security Assertion Markup Language) для обмена данными между поставщиком учетных записей (identity provider) и поставщиками услуг (service provider). Эта процедура может быть реализована на основе службы ADFS 2.0.

Чтобы настроить SSO в системе, необходимо:

  1. Настроить подключение SAML.
  2. Указать значение true для системного свойства simple.sso.active.

Для настройки необходимо обладать ролью admin

Этапы настройки SSO:

  1. Создание отношения доверия с проверяющей стороной ADFS.
  2. Создать правила проверяющей стороны ADFS.
  3. (необязательно) Создать конечную точку выхода SAML.
  4. Создать подключение SAML.
  5. Проверить соединение.

Создание доверия проверяющей стороны ADFS

В качестве примера в инструкции будет использоваться экземпляр instance.example.com. При выполнении последовательности действий необходимо использовать реальный адрес экземпляра, для которого производится настройка.

На первом этапе требуется подготовить файл, содержащий мета-данные. Для этого необходимо:

  1. Перейдите к https://instance.example.com/v1/saml/metadata.
  2. Скопируйте метаданные в новый файл с расширением XML.
  3. Сохраните файл.

Следующий этап – настройка проверяющий стороны ADFS. Для этого необходимо:

  1. Войдите на сервер ADFS и откройте консоль управления.
  2. Выберите Relying Party Trusts.
  3. Щелкните Add Relying Party Trust в правом верхнем углу и нажмите кнопку Start.
  4. Выберите параметр Import data about the relying party from a file.
  5. Укажите отображаемое имя и при необходимости введите некоторые заметки.
  6. Не выбирайте сертификат шифрования.
  7. Укажите разрешения пользователя для этой проверяющей стороны. По умолчанию разрешены все пользователи. Нажмите кнопку Next.
  8. Нажмите кнопку Next еще раз, а затем кнопку Close. Появится новое доверие проверяющей стороны.

Также возможно провести настройку проверяющей стороны вручную:

  1. Войдите на сервер ADFS и откройте консоль управления.
  2. Выберите Relying Party Trusts .
  3. Нажмите сначала кнопку Add Relying Party Trust в правом верхнем углу, а затем – кнопку Start.
  4. Укажите параметр Enter data about the relying data manually.
  5. Укажите отображаемое имя и при необходимости введите некоторые заметки.
  6. Не выбирайте сертификат шифрования.
  7. Выберите Enable support for the SAML 2.0 WebSSO protocol.
  8. Тип https://instance.example.com/adfs/fs
  9. Укажите идентификаторы проверяющей стороны
  10. Тип https://instance.example.com/adfs/services/trust
  11. Укажите разрешения пользователя для этой проверяющей стороны. По умолчанию разрешены все пользователи. Нажмите кнопку Next.
  12. Нажмите кнопку Next еще раз, а затем кнопку Close. Появится новое доверие проверяющей стороны.

Создание правила проверяющей стороны ADFS

Правила проверяющей стороны помогают установить связь между инфраструктурой ADFS и экземпляром SimpleOne. Чтобы настроить эти правила следуйте инструкции ниже.

  1. Войдите на сервер ADFS и откройте консоль управления.
  2. Щелкните правой кнопкой мыши на доверие проверяющей стороны, созданное ранее.
  3. Выберите элемент Edit Claim Issuance Policy.
  4. Нажмите кнопку Add Rule.
  5. Выберите параметр Send LDAP Attribute as Claims и нажмите кнопку Next.
  6. Присвойте утверждению имя. Например, Get LDAP Attributes.
  7. Введите значения, перечисленные ниже:
  8. Attribute store = Active directory
  9. LDAP Attribute = E-Mail-Addresses
  10. Outgoing Claim Type = E-mail Address
  11. Нажмите кнопку Finish.
  12. Нажмите еще раз кнопку Add Rules.
  13. Выберите параметр Transform an Incoming Claim и нажмите кнопку Next.
  14. Присвойте утверждению имя, например Email2Name.
  15. Задайте Incoming claim type равным типу исходящего утверждения в предыдущем правиле. Например, Email Address.
  16. Установите значения, перечисленные ниже:
  17. Outgoing claim type = Name ID
  18. Outgoing name ID format = Email
  19. Выберите параметр Pass through all claim values.
  20. Нажмите кнопку Finish.
  21. Нажмите кнопку ОК, чтобы закрыть окно.

Создание конечной точки выхода

Как правило, конечные точки выхода SAML создаются автоматически в рамках создания доверия проверяющей стороны. При необходимости их можно создавать или редактировать вручную. Для этого выполните следующие действия:

  1. Войдите на сервер ADFS и откройте консоль управления.
  2. Щелкните правой кнопкой мыши доверие проверяющей стороны, созданное ранее.
  3. Перейдите на вкладку Endpoints.
  4. Нажмите кнопку Add SAML.
  5. Введите значения, перечисленные ниже:
  6. Endpoint type = SAML Logout
  7. Binding = POST
  8. Trusted URL = https://instance.example.com/logout
  9. Нажмите кнопку ОК.

Создание подключения SAML

Чтобы настроить подключение SAML, выполните следующие действия:

  1. Перейдите к разделу Single Sign-On → SAML Definition.
  2. Нажмите New и заполните поля из таблицы ниже.
  3. Нажмите кнопку Save или Save and Exit, чтобы применить изменения.
Поле Обязательность Описание
Name - Название SAML-подключения
User field + Поле в таблице User, содержащее сведения для идентификации пользователя. Доступные опции:
  • Email
  • Username
  • ID|
    |Active|-|Активно подключение или нет|
    |SAML Server Metadata tab|
    |Metadata URL|+|Внешний URL-адрес, предоставленный поставщиком услуг для проверки подлинности. По этому адресу находится XML-файл, содержащий метаданные Федерации. Как правило, в большинстве случаев этот файл называется federationmetada.xml. Большинство служб каталогов, таких как Active Directory, предоставляют ссылку на этот файл через консоль управления.|
    |Metadata|-|Автоматически заполняется содержимым файла federationmetadata.xml.|

Проверка соединения

Чтобы проверить настройку конфигурации, выполните следующие действия:

  1. Перейдите на экземпляр SimpleOne, например, https://instance.example.com в режиме инкогнито. Если настройка была произведена корректно, Вы будете перенаправлены на страницу https://adfs.example.com/adfs/ls/IdpInitiatedSignon.aspx?logintoRP=https://instance.example.com/
  2. Войдите в свой экземпляр
  3. Выберите Logout в меню профиля, чтобы проверить функциональность завершения пользовательской сессии.

Подключение и настройка LDAP

Интеграция с LDAP позволяет подключить экземпляр к серверам LDAP или Active Directory (далее – AD) и использовать их в качестве источника пользовательских данных. Благодаря этому можно синхронизировать экземпляр SimpleOne с другими корпоративными сервисами для использования одной учетной записи в каждой из них.

Видео по настройке подключения к Active Directory и импорту пользователей:

Инструкция по настройке аутентификации с помощью Keycloak

Для настройки необходимо обладать ролью admin.

  1. Указать значение true для системного свойства simple.sso.active.
  2. Настроить SAML подключение
  3. Создать SAML подключение:
    1. Перейти через навигатор на форму создания Single Sign-On (SSO) → SAML Definition → New
    2. В поле Name указать произвольное название
    3. В поле User Field выбрать поле Email
    4. В разделе SAML Server Metadata в поле Metadata URL добавить ссылку на метаданные в формате .xml из Keycloack
    5. Сохранить форму

При сохранении формы возможны ошибки: Unsupported KeyInfo type : SimpleSAML ** XMLSecutity ** XML ** ds ** KeyName » и «Saving error »

Ошибки возникают из-за того, что система не может обработать метаданные из-за неправильной последовательности тегов. Для решения необходимо отредактировать файл с метаданными. Переместите потомка ds:KeyName как указано на скриншотах ниже:

После необходимо заново указать ссылку на отредактированный файл метаданных в записи SAML-подключения и повторить сохранение записи.

В случае успешной обработки мы получим метаданные:

  1. Настроить Keycloack
  2. Создать клиента (скриншоты 3.1 – 3.5)
    1. В поле Client ID указать ссылку на ваш экземпляр по примеру: «https://your-instance.simpleone.ru»
    2. В поле Client Protocol выбрать «saml »
    3. Все переключатели кроме Enabled перевести в состояние OFF
    4. В поле Login Theme выбрать «keycloack »
    5. В поле Client Protocol выбрать «saml »
    6. В поле Name ID Format выбрать «username»
    7. В поле Base URL указать ссылку на экземпляр по примеру: «https://your-instance.simpleone.ru/auth-sso»
    8. В поле Master SAML Processing URL указать ссылку на экземпляр по примеру: «https://your-instance.simpleone.ru/auth-sso»
    9. Остальные поля оставить без изменений (см. скриншоты)
  3. Настроить маппинг (скриншоты 3.1 – 3.5)
    1. Перейти на вкладку Mappers и нажать на кнопку Create
    2. В поле Name указать «email »
    3. В поле Mapper Type выбрать «User Attribute»
    4. В поле User Attribute указать «email»
    5. В поле Friendly Name указать «mail »
    6. В поле SAML Attribute Name указать «mail»
    7. В поле Aggregate Attribute NameFormat выбрать «URI Reference»
  4. Создать пользователя (скриншоты 3.6 – 3.10)
    1. В левом меню выбрать раздел Users и нажать на кнопку Add User
    2. Заполнить поля Username и Email и нажать кнопку Save
    Убедитесь, что на экземпляре существует пользователь с таким же email адресом.
    3. Перейти на вкладку Credentials , заполнить поля Password и Password Confirmation и нажать кнопку Set Password

Скриншот 3.1

Скриншот 3.2

Скриншот 3.3

Скриншот 3.4

Скриншот 3.5

Скриншот 3.6

Скриншот 3.7

Скриншот 3.8

Скриншот 3.9

Скриншот 3.10

3 лайка