Архитектура

На Рис. 1 представлена верхнеуровневая архитектура продукта.

lcm remote access arch
Рис. 1. Верхнеуровневая архитектура

Продукт включает следующие компоненты:

Компонент Описание

Магазин приложений

Позволяет сотрудникам организации выполнять автоматизированную установку, удаление и обновление ПО

Кабинет администратора

Предоставляет графический интерфейс администратора для:

  • работы с коллекциями пользователей и устройств;

  • работы с конфигурациями различных типов (настройка конфигураций, постановка задач на исполнение конфигураций, отслеживание статуса применения конфигураций к устройствам);

  • установки операционной системы (ОС) на устройства;

  • работы с отчетами

Бэкенд

Бэкенд продукта включает модули:

  • «Ядро» (osmax-core) — базовый модуль продукта, который условно можно разделить на следующие логические подмодули:

    • «Инвентаризация» — отвечает за хранение данных устройств, пользователей и другой ИТ-инфраструктуры;

    • «Каталог конфигураций» — обеспечивает взаимодействие с хранилищем конфигураций и ПО;

    • «Менеджер конфигураций» — отвечает за хранение данных о конфигурациях, создании коллекций устройств и назначении конфигураций коллекциям;

    • «Управление ПО» — позволяет пользователям управлять ПО на своих рабочих устройствах;

    • «Интеграция с модулем координации» — обеспечивает передачу данных с серверов управления в бэкенд продукта с помощью подписки на топик Apache Kafka, а также распределение запросов на установку ПО между серверами управления;

  • «Модуль установки ОС» (osmax-provisioner)  — реализует автоматическую установку операционной системы

Модуль координации

Отвечает за координацию и непосредственное применение конфигураций на устройствах. Также осуществляет сбор данных с устройств для инвентаризации. Одним из компонентов модуля является платформа с открытым исходным кодом SaltStack

Агент

Клиентское приложение для управления устройством, на котором оно установлено

Удаленный доступ

Подсистема, предоставляющая возможность подключения к удаленному устройству по отношению к устройству подключающегося пользователя в графическом режиме и в режиме командной строки по протоколам VNC, SSH и RDP

Шлюз удаленного доступа

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

Сервер удаленного доступа

Предоставляет удаленный доступ к устройствам по протоколам VNC, SSH и RDP

Продукт интегрируется со следующими внешними сервисами и системами:

  • Apache Kafka —  распределенная система обмена сообщениями между серверными приложениями в режиме реального времени;

  • PostgreSQL — база данных для долговременного хранения данных пользователей и устройств, а также настроек аутентификации;

  • веб-сервер — ПО, которое используется для обработки запросов от веб-браузеров и ответа на них, а также для предоставления доступа к веб-ресурсам, таким как веб-страницы, изображения, файлы и другие данные (например, Nginx);

  • модуль логирования и аудита — отвечает за регистрацию событий, в том числе событий информационной безопасности (аудита);

  • cлужба каталогов — сервис, предоставляющий централизованные средства управления ресурсами автоматизированной системы, включающий LDAP-сервер и сервис аутентификации Kerberos (в качестве службы каталогов может выступать Active Directory Domain Services, Samba, FreeIPA и др.);

  • cистема хранения контента — S3-совместимое файловое хранилище (например, Ceph, Minio и др.).