Перейти к основному содержимому
Версия: 7.0

Конфигурация SSO с JaCarta Identity Provider (JIP)

осторожно

Перед настройкой SSO убедитесь, что в config.env параметр APP_URL соответствует текущему домену Пассворка, пример — APP_URL=https://passwork.example.com. Это нужно, чтобы IDP смог скачать metadata. Также сервер Пассворка должен работать по HTTPS протоколу.

Пассворк выступает в роли Service Provider (SP), а JaCarta (JIP) в роли Identity Provider (IDP). Клиенты SAML, роли и профили SSO создаются в JaCarta (JMS) и синхронизируются в JIP.

Для примера используются следующие имена серверов:

  • Консоль управления JMS (JaCarta Management System) — jms.example.com:5000
  • Web-консоль сервера JIP (JaCarta Identity Provider) — jip.example.com:5030
  • Web-приложение JIP (SAML endpoints) — jip.example.com:28100
  • Сервер Пассворка (SP) — passwork.example.com

Создание роли в JMS

Роль требуется для учётной записи, от имени которой JIP обращается к JMS (чтение клиентов SSO, профилей и каталога учётных записей).

Открыть веб-консоль JMS https://jms.example.com:5000 и перейти в — РолиСоздать роль:

Создание роли Администратор JIP в консоли JMS
Права для роли

Обслуживание сервера

  • Чтение конфигурации сервера;
  • Чтение из каталога учетных записей;
  • Чтение контейнера ресурсной системы.

Пользователи

  • Чтение.

Профили

  • Чтение типов профилей;
  • Чтение экземпляров профилей.

SSO: Клиенты OIDC

  • Получение списка клиентов OIDC;
  • Получение клиента OIDC по идентификатору.

SSO: Клиенты SAML

  • Получение списка клиентов SAML;
  • Получение клиента SAML по идентификатору.

Назначить созданную роль учётной записи сервиса JIP (которая указана в web-консоли сервера JIP в настройках подключения к JMS):

Добавление учётной записи в роль Администратор JIP

Создание клиента SAML в JMS

В консоли JMS перейти в — SSOКлиенты SAMLСоздать:

Пример заполненных свойств клиента SAML sp-passwork

В Пассворке открыть Настройки и пользователиНастройки SSO и скопировать значения для заполнения клиента:

https://passwork.example.com/api/v1/sso/metadata
Свойства клиента SAML

Основные

  • Названиеsp-passwork
  • ID клиента (Issuer)https://passwork.example.com/api/v1/sso/metadata
  • Включён — включено

Безопасность

  • Способ определения адресов клиентаУказать вручную
  • Адреса Single Logout Service
    • Location — https://passwork.example.com/api/v1/sso/sls
    • Binding Type — Redirect
    • Response Location — https://passwork.example.com/api/v1/sso/sls
  • Адреса Assertion Consumer Service
    • Location — https://passwork.example.com/api/v1/sso/acs
    • Binding Type — Post
    • Использовать по умолчанию — включено
  • NameId Policy FormatUnspecified

Создание профиля SSO

В профиле SSO задаётся, для каких пользователь действует единый вход и какие методы аутентификации будет использовать JIP (пароль, OTP и т.д.).

В консоли JMS перейти в — ПрофилиСоздатьПрофиль SSO:

Создание профиля SSO в консоли JMS

Выполнить следующие действия:

  • Имяsso-profile-passwork
  • Клиенты SSOsp-passwork
  • Стратегии входа — задать нужные методы аутентификации пользователя в JIP:
    • OTP (через JAS)
    • Password
  • Требуется повторная аутентификацияНет
Создание профиля SSO: клиент sp-passwork и стратегии входа Password и OTP

Настройка правил обработки запросов от SP (Пассворка) в IDP (JIP)

осторожно

В зависимости от требуемого вида логина пользователя в Пассворке, вы можете настроить правила обработки так, чтобы формат пользователя мог быть следующим:

На вкладке Утверждения SAML настроить соответствие атрибутов каталога (AD/LDAP) и SAML-утверждений, которые получит Пассворк. NameID, а также дополнительные атрибуты displayName и emailAddress.

Настройка правил обработки для username формата

На вкладке Утверждения SAML добавить утверждения и заполнить:

  • NameID:
    • Тип значенияПользовательский
    • Пользовательский атрибут.sAMAccountName
  • displayName:
    • Тип значенияПользовательский
    • Пользовательский атрибут.displayName
  • emailAddress:
    • Тип значенияПользовательский
    • Пользовательский атрибут.mail
Утверждения SAML: NameID через sAMAccountName, displayName и emailAddress
Настройка правил обработки для username@example.com формата

На вкладке Утверждения SAML добавить утверждения и заполнить:

  • NameID:
    • Тип значенияПользовательский
    • Пользовательский атрибут.userPrincipalName
  • displayName:
    • Тип значенияПользовательский
    • Пользовательский атрибут.displayName
  • emailAddress:
    • Тип значенияПользовательский
    • Пользовательский атрибут.mail
Утверждения SAML: NameID через UPN, displayName и emailAddress

Привязка профиля к дереву AD/LDAP

Назначить созданный SSO профиль на весь домен или определённую OU (AD/LDAP):

Назначение профиля SSO sso-profile-passwork на OU в дереве ресурсной системы

Синхронизация клиентов и профиля SSO в JIP

После создания или изменения клиента SAML и профиля SSO, на сервере с JIP необходимо выполнить синхронизацию метаданных:

jip-agent sync start --scope metadata

Проверить статус:

jip-agent sync status

Настройка и заполнение параметров единого входа (SSO) в Пассворке

Заполнение значений «Атрибуты пользователя»

Авторизоваться в веб-интерфейсе Пассворка, перейти в — Настройки и пользователиНастройки SSO и заполнить атрибуты сопоставления в соответствии с утверждениями из профиля SSO:

  • Атрибут электронной почты — emailAddress;
  • Атрибут полного имени — displayName.

Заполнение значений «Поставщик удостоверений → Пассворк»

Открыть web-консоль сервера JIP — https://jip.example.com:5030 и перейти в — Конфигурация сервераSSOSAML:

Параметры SAML в web-консоли сервера JIP для заполнения в Пассворке
к сведению

Убедиться, что включена Поддержка протокола SAML

Открыть — Настройки и пользователиНастройки SSO и заполнить поля значениями из web-консоли JIP:

Параметр в JIPПараметр в Пассворке
Издатель токенаИдентификатор (Entity ID)
Адрес single sign-onURL ответа (URL службы обработчика утверждений)
Адрес single sign-outURL выхода

Заполнение значения «Сертификат»

Сертификат подписи SAML скопировать из метаданных JIP — https://jip.example.com:28100/saml/metadata значение из элемента X509Certificate (base64 без заголовков):

https://jip.example.com:28100/saml/metadata
Пример xml вывода
Пример xml вывода метаданных SAML JIP

Скопированный сертификат поместить в поле Сертификат в — Настройки и пользователиНастройки SSO:

Открыть окно авторизации в веб-интерфейсе Пассворка и выполнить вход через SSO для проверки корректной настройки.

Выполнить аутентификацию в Пассворке с помощью SSO