Naumen Service Management Platform (SMP)
Naumen Service Management Platform (SMP)
Naumen SMP (https://www.naumen.ru/products/smp/) — это сервисная платформа для управления IT-сервисами и бизнес-процессами.
Подключение Naumen SMP к Blitz Identity Provider выполняется по протоколу OpenID Connect (OIDC) и состоит из двух этапов:
- Этап 1. Настройки на стороне Blitz Identity Provider
- Этап 2. Настройки на стороне Naumen SMP
В инструкции указано, что Naumen SMP расположен на домене https://smp.example.ru, а Blitz IDP установлен на домене https://login.company.com. Уточните ваши адреса перед применением инструкции.
Этап 1 (настройка Blitz IDP) выполняется первым, так как при настройке Naumen SMP потребуется client_secret, который генерируется при создании приложения в Blitz Identity Provider.
Этап 1. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:
-
Создайте новое приложение, задав его базовые настройки:
- Идентификатор (client_id):
naumen-smp - Название:
Naumen SMP - Домен:
https://smp.example.ru
- Идентификатор (client_id):
-
Нажмите Сохранить.
-
Далее нажмите кнопку Параметры у приложения Naumen SMP и отредактируйте параметры:
- Протоколы: выберите
OpenID Connect / OAuth 2.0и нажмите Сконфигурировать
Далее в параметрах укажите следующие данные:
-
Секрет (client_secret): сгенерируйте и сохраните безопасный секрет — его нужно будет указать в
external-settings.xmlв тэге client_secret -
Предопределенная ссылка возврата (redirect_uri):
https://smp.example.ru/sd -
Префиксы ссылок возврата (redirect URIs):
https://smp.example.ru/https://smp.example.ru/sd
-
Допустимые разрешения (scopes):
openidprofile
-
Тип выдачи авторизации (response type):
code(Authorization Code Flow) -
Метод отправки client_secret:
client_secret_basic(Basic Authentication)
- Протоколы: выберите
-
Нажмите Сохранить.
-
Скопируйте полученный client_secret — он потребуется на следующем этапе для настройки Naumen SMP.
-
Создайте пользователя для последующей авторизации в Naumen SMP:
-
Перейдите в раздел Пользователи в левой панели консоли управления
-
Нажмите кнопку Создать учётную запись пользователя
-
Заполните поля на форме:
Поле Значение Описание sub логин_пользователяДолжен совпадать с логином пользователя из SMP, под которым будете заходить family_name ФамилияЗначение атрибута lastNamegiven_name ИмяЗначение атрибута firstNameemail email@example.comДолжна совпадать с почтой, указанной у пользователя в SMP Пароль любой_парольЗадайте любой, запомните его — понадобится для входа -
Нажмите Сохранить
-
Поля sub и email должны соответствовать данным пользователя в Naumen SMP для корректного сопоставления учётных записей (см. стратегию поиска в external-settings.xml).
Этап 2. Настройки на стороне Naumen SMP
2.0. Об информации о настройке
В конфигурационном файле external-settings.xml в тэге searchStrategy определяется стратегия поиска пользователей. Она представляет собой мапу, в которой:
- ключ — код атрибута сотрудника в SMP
- значение — код параметра пользователя в провайдере аутентификации
При сопоставлении пользователя по строковым атрибутам происходит регистрозависимый поиск.
Доступные варианты стратегии:
and— поиск по совпадению всех атрибутов (условие И)or— поиск по совпадению одного из атрибутов (условие ИЛИ)oneByOne— последовательный поиск по атрибутамscript— поиск с помощью скрипта
В данной инструкции используется стратегия or по двум атрибутам:
sub→login— поиск по логинуemail→email— поиск по электронной почте
Это означает, что пользователь будет найден, если совпадёт хотя бы один атрибут — логин или email.
Выполните следующие действия:
2.1. Создание файла external-settings.xml
-
Перейдите в директорию конфигурации стенда Naumen SMP:
cd <путь_к_стенду>/conf/ -
Создайте файл конфигурации
external-settings.xmlсо следующим содержимым:<?xml version="1.0" encoding="UTF-8"?> <ext:configuration xmlns:ext="http://www.naumen.ru/externalSettings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.naumen.ru/externalSettings ../../../../../../../../sdng-generated/src/main/resources/xsd/externalSettings.xsd"> <settings> <protocol> <oidc> <clientId>naumen-smp</clientId> <clientSecret><client_secret></clientSecret> <discoverUri>https://login.company.com/blitz/.well-known/openid-configuration</discoverUri> <gateway>https://login.company.com/blitz/oauth/logout</gateway> <scope>openid profile</scope> <clientAuthenticationMethod>client_secret_basic</clientAuthenticationMethod> </oidc> </protocol> <searchStrategy> <or> <attributes> <entry> <idpId>sub</idpId> <smpId>login</smpId> </entry> <entry> <idpId>email</idpId> <smpId>email</smpId> </entry> </attributes> </or> </searchStrategy> <other> <entry> <key>other</key> <value>settings</value> </entry> </other> </settings> </ext:configuration>
Значение <client_secret> замените на скопированный на предыдущем этапе секрет из приложения в Blitz Identity Provider.
2.2. Настройка dbaccess.properties
-
Найдите файл
dbaccess.propertiesв директории конфигурации стенда. -
Откройте файл и измените следующие параметры:
# Включение внешней аутентификации (OIDC) ru.naumen.core.authentication.authenticators=INTERNAL,EXTERNAL # Разрешённые адреса Identity Provider suitable.ips=login.company.com
- Параметр
INTERNAL,EXTERNALвключает одновременно внутреннюю аутентификацию SMP и внешнюю через Blitz IDP. - Параметр
suitable.ipsуказывает адреса, с которых принимаются ответы от Identity Provider.
2.3. Перезапуск Naumen SMP
Сохраните оба конфигурационных файла и перезапустите Naumen SMP.
Проверка работоспособности
Для проверки корректности настройки выполните следующие действия:
-
Откройте в браузере адрес Naumen SMP:
https://smp.example.ru/sd/operator -
Убедитесь, что происходит перенаправление на страницу авторизации Blitz Identity Provider.
-
Введите данные пользователя (логин и пароль), которого регистрировали в Blitz Identity Provider на этапе 1.
-
Убедитесь, что выполнен успешный вход в Naumen SMP под нужным пользователем.