Сравнение версий
Версия | Старая версия 6 | Новая версия Текущий |
---|---|---|
Изменения, внесенные | ||
Сохранено |
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
Информация |
---|
Если внешний Keycloak |
...
title | Добавление сертифката |
---|
...
использует недоверенный сертификат, его необходимо предварительно добавить в список доверенных сертификатов контейнеров платформы. Для этого поместите сертификат с именем |
...
и переименуйте файл
|
Для подключения внешнего Keycloak необходимо выполнить следующие шаги:
Экспортируйте пространство (realm) Visiology
...
:
Нажмите Настройки Realm >Действие >Partial export:
Image AddedВ открывшемся окне включите опции Include groups and roles и Include clients
...
и нажмите Export:
Image Added
Импортируйте полученный 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.Пример файла с шаблонными значениями:
Блок кода language text 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
...
– путь
...
к Keycloak.
VISIOLOGY_REALM
...
– название Realm для платформы Visiology.
KEYCLOAK_M2M_SECRET
- значение секрета от клиентаvisiology_m2m
из внешнего Keycloak.KEYCLOAK_PUBLIC_DASHBOARD_ACCESS_SECRET
...
– значение секрета от клиента
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 - |
Остановите платформу, включите использование внешнего Keycloak
...
и запустите платформу:
Блок кода | ||
---|---|---|
| ||
/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 |
Нужна дополнительная помощь?