Общие сведения

Продукт «Служба управления конфигурациями» (LCM) — это средство распространения и обновления программного обеспечения, а также массового автоматизированного управления конфигурациями парка устройств в гетерогенной среде, например, АРМ, ВРМ, серверы и другое оборудование.

Основные преимущества

Основные конкурентные преимущества продукта:

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

  • зонтичное решение, которое обеспечивает управление политиками, развертыванием ОС и ПО, удаленный доступ, инвентаризацию программно-аппаратного обеспечения и отчетность по нему в одном пользовательском интерфейсе;

  • поддержка различных версий Linux, в том числе импортозамещенных, например, Astra Linux.

Архитектура

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

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

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

Модуль Описание

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

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

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

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

Бэкенд

Бэкенд продукта можно условно разделить на следующие логические модули:

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

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

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

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

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

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

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

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

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

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

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

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

Функциональные возможности

Основные функции продукта:

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

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

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

  • осуществляет инвентаризацию парка устройств;

  • отслеживает текущий статус системы и ее компонентов.

Используемый стек технологий

При разработке и эксплуатации продукта используются компоненты с открытым исходным кодом:

Компонент Описание Лицензия Ссылка на документацию

Apache Kafka

Распределенная платформа для обработки потоков данных

Apache License 2.0

Официальный сайт

Kotlin

Язык программирования

Apache License 2.0

Официальный сайт

PostgreSQL

Объектно-реляционная система управления базами данных

PostgreSQL License

Официальный сайт

Python

Язык программирования

Python Software Foundation License

Официальный сайт

Quarkus

Cреда Java, которая обеспечивает высокую производительность, низкое потребление памяти и быструю загрузку модулей продукта

Apache License 2.0

Официальный сайт

React JS

JavaScript-библиотека с открытым исходным кодом для разработки пользовательских интерфейсов

MIT

Официальный сайт

SaltStack

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

Версия не ниже 3006.3 и не выше 3007.0

Apache License 2.0

Официальный сайт

Поддерживаемые операционные системы

Работа продукта поддерживается на следующих операционных системах:

  • Astra Linux Special Edition версии 1.7.3;

  • Astra Linux Common Edition версии 2.12.46;

  • Ubuntu версий 20.04, 22.04;

  • Debian версии 10.

Для работы агентов может использоваться любая операционная система, которая поддерживается SaltStack. Однако текущая версия продукта протестирована на взаимодействие только с операционными системами, перечисленными выше. Если на агенте установлена другая операционная система, например, Windows или macOS, часть данных об устройстве, которые собираются в рамках инвентаризации, может быть утеряна.

Аутентификация

Аутентификация пользователей

Для аутентификации пользователей используется доменная аутентификация.

Межсервисная аутентификация

В зависимости от характера взаимодействия в продукте используется:

  • аутентификация веб-приложений Kerberos client-side-аутентификация;

  • аутентификация при обращении к хранилищу PostgresSQL выполняется на основе username/password;

  • ssl-сертификаты.

Аутентификация во внешних сервисах

Аутентификация сервера управления выполняется при помощи LDAP, с последующим получением токена, также дополнительно поддерживается PAM-аутентификация.

Отказоустойчивость

Для обеспечения отказоустойчивости и доступности все модули продукта, кроме бэкенда, могут быть развернуты минимум в двух экземплярах (бэкенд может быть развернут только в одном экземпляре). Балансировка входящего https-трафика обеспечивается инфраструктурой заказчика. Возможность резервирования серверов управления, а также балансировка трафика от агентов, выполняется средствами модуля координации.

Резервное копирование

Продукт не предоставляет собственных методов резервного копирования. Используются возможности по резервному копированию, предоставляемые инфраструктурными сервисами:

  • PostgreSQL;

  • Redis;

  • S3;

  • Apache Kafka.

Глоссарий

Basic Input/Output System (BIOS)

Набор программного обеспечения, который управляет базовыми функциями компьютера, такими как загрузка операционной системы, управление периферийными устройствами и настройка системных параметров.

Unified Extensible Firmware Interface (UEFI)

Интерфейс между операционной системой и микропрограммами, управляющими низкоуровневыми функциями оборудования, его основное предназначение: корректно инициализировать оборудование при включении системы и передать управление загрузчику или непосредственно ядру операционной системы. EFI — технология, предназначенная для замены BIOS которая обеспечивает более быструю загрузку компьютера, улучшенную безопасность и более простую настройку системы. Она также позволяет использовать жесткие диски большого объема и поддерживает новые технологии, такие как Secure Boot, которая обеспечивает защиту от вредоносных программ.

Автоматизированное рабочее место (АРМ)

Программно-технический комплекс, предназначенный для автоматизации деятельности сотрудника из состава пользователей автоматизированных систем.

Виртуальное Рабочее Место (ВРМ)

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

Операционная система (ОС)

Программное обеспечение, управляющее компьютерами (включая микроконтроллеры) и позволяющее запускать на них прикладные программы. Предоставляет программный интерфейс для взаимодействия с компьютером, управляет прикладными программами и занимается распределением предоставляемых ресурсов, в том числе между прикладными программами. В широком смысле под операционной системой понимается совокупность ядра операционной системы и работающих поверх него программ и утилит, предоставляющих интерфейс для взаимодействия пользователя с компьютером.

Программное обеспечение (ПО)

Программа или множество программ, используемых для управления компьютером.