Архитектура
- Типы развертывания
-
-
«Standalone» — тип развертывания, который не требует высокой доступности и отказоустойчивости системы. Такой режим подходит для тестовой инсталляции.
-
«High Availability» — тип развертывания, который требует высокую доступность брокеров для обеспечения непрерывной работы системы. Если один из брокеров выйдет из строя, другие смогут взять на себя его функции и обеспечить бесперебойное обслуживание запросов пользователей. Такой режим подходит для продуктивной инсталляции.
-
- Типы пользователей
-
-
Внутренние пользователи — пользователи, которые подключаются к СТД «Термит» из внутренней (корпоративной) сети или через корпоративное VPN-решение.
-
Внешние пользователи — пользователи, которые подключаются к СТД «Термит» из внешней (вне корпоративного сегмента) сети и не используют корпоративное VPN-решение.
-
В этом разделе представлены:
-
базовая архитектура;
-
архитектура с внутренними пользователями;
-
архитектура с внутренними и внешними пользователями.
Базовая архитектура
Ниже представлена схема базовой архитектуры в режиме «Standalone»: с одним брокером, без балансировщика нагрузки и шлюза.
Описание работы СТД «Термит»
- Аутентификация
-
-
Пользователь запускает десктоп-клиент. Далее вводит адрес брокера.
-
Пользователь вводит имя доменной учетной записи и пароль.
-
Брокер проверяет эти данные на сервере LDAP.
-
Брокер возвращает десктоп-клиенту токен для аутентификации в REST API.
-
- Получение списка приложений
-
-
Десктоп-клиент запрашивает у брокера список приложений, доступных пользователю. Брокер проверяет права пользователя (сравнивая его группы с теми, которые назначены на приложения) и отдает список доступных приложений.
-
- Старт сессии
-
-
Пользователь запускает нужное приложение или рабочий стол. Десктоп-клиент отправляет брокеру запрос на старт новой терминальной сессии.
-
Брокер выбирает терминальный сервер, который может обслужить запрос.
-
Брокер создает сессию в базе данных (БД) и отдает десктоп-клиенту профиль подключения, включающий в себя адрес шлюза удаленного доступа, адрес терминального сервера, порт подключения, команду для запуска и другие параметры.
-
Десктоп-клиент стартует сессию на терминальном сервере. В процессе старта десктоп-клиент запрашивает у пользователя имя учетной записи и пароль и отправляет их терминальному серверу. Терминальный сервер проводит аутентификацию пользователя. Десктоп-клиент настраивает перенаправление звука, файловой системы, печати и запускает приложение/рабочий стол в сессии.
-
На стороне терминального сервера агент завершает создание сессии: уведомляет брокер о том, что создана сессия с X2Go/RDP ID. Далее происходит синхронизация этого ID c ID из БД.
-
Сессия готова к работе.
-
Архитектура с внутренними пользователями
Ниже представлена схема архитектуры в режиме «High Availability» с внутренними пользователями, несколькими брокерами, балансировщиком нагрузки и отсутствует шлюз удаленного доступа.
Описание работы СТД «Термит»
- Аутентификация
-
-
Пользователь запускает десктоп-клиент и вводит адрес балансировщика нагрузки. Балансировщик нагрузки определяет, какой брокер будет обслуживать этого пользователя, и в дальнейшем перенаправляет все запросы на выбранный брокер.
-
Пользователь вводит имя доменной учетной записи и пароль.
-
Брокер проверяет эти данные на сервере LDAP.
-
Брокер возвращает десктоп-клиенту токен для аутентификации в REST API.
-
- Получение списка приложений
-
-
Десктоп-клиент запрашивает у брокера список приложений, доступных пользователю. Брокер проверяет права пользователя, сравнивая его группы с теми, которые назначены на приложения, и отдает список доступных приложений.
-
- Старт сессии
-
-
Пользователь запускает нужное приложение или рабочий стол. Десктоп-клиент отправляет брокеру запрос на старт новой терминальной сессии.
-
Брокер выбирает терминальный сервер, который может обслужить запрос.
-
Брокер создает сессию в БД и отдает десктоп-клиенту профиль подключения, включающий в себя адрес шлюза удаленного доступа, адрес терминального сервера, порт подключения, команду для запуска и другие параметры.
-
Десктоп-клиент начинает сессию на терминальном сервере. В процессе старта десктоп-клиент запрашивает у пользователя имя учетной записи и пароль и отправляет их терминальному серверу. Терминальный сервер проводит аутентификацию пользователя. Десктоп-клиент настраивает перенаправление звука, файловой системы, печати и запускает приложение/рабочий стол в сессии.
-
На стороне терминального сервера агент завершает создание сессии: уведомляет брокер о том, что создана сессия с X2Go/RDP ID. Далее происходит синхронизация этого ID c ID из БД.
-
Сессия готова к работе.
-
Архитектура с внешними и внутренними пользователями
Ниже представлена схема архитектуры в режиме «High Availability» с внешними и внутренними пользователями, несколькими брокерами, балансировщиком нагрузки и шлюзом удаленного доступа.
Описание работы СТД «Термит»
-
Пользователь запускает десктоп-клиент и вводит адрес балансировщика нагрузки. Балансировщик нагрузки определяет, какой брокер будет обслуживать этого пользователя, и в дальнейшем перенаправляет все запросы на выбранный брокер.
-
Пользователь указывает адрес брокера. Открывается страница для ввода логина и пароля.
-
Пользователь вводит имя доменной учетной записи и пароль.
-
Сервис аутентификации проверяет введенные данные на сервере LDAP и возвращает токен.
-
Брокер и десктоп-клиент используют этот токен для взаимодействия по REST API.
-
Десктоп-клиент запрашивает у брокера список приложений, доступных пользователю. Брокер проверяет права пользователя (сравнивая его группы с теми, которые назначены на приложения) и отдает список доступных приложений.
-
Пользователь запускает нужное приложение или рабочий стол. Десктоп-клиент отправляет брокеру запрос на старт новой терминальной сессии.
-
Брокер выбирает терминальные серверы на основе метрик, который предоставляет сервис мониторинга Prometheus.
-
Брокер создает сессию в БД и отдает десктоп-клиенту профиль подключения, включающий в себя адрес шлюза удаленного доступа, адрес терминального сервера, порт подключения, команду для запуска и другие параметры.
-
Пользователь подключается к шлюзу удаленного доступа и проходит на нем аутентификацию.
-
Клиент X2Go/RDP с помощью шлюза удаленного доступа начинает сессию на терминальном сервере. В процессе старта клиент X2Go/RDP запрашивает у десктоп-клиента имя учетной записи и пароль и отправляет их терминальному серверу. Терминальный сервер проводит аутентификацию пользователя. Клиент X2Go/RDP настраивает перенаправление звука, файловой системы, печати и запускает приложение в сессии.
-
На стороне терминального сервера агент Термит завершает создание сессии: уведомляет брокер о том, что создана сессия с X2Go/RDP ID. Далее происходит синхронизация этого сессии с брокером.
-
Сессия готова к работе.