Skip to main content

Переключение кастомного плагина на нативный

В продукте версии 3.2 был реализован отказ от кастомного плагина в пользу нативной реализации интеграции с каталогами на уровне keycloak. При первичной настройке интеграции на тенанте миграция выполняется автоматически.

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

  • выполнить резервное копирование Postgres;
  • отключить синхронизацию пользователей и запустить ее после выполнения всех пунктов настоящего раздела.

Если интеграция с AD была настроена ранее, необходимо выполнить следующие действия:

  1. Проверить выполнение резервного копирования базы PostgreSQL.
  2. Проверить выполнение миграции с помощью скрипта remove_domain_from_username.py. Характерный признак — в карточке пользователя username будет без доменной части, а в атрибутах будет новое поле user_domain.

Если карточка пользователя содержит в поле username доменную часть и в атрибутах поле user_domain, необходимо выполнить миграцию повторно, с помощью скрипта remove_domain_from_username.py.

  1. Выполнить настройку интеграции в соответствии с требованиями раздела «Настройка интеграции с LDAP».
  2. Перенести уже созданные маппинги. Существующие маппинги на федерацию следует проверить по ссылке:
http://domain_or_ip:8091/admin/master/console/#/tenant_name/
user-federation/ldap/federation_id/mappers

Параметры, используемые в создании ссылок описаны в таблице.

ПараметрЗначение
host/IP-адресУказать для сервера
tenant_nameИмя тенанта
federation_idID старой федерации
ldapНе изменять
  1. При использовании ссылки на федерацию допускается установить значения в следующий формат:
http://<host/IP-адрес>:<port>/admin/master/console/#/<tenant_name>/
user-federation/<federation_id>
  1. Для переноса маппингов в федерацию можно использовать ссылку, в которой заменить ID федерации и добавить mappers в конце строки. Пример:
  • Старая федерация:
http://example.net:8091/admin/master/console/#/ad/user-federation/ldap/
d00daf68-b4b9-4cff-856d-b788b614bf57/mappers
  • Новая федерация:
http://example.net:8091/admin/master/console/#/ad/user-federation/ldap/
1c4c28bd-4bd7-4456-82ab-a179cc17c1d4/mappers
  1. Настроить маппинг согласно схеме LDAP каталога. Например, пользователь в AD-каталоге (рис.):

Если имени пользователя соответствует поле givenName, то маппинг должен выглядеть в соответствии с рисунком.

  1. После создания новой федерации необходимо подключиться к сервису Aristoteles на сервере PGS:
ssh centos@pgs-server-node-1.example.net
sudo su
docker ps | grep aris
docker exec -it tag bash
  1. Запустить скрипт внутри приложения Aristoteles:
python3.11 ./dev_utils/update_fed_link_tenant.py --old_fed_link old_id \
--new_fed_link new_id

где:

  • old_id — ID старой федерации;
  • new_id — ID новой созданной федерации.
  1. Проверить выполнение авторизации пользователя и возможность работы с файлами пользователя в файловом менеджере.

  2. После успешного завершения проверок удалить кастомный плагин pgsldapnew.