Добавление аутентификации OIDC

OIDC - это механизм, позволяющий приложению связаться со службой идентификации IdP, получить данные о пользователе и вернуть их обратно в приложение. Таким образом OIDC обеспечивает аутентификацию администраторов и пользователей без необходимости ввода логина и пароля. 

Служба идентификации IdP (например, keycloak) должна быть предварительно настроена в инфраструктуре организации для возможности использования OIDC как домена аутентификации.

Поддерживаются следующие типы аутентификации:

  • по идентификатору и секрету. В этом случае используются параметры «Client ID» и «Client Secret», заданные в службе идентификации IdP;
  • по подписанному JWT-токену. В этом случае используются параметры «Client ID» и «Signed Jwt», заданные в службе идентификации IdP. Закрытый ключ, использующийся для подписи JWT-токена, должен быть загружен на узлы «Универсального диспетчера» («Портал администратора», «Портал пользователя»).

Для добавления домена аутентификации OIDC следует перейти «Компоненты - Домены аутентификации», затем нажать экранную кнопку [Создать] и выбрать из выпадающего списка «Аутентификация через OIDC».

Далее заполнить данные, перечисленные в столбце «Параметр» следующей таблицы. Для сохранения параметров конфигурации использовать экранную кнопку [Сохранить].

Данные для добавления аутентификации через OIDC

ПараметрОписание
«Название»

Параметр обязателен для заполнения.

Текстовое наименование домена аутентификации

«Комментарий»Информационное сообщение, используемое для описания назначения источника сведений о субъектах и их полномочиях
«Приоритет»

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

Порядок отображения доменов зависит от приоритета домена и его наименования:

  • чем ниже приоритет, тем выше домен в списке;
  • при наличии доменов с одинаковым приоритетом действует сортировка по алфавиту
«Метка»

Параметр обязателен для заполнения.

Информационное поле, используемое для идентификации объекта во внутренней структуре данных Termidesk.

Начиная с Termidesk версии 5.1 поле может состоять из букв латинского алфавита, цифр, знаков «-» (дефис) и «_» (подчеркивание)

«Субъекты»

Параметр обязателен для заполнения.

Выбор субъектов, для которых будет доступен домен аутентификации. 

Возможные значения:

  • «Все» - домен аутентификации будет доступен как для пользователей, так и для администраторов и персонала. Такое значение выбирается, если домен аутентификации должен быть доступен на «Портале администратора», «Портале пользователя», «Портале универсальном», и при подключении из компонента «Клиент»;
  • «Администраторы и персонал» - домен аутентификации будет доступен только для администраторов и персонала. Такое значение выбирается, если домен аутентификации должен быть доступен только на «Портале администратора» или «Портале универсальном»;
  • «Пользователи» - домен аутентификации будет доступен только для пользователей. Такое значение выбирается, если домен аутентификации должен быть доступен на «Портале пользователя», «Портале универсальном» или при подключении пользователя из компонента «Клиент»;
  • «Система» - домен аутентификации не будет доступен ни для пользователей, ни для администраторов и персонала
«Client ID»

Параметр доступен, если на этапе установки Termidesk был выбран способ хранения паролей «config».

Уникальный идентификатор приложения, полученный от службы идентификации IdP.

Пример: «openid-test-cl»

«Client secret»

Параметр доступен, если на этапе установки Termidesk был выбран способ хранения паролей «config».

Ключ приложения, полученный от службы идентификации IdP.

Параметр должен быть пустым, если задан параметр «Приватный Ключ»

«Приватный Ключ»

Путь к закрытому ключу, использующемуся для подписи JWT-токена.

Закрытый ключ, используемый в службе идентификации IdP, должен быть добавлен на сервер Termidesk. Для этого:

  • скопировать его в каталог /etc/opt/termidesk-vdi/;
  • назначить владельцем файла пользователя termidesk:
sudo chown termidesk:termidesk /etc/opt/termidesk-vdi/<путь_к_файлу>.key
BASH

Пример: «/etc/opt/termidesk-vdi/client.key»

«Путь к секретам»

Параметр доступен, если на этапе установки Termidesk был выбран способ хранения паролей «hvac».

Путь к аутентификационным данным учетной записи, расположенным в хранилище. Формат задания пути приведен в подразделе Хранение чувствительной информации с выбранным способом хранения «hvac».

Требуется использовать статические данные (префикс hvac-kv).

Пример: «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» (обязательное значение для OIDC) - запуск аутентификации с использованием OIDC;
  • «profile» - доступ к профилю пользователя;
  • «email» - доступ к адресу электронной почты пользователя;
  • «offline_access» - обновление токена доступа без необходимости повторной аутентификации;
  • «groups» - доступ к списку ролей пользователя.

Значение по умолчанию: «openid email profile groups». 

Если нужно указать другой набор значений, следует убедиться, что он поддерживается используемой службой идентификации IdP

«Атрибут имени пользователя»

Имя атрибута, в котором хранится имя пользователя (логин) в службе идентификации IdP.

Значение по умолчанию: «email»

«Проверка SSL»

Проверка использования SSL