В этой статье:

Шаг 1. Сохранение технологической учётной записи для подключения к СУБД

Шаг 2. Настройка параметров для внешнего сервиса

Шаг 3. Настройка подключения к репозиторию

Шаг 4. Подготовка внешнего сервиса и открытие веб-приложения

JWT-токен

При входе в репозиторий с использованием JWT-токена внешний сервис аутентификации должен сформировать JWT-токен с информацией о пользователе и выполнить перенаправление в платформу с указанием этого токена в URL. При выполнении открытия соединения с репозиторием будет происходить извлечение информации о пользователе из полученного JWT-токена.

Если учётная запись пользователя внешнего сервиса содержится в менеджере безопасности, то будет выполнено подключение к репозиторию и вход в навигатор объектов под этим пользователем.

Если учётная запись пользователя внешнего сервиса не содержится в менеджере безопасности, то будет создан временный пользователь и добавлен в группы из списка атрибута, указанного в JWT-токене. Если атрибут не задан, то временный пользователь добавляется во встроенную группу ПОЛЬЗОВАТЕЛИ.

Подключение к СУБД производится под технологической учётной записью.

Схема взаимодействия представлена в подразделе «Аутентификация в продукте».

Шаг 1. Сохранение технологической учётной записи для подключения к СУБД

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

Для настройки подключения к репозиторию:

  1. Запустите приложение PP.Util, расположенное в папке установки продукта «Форсайт. Аналитическая платформа», с помощью командной строки от имени администратора. Ниже приведены команды для настройки подключения к репозиторию. Вместо PP.Util используйте PP.Util_start.sh для выполнения команды в ОС Linux, PP.Util.exe для ОС Windows.

Примечание. В ОС Linux при сохранении зашифрованного пароля технологической учётной записи запрашивается единица лицензирования AnalyticsPlatform. Ознакомьтесь со способами указания системной переменной LSFORCEHOST или LSHOST перед выполнением PP.Util_start.sh.

  1. Сохраните зашифрованный пароль технологической учётной записи для подключения к СУБД:

PP.Util /save_creds /ALG gos <идентификатор репозитория> /DC <имя пользователя репозитория (технологической учётной записи)> <пароль пользователя>
		

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

PP.Util /save_creds /ALG gos REPOSITORY_ID /DC TECHNO_ACCOUNT TECHNO_PASSWORD
PP.Util /save_creds /ALG gos <идентификатор репозитория> <имя пользователя репозитория (технологической учётной записи)> <пароль пользователя репозитория (технологической учётной записи)> <имя пользователя репозитория (внешнего сервиса)>		
		

Пример сохранения данных различных технологических учётных записей:

PP.Util /save_creds /ALG gos REPOSITORY_ID TECHNO_NAME1 TECHNO_PASSWORD1 USER1
PP.Util /save_creds /ALG gos REPOSITORY_ID TECHNO_NAME2 TECHNO_PASSWORD2 USER2
PP.Util /save_creds /ALG gos REPOSITORY_ID TECHNO_NAME2 TECHNO_PASSWORD2 USER3

Пользователи TECHNO_NAME1, TECHNO_NAME2, учётные данные которых используются в качестве технологических, обязательно должны быть добавлены в менеджере безопасности. Пользователи внешнего сервиса USER1, USER2, USER3 могут быть добавлены в менеджере безопасности, а могут быть временными пользователями.

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

При подключении к репозиторию происходит поиск сохранённой технологической учётной записи для подключения к СУБД:

После выполнения действий будет настроено подключение к репозиторию.

Шаг 2. Настройка параметров для внешнего сервиса

Для внешнего сервиса добавьте подраздел с наименованием сервиса в ветке реестра [HKLM\SOFTWARE\Foresight\Foresight Analytics Platform\10.0\PP\BIS\System\ExtService\<наименование сервиса>] или в соответствующем разделе файла settings.xml. Задайте следующие настройки:

Важно. В списке групп пользователей не допускается указание встроенной группы АДМИНИСТРАТОРЫ. Если данная группа имеется в списке, то при подключении будет сгенерирована исключительная ситуация.

Для установки сессионных значений глобальных переменных после успешного подключения к репозиторию может быть создан подраздел с именем AdditionalAttributes в описании настроек внешнего сервиса. Наименование каждого дочернего элемента этого подраздела должно совпадать с наименованием атрибута в JWT-токене, значение которого будет установлено глобальной переменной. Дочерний элемент может содержать параметр IdVariable, в котором указывается идентификатор глобальной переменной репозитория. Если параметр IdVariable не указан, то будет осуществляться поиск глобальной переменной с идентификатором, равным наименованию атрибута в верхнем регистре.

Пример заполнения параметров представлен в разделе System для файла settings.xml.

Шаг 3. Настройка подключения к репозиторию

Для настройки подключения к репозиторию используйте файл Metabases.xml, добавьте атрибут Authentication со значением «8» и заполните раздел ExtService с атрибутом Provider. В качестве значения атрибута укажите наименование подраздела, созданного для внешнего сервиса на шаге 2.

Пример файла Metabases.xml:

<PP>
    <Metabases>
        <REPOSITORY_JWT Name="REPOSITORY_JWT" Authentication="8" Driver="POSTGRES" Package="STANDARDSECURITYPACKAGE">
            <ExtService Provider="JWT_PROVIDER"/>
        </REPOSITORY_JWT>
    </Metabases>
</PP>

Альтернативным способом настройки подключения к репозиторию является добавление аналогичных параметров в раздел реестра:

После внесения всех изменений перезапустите BI-сервер.

Шаг 4. Подготовка внешнего сервиса и открытие веб-приложения

Работа веб-приложения должна осуществляться по протоколу HTTPS. Внешний сервис после аутентификации пользователя должен осуществить переход на страницу веб-приложения по ссылке вида:

https://<адрес веб-приложения>/fp10.x/r/#/app/navigator?repo=<идентификатор репозитория>&jwt=<сформированный JWT-токен>

Доступен переход по ссылке на навигатор объектов или объект репозитория. Ссылка должна содержать параметр repo c указанием идентификатора репозитория, и параметр jwt с указанием JWT-токена, содержащего информацию о пользователе.

Веб-приложение сформирует запрос к BI-серверу на подключение к репозиторию с указанием полученного JWT-токена. BI-сервер выполнит проверку подписи токена, извлечёт информацию о пользователе, выполнит открытие соединения с репозиторием. После открытия соединения с репозиторием отобразится страница веб-приложения, на которую было произведено перенаправление пользователя.

См. также:

Аутентификация в продукте | Настройка аутентификации через внешние сервисы