Перейти к основному контенту

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 перейдите в раздел Приложения и выполните следующие действия:

  1. Создайте новое приложение, задав его базовые настройки:

    • Идентификатор (client_id): naumen-smp
    • Название: Naumen SMP
    • Домен: https://smp.example.ru
  2. Нажмите Сохранить.

  3. Далее нажмите кнопку Параметры у приложения 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):

      • openid
      • profile
    • Тип выдачи авторизации (response type): code (Authorization Code Flow)

    • Метод отправки client_secret: client_secret_basic (Basic Authentication)

  4. Нажмите Сохранить.

  5. Скопируйте полученный client_secret — он потребуется на следующем этапе для настройки Naumen SMP.

  6. Создайте пользователя для последующей авторизации в Naumen SMP:

    • Перейдите в раздел Пользователи в левой панели консоли управления

    • Нажмите кнопку Создать учётную запись пользователя

    • Заполните поля на форме:

      Поле Значение Описание
      sub логин_пользователя Должен совпадать с логином пользователя из SMP, под которым будете заходить
      family_name Фамилия Значение атрибута lastName
      given_name Имя Значение атрибута firstName
      email 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 по двум атрибутам:

  • sublogin — поиск по логину
  • emailemail — поиск по электронной почте

Это означает, что пользователь будет найден, если совпадёт хотя бы один атрибут — логин или email.

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

2.1. Создание файла external-settings.xml

  1. Перейдите в директорию конфигурации стенда Naumen SMP:

    cd <путь_к_стенду>/conf/
    
  2. Создайте файл конфигурации 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>&lt;client_secret&gt;</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

  1. Найдите файл dbaccess.properties в директории конфигурации стенда.

  2. Откройте файл и измените следующие параметры:

    # Включение внешней аутентификации (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.


Проверка работоспособности

Для проверки корректности настройки выполните следующие действия:

  1. Откройте в браузере адрес Naumen SMP: https://smp.example.ru/sd/operator

  2. Убедитесь, что происходит перенаправление на страницу авторизации Blitz Identity Provider.

  3. Введите данные пользователя (логин и пароль), которого регистрировали в Blitz Identity Provider на этапе 1.

  4. Убедитесь, что выполнен успешный вход в Naumen SMP под нужным пользователем.