Добавление аутентификации OIDC
OIDC - это механизм, позволяющий приложению связаться со службой идентификации IdP, получить данные о пользователе и вернуть их обратно в приложение. Таким образом OIDC обеспечивает аутентификацию администраторов и пользователей без необходимости ввода логина и пароля.
Служба идентификации IdP (например, keycloak) должна быть предварительно настроена в инфраструктуре организации для возможности использования OIDC как домена аутентификации.
Поддерживаются следующие типы аутентификации:
- по идентификатору и секрету. В этом случае используются параметры «Client ID» и «Client Secret», заданные в службе идентификации IdP;
- по подписанному JWT-токену. В этом случае используются параметры «Client ID» и «Signed Jwt», заданные в службе идентификации IdP. Закрытый ключ, использующийся для подписи JWT-токена, должен быть загружен на узлы «Универсального диспетчера» («Портал администратора», «Портал пользователя»).
Для добавления домена аутентификации OIDC следует перейти «Компоненты - Домены аутентификации», затем нажать экранную кнопку [Создать] и выбрать из выпадающего списка «Аутентификация через OIDC».
Далее заполнить данные, перечисленные в столбце «Параметр» следующей таблицы. Для сохранения параметров конфигурации использовать экранную кнопку [Сохранить].
| Параметр | Описание |
|---|---|
| «Название» | Параметр обязателен для заполнения. Текстовое наименование домена аутентификации |
| «Комментарий» | Информационное сообщение, используемое для описания назначения источника сведений о субъектах и их полномочиях |
| «Приоритет» | Приоритет использования домена аутентификации при проверке субъекта и его полномочий. Порядок отображения доменов зависит от приоритета домена и его наименования:
|
| «Метка» | Параметр обязателен для заполнения. Информационное поле, используемое для идентификации объекта во внутренней структуре данных Termidesk. Начиная с Termidesk версии 5.1 поле может состоять из букв латинского алфавита, цифр, знаков «-» (дефис) и «_» (подчеркивание) |
| «Субъекты» | Параметр обязателен для заполнения. Выбор субъектов, для которых будет доступен домен аутентификации. Возможные значения:
|
| «Client ID» | Параметр доступен, если на этапе установки Termidesk был выбран способ хранения паролей «config». Уникальный идентификатор приложения, полученный от службы идентификации IdP. Пример: «openid-test-cl» |
| «Client secret» | Параметр доступен, если на этапе установки Termidesk был выбран способ хранения паролей «config». Ключ приложения, полученный от службы идентификации IdP. Параметр должен быть пустым, если задан параметр «Приватный Ключ» |
| «Приватный Ключ» | Путь к закрытому ключу, использующемуся для подписи JWT-токена. Закрытый ключ, используемый в службе идентификации IdP, должен быть добавлен на сервер Termidesk. Для этого:
sudo chown termidesk:termidesk /etc/opt/termidesk-vdi/<путь_к_файлу>.key Пример: «/etc/opt/termidesk-vdi/client.key» |
| «Путь к секретам» | Параметр доступен, если на этапе установки Termidesk был выбран способ хранения паролей «hvac». Путь к аутентификационным данным учетной записи, расположенным в хранилище. Формат задания пути приведен в подразделе Хранение чувствительной информации с выбранным способом хранения «hvac». Требуется использовать статические данные (префикс Пример: «hvac-kv://secret#termidesk-admin/oidc/» |
| «Authorization endpoint» | Параметр обязателен для заполнения. URL-адрес авторизации службы идентификации IdP. Пример: «http://192.0.2.2:8080/auth/realms/domain.local/protocol/openid-connect/auth» |
| «Logout endpoint» | Параметр обязателен для заполнения. URL-адрес получения информации о завершении сессии пользователя от службы идентификации IdP. Пример: «http://192.0.2.2:8080/auth/realms/domain.local/protocol/openid-connect/logout» |
| «Token endpoint» | Параметр обязателен для заполнения. URL-адрес получения токена службы идентификации IdP. Пример: «http://192.0.2.2:8080/auth/realms/domain.local/protocol/openid-connect/token» |
| «Userinfo endpoint» | Параметр обязателен для заполнения. URL-адрес получения информации о пользователе от службы идентификации IdP. Пример: «http://192.0.2.2:8080/auth/realms/domain.local/protocol/openid-connect/userinfo» |
| «JWKS URI» | URL-адрес получения сертификатов службы идентификации IdP. Пример: «http://192.0.2.2:8080/auth/realms/domain.local/protocol/openid-connect/certs» |
| «Scope» | Набор областей действия, поддерживаемый в службе идентификации IdP. Области действия определяются спецификацией протокола OAuth 2.0. Неполный список возможных значений (указываются через пробел):
Значение по умолчанию: «openid email profile groups». Если нужно указать другой набор значений, следует убедиться, что он поддерживается используемой службой идентификации IdP |
| «Атрибут имени пользователя» | Имя атрибута, в котором хранится имя пользователя (логин) в службе идентификации IdP. Значение по умолчанию: «email» |
| «Проверка SSL» | Проверка использования SSL |