Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Информация

Если внешний Keycloak

...

titleДобавление сертифката

...

использует недоверенный сертификат, его необходимо предварительно добавить в список доверенных сертификатов контейнеров платформы. Для этого поместите сертификат с именем external.crt в папку /var/lib/visiology/certs

...

и переименуйте файл 40-new_ssl_cert.ym_:

Блок кода
languagebash
mv /var/lib/visiology/scripts/v3/extended-services/40-new_ssl_cert.ym_ /var/lib/visiology/scripts/v3/extended-services/40-new_ssl_cert.yml

Для подключения внешнего Keycloak необходимо выполнить следующие шаги:

  1. Экспортируйте пространство (realm) Visiology

...

  1. :

    • Нажмите Настройки Realm >Действие >Partial export:

      buttons.pngImage Added

    • В открывшемся окне включите опции Include groups and roles и Include clients

...

    • и нажмите Export:

      export.pngImage Added
  1. Импортируйте полученный JSON во внешний Keycloak. Обратите внимание, что результаты частичного экспорта могут отличаться в зависимости от версии Keycloak. Важно проверить правильность перенесённых настроек, сравнив их с исходными значениями на платформе. Особое внимание уделите следующим аспектам:

    • Перенос клиентских областей (Client Scopes). Проверьте, чтобы в них были правильные мапперы с аналогичными настройками.

    • Настройка клиентских областей для всех клиентов с соответствующими назначенными типами (assigned types).

    • Убедитесь, что роли и группы соответствуют оригинальным значениям.

  2. Для импортированных клиентов исправьте значения ROOT URL на URL внешнего

...

  1. Keycloak. В

...

  1. полях Valid redirect URIs и Valid post logout redirect URIs добавьте запись http(s)://URL_ПЛАТФОРМЫ_VISIOLOGY3/*, а в поле Web origins поставьте +.

  2. Перегенерируйте секреты для клиентов visiology_m2m, visiology_public_dashboard_access

...

  1. и grafana в веб-интерфейсе внешнего

...

  1. Keycloak.

  2. В файле /var/lib/visiology/scripts/v3/external-keycloak.env заполните данные для подключения к внешнему Keycloak.

    Пример файла с шаблонными значениями:

    Блок кода
    languagetext
    KEYCLOAK_EXTERNAL_REALM_PATH=<KEYCLOAK_URL>/realms/<VISIOLOGY_REALM>
    KEYCLOAK_INTERNAL_REALM_PATH=<KEYCLOAK_URL>/realms/<VISIOLOGY_REALM>
    KEYCLOAK_INTERNAL_TOKEN_ENDPOINT=<KEYCLOAK_URL>/realms/<VISIOLOGY_REALM>/protocol/openid-connect/token
    KEYCLOAK_INTERNAL_KEYCLOAK_ENDPOINT=<KEYCLOAK_URL>
    KEYCLOAK_EXTERNAL_KEYCLOAK_ENDPOINT=<KEYCLOAK_URL>
    # Cookie
    Authorization__CookieSameSite=None
    Authorization__CookieSecurePolicy=SameAsRequest
    # Metadata
    Authentication__Keycloak__RequireHttpsMetadata=false
    Authorization__RequireHttpsMetadata=false
    # Secrets
    Authorization__BaseClient__ClientSecret=<KEYCLOAK_M2M_SECRET>
    Authorization__ClientSecret=<KEYCLOAK_M2M_SECRET>
    Authentication__Keycloak__ClientSecret=<KEYCLOAK_M2M_SECRET>
    Authorization__DashboardPublicAccessClient__ClientSecret=<KEYCLOAK_PUBLIC_DASHBOARD_ACCESS_SECRET>

    где

    KEYCLOAK_URL

...

  1. путь

...

  1. к Keycloak.

    VISIOLOGY_REALM

...

  1. название Realm для платформы Visiology.

    KEYCLOAK_M2M_SECRET - значение секрета от клиента visiology_m2m из внешнего Keycloak.
    KEYCLOAK_PUBLIC_DASHBOARD_ACCESS_SECRET

...

  1. значение секрета от клиентаvisiology_public_dashboard_access из внешнего Keycloak.

Вы можете не указывать секреты в открытом виде, а перегенерировать соответствующие

...

на платформе. Секрет для grafana необходимо заменить в любом случае

...

:

Блок кода
docker secret rm KEYCLOAK_M2M_SECRET \
echo -n "NEW-SECRET-FOR-M2M" | docker secret create -l visiology3_keycloak=kc_m2m_secret KEYCLOAK_M2M_SECRET - \
docker secret rm KEYCLOAK_PUBLIC_DASHBOARD_ACCESS_SECRET \
echo -n "NEW-SECRET-FOR-PUBLIC-ACCESS" | docker secret create -l visiology3_keycloak=kc_public_dashboard_access_secret KEYCLOAK_PUBLIC_DASHBOARD_ACCESS_SECRET - \
docker secret rm KEYCLOAK_GRAFANA_CLIENT_SECRET \
echo -n "NEW-SECRET-FOR-GRAFANA" | docker secret create -l visiology3_keycloak=kc_grafana_client_secret KEYCLOAK_GRAFANA_CLIENT_SECRET -
  1. Остановите платформу, включите использование внешнего Keycloak

...

  1. и запустите платформу:

Блок кода
languagebash
/var/lib/visiology/scripts/run.sh --stop && \
/var/lib/visiology/scripts/v3/prepare-config.sh --ext-auth true && \
/var/lib/visiology/scripts/run.sh --start

Нужна дополнительная помощь?

Свяжитесь с технической поддержкой.