Служба управления конфигурациями "Осмакс"

Описание приложения

Версия 1.5.0

Содержание

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

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

    Новое в документации

    Руководство по установке:

    • добавлен раздел «Обновление информации о модуле исполнения для сбора истории пользовательских сессий на сервере управления (master)»;

    • обновлен раздел «Настройка окружения» — добавлена информация о необходимости создания дополнительного пользователя с правами на чтение данных для доступа к БД;

    • изменена последовательность шагов установки и настройки бэкенда продукта — сначала выполняется установка deb-пакета inno-lcm-core, включающего сборку бэкенда, а затем настройка параметров конфигурации бэкенда;

    • обновлен раздел «Конфигурация бэкенда»:

      • в блок «Параметры настройки подключения к БД» добавлено описание параметров, задающих имя и пароль пользователя с правами только на чтение данных (read-only) для подключения к БД:

        • quarkus.datasource."lcm-db-readonly".username;

        • quarkus.datasource."lcm-db-readonly".password;

      • в блок «Параметры настройки SSL-соединения с Apache Kafka» добавлено описание параметров:

        • mp.messaging.incoming.salt-events-kafka.ssl.protocol;

        • mp.messaging.incoming.salt-events-kafka.ssl.keystore.location;

        • mp.messaging.incoming.salt-events-kafka.ssl.keystore.password;

        • mp.messaging.incoming.salt-events-kafka.ssl.truststore.location;

        • mp.messaging.incoming.salt-events-kafka.ssl.truststore.password;

      • в блок «Параметры настройки логирования» добавлено описание параметра настройки уровня логирования quarkus.log.level;

      • в блок «Параметры настройки интеграции с S3-совместимым хранилищем» добавлено описание параметров, задающих имена бакетов S3 для хранения общих файлов и данных Pillar:

        • lcm.salt-adapter.s3.state-bucket-name;

        • lcm.salt-adapter.s3.pillar-bucket-name;

      • добавлено описание параметров настройки сбора данных с устройств:

        • lcm.inventory.settings.agent.minutes-to-become-offline;

        • lcm.inventory.settings.agent.user-session-file-path;

        • lcm.inventory.settings.agent.active-user-session-file-path;

      • из блока «Настройка подключения к LDAP-серверу» удалены параметры:

        • lcm.inventory.ldap.datasource[0].query-prefix;

        • lcm.inventory.ldap.datasource[0].base-dn;

        • lcm.inventory.job.sync-users.cron.expr.

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

    Руководство по эксплуатации:

    Описание API:

    • обновлен раздел «Управление настройками продукта» — методы getSaltSchedules и updateSaltSchedules заменены на группы методов getSaltScheduleSettings и updateSaltScheduleSettings соответственно;

    • добавлено описание API-методов:

      • getUserSessionsSettings — получение настроек сбора истории активности пользователей;

      • getConfigurationReport — экспорт списка конфигураций.

    Руководство администратора:

    Добавлены разделы:

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

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

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

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

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

    Архитектура

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

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

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

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

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

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

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

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

    Бэкенд

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

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

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

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

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

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

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

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

    Агент

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

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

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

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

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

    • 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.

    Для работы агентов (minions) может использоваться любая операционная система, которая поддерживается SaltStack. Однако текущая версия продукта протестирована на взаимодействие только с операционными системами, перечисленными выше. Если на агенте (minion) установлена другая операционная система, например, 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, которая обеспечивает защиту от вредоносных программ.

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

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

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

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

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

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

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

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

    Сокращения