Если внешний Keycloak использует недоверенный сертификат, его необходимо предварительно добавить в список доверенных сертификатов контейнеров платформы. Для этого поместите сертификат с именем external.crt в папку /var/lib/visiology/certs и переименуйте файл 40-new_ssl_cert.ym_:
В открывшемся окне включите опции Include groups and roles и Include clients и нажмите Export:
Импортируйте полученный JSON во внешний Keycloak. Обратите внимание, что результаты частичного экспорта могут отличаться в зависимости от версии Keycloak. Важно проверить правильность перенесённых настроек, сравнив их с исходными значениями на платформе. Особое внимание уделите следующим аспектам:
Перенос клиентских областей (Client Scopes). Проверьте, чтобы в них были правильные мапперы с аналогичными настройками.
Настройка клиентских областей для всех клиентов с соответствующими назначенными типами (assigned types).
Убедитесь, что роли и группы соответствуют оригинальным значениям.
Для импортированных клиентов исправьте значения ROOT URL на URL внешнего Keycloak. В поле Valid redirect URIs и Valid post logout redirect URIs добавьте запись http(s)://URL_ПЛАТФОРМЫ_VISIOLOGY3/*, а в поле Web origins поставьте +.
Перегенерируйте секреты для клиентов visiology_m2m, visiology_public_dashboard_access, grafana в веб-интерфейсе внешнего Keycloak.
В файле /var/lib/visiology/scripts/v3/external-keycloak.env заполните данные для подключения к внешнему Keycloak.
VISIOLOGY_REALM – название Realm для платформы Visiology.
KEYCLOAK_M2M_SECRET - значение секрета от клиента visiology_m2m из внешнего Keycloak. KEYCLOAK_PUBLIC_DASHBOARD_ACCESS_SECRET – значение секрета от клиентаvisiology_public_dashboard_access из внешнего Keycloak.
Вы можете не указывать секреты в открытом виде, а перегенерировать соответствующие на платформе. Секрет для grafana необходимо заменить в любом случае: