Аудит

Аудит в продукте выполняется для модулей бэкенда osmax-core и osmax-provisioner.

Для действий, происходящих внутри внешних систем, например, БД, системы хранения контента, веб-сервера, службы каталогов, события аудита не регистрируются.

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

Для каждого регистрируемого события указываются:

  • тип;

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

  • успешность или не успешность осуществляемых действий;

  • дата и время события;

  • другие данные, достаточные для однозначной интерпретации события (см. раздел «Описание полей лог-файла»).

Для отслеживания записей лог-файлов, обогащения, преобразования их в необходимый формат и передачи в Kafka используется система сбора и передачи данных журналов Fluent Bit.

Параметры лог-файлов

Оперативный и исторические файлы — это файлы формата JSONL, которые создаются автоматически при установке продукта и хранятся в каталоге /var/log/osmax/core.

Имена файлов задаются согласно шаблонам:

  • шаблон имени оперативного файла:

    audit{-applicationAlias}.log

    Где applicationAlias — название приложения, например: audit-osmax-core.log.

  • шаблон имени исторического файла:

    audit{-applicationAlias}.log.yyyy-MM-dd.{N}

    Где:

    • N — индекс файла;

    • applicationAlias — название приложения;

    • yyyy-MM-dd — дата ротации файла.

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

Описание полей лог-файла

Родительский элемент Элемент Описание Запись в лог-файле Запись в Fluent Bit

$

timestamp

Дата и время сообщения. Формат: YYYY-MM-DD’T’hh:mm:ss.SSSXXX

Дата и время генерации события на сервере

Значение переносится из лог-файла

$

id

Идентификатор события

Каждый раз генерируется новый UUID

Значение переносится из лог-файла

$

correlationId

Идентификатор группы событий (например, начало и окончание фоновой процедуры)

Каждый раз генерируется новый UUID

Значение переносится из лог-файла

Данные об информационной системе клиента

$

infoSystemCode

Код информационной системы

Не заполняется

Константа со значением информационной системы

$

infoSystemId

Идентификатор информационной системы

Не заполняется

Константа со значением информационной системы

Данные о типе событий

$

version

Версия сообщений (версия схемы)

Не заполняется

Константа со значением информационной системы

$

type

Тип события

Заполняется на русском языке. См. колонку type в таблицах ниже

Значение переносится из лог-файла

$

code

Код события

См. колонку code в таблицах ниже

Значение переносится из лог-файла

$

mandatory

Не заполняется

Константа со значением true

$

object

Объект с дочерними атрибутами

Не заполняется

Значение создается при обработке

Данные об объекте и операции

$.object

id

Идентификатор бизнес-объекта, над которым выполняется действие, например 765. Если у бизнес-объекта нет идентификатора, указывается символ "-"

См. колонку object.id в таблицах ниже

Значение переносится из лог-файла

$.object

name

Название типа объекта, над которым выполняется действие. Например, "конфигурация"

Заполняется, только если объект в колонке operation выделен жирным шрифтом. Заполняется на русском языке

Значение переносится из лог-файла (если присутствует в лог-файле); создается с пустым значением (если отсутствует в лог-файле)

$

operation

Название бизнес-операции, например, «создание конфигурации»

Не заполняется

Заполняется значением, указанным в поле message, без преобразований и на русском языке

Данные о событии, связанные с классом сообщения о событии

$

class

Класс сообщения о событии. Возможные значения:

  • SUCCESS;

  • FAILURE

См. колонку class в таблицах ниже

Значение переносится из лог-файла

$

title

Краткое описание сообщения

Не заполняется

Заполняется на русском языке значением, указанным в поле message

$

message

Подробное описание события

Описание параметров события передается в поле additionalParams

См. колонку message в таблицах ниже. Заполняется на русском языке

Значение переносится из лог-файла (если в лог-файле нет параметра exception) или заполняется (с полным замещением текущего значения) значением, указанным в поле exception, (если оно присутствует в лог-файле)

$

initiator

Объект с дочерними атрибутами

Не заполняется

Объект создается при обработке

$

sub

Имя пользователя, например, iivanov@inno.tech

Если событие — это вызов конечной точки (end point), то указываются данные из тикета Kerberos (Principal.simpleName и Principal.realm), в остальных случаях указывается символ "-"

Значение переносится из лог-файла

$

ipAddress

IP-адрес пользователя, выполнившего операцию

  • если событие — это вызов конечной точки (end point), то указывается первое значение из заголовка запроса X-Forwarded-For;

  • если событие — это задача по расписанию, то не заполняется.

Значение переносится из лог-файла

Данные о контексте события

$

context

Объект с дочерними атрибутами

Не заполняется

Объект создается при обработке

$.context

sessionId

сессия JWT-токена

Не заполняется

Значение переносится из лог-файла

$.context

url

URL-адрес конечной точки, указанный вместе с протоколом и параметрами.

Поле заполняется, только если событие — это вызов конечной точки (end point). В остальных случаях указывается символ "-"

$.context

method

HTTP-метод

Поле заполняется, только если событие — это вызов конечной точки (end point). В остальных случаях указывается символ "-"

Значение переносится из лог-файла

$.context

traceId

Идентификатор трассировки

Не заполняется

Значение переносится из лог-файла

$.context

spanId

Идентификатор шага трассировки

Не заполняется

Значение переносится из лог-файла

$

ipNearbyNode

IP-адрес, на который выполняется вызов от клиента

Не заполняется

$

ipRecepient

IP-адрес получателя

Не заполняется

Данные о развертывании информационной системы

$

deploymentContext

Объект с дочерними атрибутами

Не заполняется

Создается при обработке

$.deploymentContext

namespace

Пространство имен платформы (OpenShift/Kubernetes), в которой развёрнут сервис, генерирующий логи

Не заполняется

$.deploymentContext

podName

Имя текущей поды (POD) (OpenShift/Kubernetes), в которой развёрнут сервис, генерирующий логи

Не заполняется

Дополнительные параметры

$

additionalParams

Все дополнительные параметры сообщения

См. колонку additionalParams в таблицах ниже

переносится из лог-файла (если параметр присутствует). Если в лог-файле не указаны параметры`additionalParams.*`, то в Kafka ничего не отгружается. Если присутствует хотя бы один параметр, то формируется объект вида:

"additionalParams":
  {"configurationVersionName": "1.1",
  "configurationId": 8765, "configurationName": "Пакет программ для бухгалтерии"
  },

$

exception

Информация об ошибке в произвольном формате, если действие завершилось неудачно (success = failure)

Заполняется, только если в лог-файле была зарегистрирована информация об ошибке

Если параметр задан в лог-файле, значением этого поля заменяется объект message

Данные для интеграции с системой централизованного мониторинга событий безопасности клиента

$

scmCategory

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

  • ENTRY_EXIT_OPERATIONS — операции входа/выхода в пользовательский интерфейс;

  • ACCOUNT_MANAGEMENT_OPERATIONS — управление учётными записями;

  • PRIVELEGES_MANAGEMENT_OPERATIONS — управление ролями и привилегиями;

  • SYSTEM_ERRORS — системные ошибки/сбои

В текущей версии продукта используется только значение PRIVELEGES_MANAGEMENT_OPERATIONS для событий ROLES-*. В остальных случаях указывается значение null

Значение переносится из лог-файла или создается параметр со значением ""

Пример лог-файла:

{
  "timestamp": "2024-06-27T15:37:45.943Z",
  "sequence": 27003,
  "loggerClassName": "io.github.oshai.kotlinlogging.slf4j.internal.LocationAwareKLogger",
  "loggerName": "AUDIT",
  "level": "INFO",
  "message": "Авторизация в приложении",
  "threadName": "executor-thread-321",
  "threadId": 520,
  "initiator.sub": "iivanov@OSMAX.TERRA.INNO.TECH",
  "context.method": "-",
  "correlationId": "7422db8a-fd80-4780-8ffe-56d46587eb49",
  "class": "SUCCESS",
  "code": "AUTH-003",
  "type": "Авторизация",
  "context.url": "-",
  "id": "2780d3db-4377-402f-b784-4a3814273578",
  "object.id": "-",
  "componentName": "osmax-core",
  "ipAddress": "-",
  "hostName": "dev-osmax-a50",
  "processName": "io.quarkus.runner.GeneratedMain",
  "processId": 52785
}

События аудита

События аутентификации

type code object.id message object.name class additionalParams Описание

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

AUTH-001

-

Аутентификация в приложении

null

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

  • success;

  • failure (в случае HTTP-ошибки с кодом 401)

сomponentName — компонент продукта (osmax-core)

Проверка валидности Kerberos-тикета при любом запросе от фронтенда, который поступает в модуль osmax-core

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

AUTH-002

-

Аутентификация в приложении

null

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

  • success;

  • failure (в случае HTTP-ошибки с кодом 401)

сomponentName — компонент продукта (osmax-provisioner)

Проверка валидности Kerberos-тикета при любом запросе от фронтенда, который поступает в модуль osmax-provisioner

События авторизации

type code object.id message object.name class additionalParams Описание

Авторизация

AUTH-003

-

Авторизация в сервисном приложении

null

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

  • success;

  • failure (в случае HTTP-ошибки с кодом 403)

сomponentName — компонент продукта (osmax-core)

Получение ролей для пользователя и проверка доступности объектов БД при любом запросе от фронтенда, который поступает в модуль osmax-core

Авторизация

AUTH-004

-

Авторизация в сервисном приложении

null

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

  • success;

  • failure (в случае HTTP-ошибки с кодом 403)

сomponentName — компонент продукта (osmax-provisioner)

Получение ролей для пользователя и проверка доступности объектов БД при любом запросе от фронтенда, который поступает в модуль osmax-provisioner

События управления ролевым доступом

type code object.id message object.name class additionalParams Описание

Создание

ROLES-001

Id роли из ответа

Создание роли

роль

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • roleName — имя роли; для методов POST и PUT указывается значение из запроса; для методов PUT и DELETE указывается значение из поля name таблицы БД lcm.roles; поиск выполняется по идентификатору, указанному в запросе;

  • roleId — идентификатор роли

Создание роли, которая не привязана к пользователю/группе

Изменение

ROLES-002

Id роли из запроса

Изменение роли

роль

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • roleName — имя роли; для методов POST и PUT указывается значение из запроса; для методов PUT и DELETE указывается значение из поля name таблицы БД lcm.roles; поиск выполняется по идентификатору, указанному в запросе;

  • roleId — идентификатор роли

Изменение характеристик роли без изменения состава полномочий роли и без изменения привязки к пользователям/группам

Удаление

ROLES-003

Id роли из запроса

Удаление роли

роль

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • roleName — имя роли; для методов POST и PUT указывается значение из запроса; для методов PUT и DELETE указывается значение из поля name таблицы БД lcm.roles; поиск выполняется по идентификатору, указанному в запросе;

  • roleId — идентификатор роли

Удаление и отвязка роли от пользователей/групп

Изменение

ROLES-004

Id роли из запроса

Изменение списка доступных действий над объектами в рамках роли

роль

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • roleName — имя роли; для методов POST и PUT указывается значение из запроса; для методов PUT и DELETE указывается значение из поля name таблицы БД lcm.roles; поиск выполняется по идентификатору, указанному в запросе;

  • roleId — идентификатор роли

Изменение полномочий роли. Если роль привязана к пользователю/группе, то у пользователя/группы появляются полномочия в системе

Изменение

ROLES-005

Id роли из запроса

Назначение роли пользователю или группе

роль

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • userName — имя пользователя;

  • roleName — имя роли; для методов POST и PUT указывается значение из запроса; для методов PUT и DELETE указывается значение из поля name таблицы БД lcm.roles; поиск выполняется по идентификатору, указанному в запросе;

  • roleId — идентификатор роли

Роль привязывается к пользователю/группе. У пользователя/группы через роль появляются полномочия в системе

Изменение

ROLES-006

Id роли из запроса

Отзыв роли у пользователя или группы

роль

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • userName — имя пользователя;

  • roleName — имя роли; для методов POST и PUT указывается значение из запроса; для методов PUT и DELETE указывается значение из поля name таблицы БД lcm.roles; поиск выполняется по идентификатору, указанному в запросе;

  • roleId — идентификатор роли

Роль отвязывается от пользователя/группы. У пользователя/группы из-за отвязки роли пропадают полномочия в системе

Системные события

type code object.id message object.name class StartTime и EndTime additionalParams Описание

Процедура

OBJ-010

-

Автоматическое сопоставление

null

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

  • succes — в случае успешного выполнения;

  • failure — в случае неуспешного выполнения

По заданному расписанию

trigger — расписание

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

Установка

SOFT-003

-

Установка, обновление, удаление ПО, запуск или остановка служб, настройка ОС в фоновом режиме

null

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

  • succes — в случае успешного выполнения;

  • failure — в случае неуспешного выполнения

Значение, указанное в поле _stamp в сообщении (значение указано в UTC)

  • installation — название отработавшего пакета;

  • minion — имя агента (minion)

Установка, обновление, удаление ПО, запуск или остановка служб, настройка ОС в фоновом режиме. Событие генерируется из сообщения топика Kafka salt-topic

Установка

SOFT-004

-

Установка, обновление, удаление ПО, запуск или остановка служб, настройка ОС в push-режиме

null

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

  • succes — в случае успешного выполнения;

  • failure — в случае неуспешного выполнения

Значение, указанное в поле _stamp в сообщении (значение указано в UTC)

  • installation — название отработавшего пакета;

  • minion — имя агента (minion)

Установка, обновление, удаление ПО, запуск или остановка служб, настройка ОС в push-режиме. Событие генерируется из сообщения топика Kafka salt-topic

Установка

SOFT-005

-

Установка агента на устройство

null

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

  • succes — в случае успешного выполнения;

  • failure — в случае неуспешного выполнения

Значение, указанное в поле _stamp в сообщении (значение указано в UTC)

minion — имя агента (minion)

Установка агента (minion) на устройство. Событие генерируется из сообщения топика Kafka salt-topic

Процедура

OBJ-102

-

Автоматический пересчёт коллекции

null

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

  • succes — в случае успешного выполнения;

  • failure — в случае неуспешного выполнения

По расписанию

trigger — расписание

Автоматический пересчет коллекции устройств. Событие запускается по расписанию. Изменения сохраняются в БД

Интеграция

INTEG-001

-

Cинхронизация данных по пользователям, устройствам, группам c хранилищем

null

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

  • succes — в случае успешного выполнения;

  • failure — в случае неуспешного выполнения

По расписанию

  • trigger — расписание;

  • store — LDAP-сервер

Cинхронизация данных по пользователям, устройствам, группам c данными на LDAP-сервере. Событие запускается по расписанию. Пользователи, устройства, группы сохраняются в БД

Процедура

BLOCK-002

-

Автоматическое снятие пессимистичных блокировок по таймауту

null

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

  • succes — в случае успешного выполнения;

  • failure — в случае неуспешного выполнения

По расписанию

trigger — расписание

Удаление записей о блокировках, которые старше заданного значения

События, связанные с действиями администратора в КА

type code object.id message object.name class additionalParams Описание

Действия администратора, связанные с интеграцией (osmax-core)

Загрузка

INTEG-004

-

Загрузка формул отдельно от конфигурации

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

formula — имя файла из запроса

Загрузка формул, в которых описана установка ПО, запуск служб, настройка ОС и т.д., в S3-совместимое хранилище

Загрузка

INTEG-005

-

Загрузка файла в хранилище

файл

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

fileName — имя файла (параметр originalFileName из запроса)

Загрузка файла с изображением, которое будет использоваться как обложка для графического интерфейса «Магазин администратора» в S3-совместимое хранилище

Интеграция

INTEG-009

-

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

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • trigger — ручной запуск;

  • store — LDAP-сервер

Принудительный запуск синхронизации пользователей, устройств, групп c данными LDAP-сервера. Группы, устройства, пользователи сохраняются в БД

Действия администратора, связанные с инвентаризацией (osmax-core)

Редактирование

OBJ-001

-

Редактирование настроек загрузки пользователей из хранилища

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • datasourceName — datasourceName из запроса;

  • action — возможные значения: New, Edit или Delete;

  • store — LDAP-сервер

Изменения настроек загрузки пользователей с сервера LDAP:

  • создание поискового запроса для источника данных LDAP при синхронизации пользователей;

  • удаление поискового запроса для источника данных LDAP при синхронизации пользователей;

  • изменение поискового запроса для источника данных LDAP при синхронизации пользователей

Редактирование

OBJ-002

-

Изменение расписания синхронизации всех сущностей

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • datasourceName — datasourceName из запроса;

  • action — возможные значения: New, Edit или Delete;

  • store — LDAP-сервер

Изменение расписания синхронизации всех сущностей с сервера LDAP

Редактирование

OBJ-003

-

Редактирование настроек загрузки устройств

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • datasourceName — datasourceName из запроса;

  • action — возможные значения: New, Edit или Delete;

  • store — LDAP-сервер

Изменение настроек загрузки устройств с сервера LDAP:

  • добавление нового запроса синхронизации устройств для заданного LDAP-сервера;

  • удаление фильтра синхронизации устройств для заданного LDAP-сервера;

  • изменение фильтра синхронизации устройств для заданного LDAP-сервера

Редактирование

OBJ-005

-

Редактирование настроек загрузки групп

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • datasourceName — datasourceName из запроса;

  • action — возможные значения: New, Edit или Delete;

  • store — LDAP-сервер

Изменение настроек загрузки групп с сервера LDAP:

  • cоздание поискового запроса для LDAP-сервера при синхронизации групп;

  • удаление поискового запроса для LDAP-сервера при синхронизации пользователей;

  • изменение поискового запроса для LDAP-сервера при синхронизации групп

Настройка

OBJ-007

-

Включение или отключение автоматического сопоставления пользователей и устройств

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

turn — возможные значения: on и off

Включение или отключение режима автоматического сопоставления пользователей и устройств

Настройка

OBJ-008

-

Изменение параметров автоматического сопоставления

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

Изменение атрибутов режима автоматического сопоставления пользователей и устройств

Процедура

OBJ-009

-

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

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

trigger — ручной запуск

Ручной запуск автоматического сопоставления пользователей и устройств

Загрузка

OBJ-011

-

Импорт файла соответствия пользователей и машин

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

fileName — имя файла, указанное в запросе

Импорт файла соответствия пользователей и устройств

Настройка

OBJ-012

-

Редактирование значений настроек агентов

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

schedule — параметр scheduleType из запроса

Изменение настроек расписаний для SaltStack и сохранение их в S3-совместимом хранилище

Выгрузка

OBJ-016

-

Экспорт в файл

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • object — имя ресурса; в зависимости от конечной точки (end point) может принимать одно из значений:

    • users;

    • machines;

    • collections;

    • groups;

  • format — формат файла (CSV-формат)

Выгрузка данных на устройство пользователя:

  • экспорт данных пользователей по критериям в CSV-формате;

  • экспорт данных устройств по критериям в CSV-формате;

  • экспорт данных коллекций по критериям в CSV-формате;

  • выгрузка отчета по группам в CSV-формате

Редактирование

OBJ-017

-

Редактирование значений настроек (параметров) пользователей при синхронизации с LDAP

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • action — действие (Edit);

  • store — БД (LDAP);

  • все параметры, которые были изменены пользователем, с новыми значениями (true/false), например, "sn": "false"

Изменение значений настроек (параметров) пользователей при синхронизации с LDAP

Редактирование

OBJ-018

-

Редактирование значений настроек параметров сбора данных по ПО

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • action — действие (Edit);

  • store —  ПО (inventory_software)

Изменение настроек сбора данных по ПО (перечень игнорируемого ПО для сбора) на устройстве:

  • создание списка пакетов, исключенных из инвентаризации;

  • создание списка исполняемых файлов, исключенных из инвентаризации;

Действия администратора, связанные с коллекциями (osmax-core)

Редактирование

OBJ-101

Идентификатор коллекции. Для методов DELETE и PUT указывается идентификатор из path-параметра. Для метода POST указывается идентификатор из ответа

Редактирование коллекций

коллекция

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

collectionName — имя коллекции (для методов POST и PUT указывается значение поля name из тела запроса; для метода DELETE —  из поля name таблицы БД machine_collections; поиск выполняется по значению collectionId)

Операции с коллекциями устройств:

  • создание коллекций устройств;

  • получение информации о коллекции устройств;

  • удаление коллекции устройств

Процедура

OBJ-106

-

Запуск процедуры пересчета коллекции в ручном режиме

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • trigger — ручной запуск (manual);

  • collectionName — имя коллекции; указывается значение поля name таблицы БД lcm.machine_collections; поиск выполняется по параметру collectionId из запроса

Запуск процедуры пересчета коллекции устройств в ручном режиме

Редактирование

OBJ-107

Идентификатор пресета. Для метода DELETE указывается значение из path-параметра. Для метода POST — из ответа

Редактирование пресета коллекций

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

presetName  — имя пресета; для метода POST указывается значение поля name из тела запроса; для метода DELETE указывается значение поля name таблицы БД machine_collection_presets; поиск выполняется по параметру presetId из запроса

Операции с пресетами коллекций:

  • создание пресета (предустановки) коллекции;

  • удаление пресета по идентификатору

Действия администратора, связанные с конфигурациями (osmax-core)

Редактирование

OBJ-201

Идентификатор конфигурации. Для методов DELETE и PUT указывается значение из path-параметра. Для метода POST — из ответа

Редактирование конфигураций

конфигурация

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

configurationName  — имя конфигурации; для методов POST и PUT указывается значение поля displayName из тела запроса; для метода DELETE — поля display_name таблицы БД configurations; поиск выполняется по параметру configurationId, указанному в запросе

Операции с конфигурациями:

  • создание конфигурации;

  • изменение конфигурации по идентификатору;

  • удаление конфигурации по идентификатору

Редактирование

OBJ-202

Идентификатор версии конфигурации. Для методов DELETE и PUT указывается значение из path-параметра. Для метода POST — из ответа

Редактирование версий конфигурации

версия конфигурации

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • configurationVersionName  — имя версии конфигурации; для методов POST и PUT указывается значение поля displayName из тела запроса; для метода DELETE — поля display_name таблицы БД configuration_versions; поиск выполняется по параметру versionId, указанному в запросе;

  • configurationId  — идентификатор конфигурации; указывается значение из path-параметра;

  • configurationName — имя конфигурации; указывается значение поля display_name таблицы БД configurations; поиск выполняется по параметру configurationId, указанному в запросе

Операции с версиями конфигураций:

  • создание версии конфигурации;

  • изменение версии конфигурации по идентификатору;

  • удаление версии конфигурации по идентификатору

Редактирование

OBJ-203

Идентификатор пакета конфигурации. Для методов DELETE и PUT указывается значение из path-параметра. Для метода POST — из ответа

Редактирование пакетов конфигурации

пакет конфигурации

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • relativeConfigurationId — идентификатор родительской конфигурации; указывается значение поля configuration_id таблицы БД configuration_packages;

  • configurationPackageName — имя пакета конфигурации; для методов POST и PUT указывается значение поля displayName из тела запроса; для метода DELETE — из БД: 1) выполняется поиск записи таблицы configuration_packages по параметру packageId из запроса 2) выполняется поиск записи configurations по параметру configuration_packages.configuration_id 3) указывается значение из поля display_name

Операции с пакетами конфигураций:

  • создание пакета конфигураций;

  • обновление пакета конфигураций;

  • удаление пакета конфигураций

Выгрузка

OBJ-204

-

Экспорт в файл

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • reportName — название отчета (configurations);

  • format — формат файла (csv)

Экспорт списка конфигураций

Загрузка

OBJ-205

Наименование конфигурации из загружаемого архива

Импорт из файла

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

fileName — имя архива

Импорт конфигурации

Действия администратора, связанные со связками коллекция-конфигурация (osmax-core)

Редактирование

OBJ-211

Идентификатор применения. Для метода DELETE указывается значение из path-параметра; для метода POST — из ответа

Редактирование применения конфигурации или пакета конфигурации к коллекции

применение конфигурации

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • collectionId — идентификатор коллекции; указывается значение из БД, которое вычисляется по алгоритму: collectionConfigId → запись collection_configurations → поле collection_id;

  • collectionName — имя коллекции; поиск значения выполняется в несколько этапов: collectionId (см. выше) → запись machine_collections → поле name;

  • configurationVersionId  — идентификатор версии конфигурации; указывается значение из БД, которое вычисляется по алгоритму: collectionConfigId → запись collection_configurations → поле configuration_version_id; для метода POST указывается значение из запроса;

  • configurationName — имя конфигурации; указывается значение из БД, которое вычисляется по алгоритму: configurationVersionId см. выше) → запись таблицы configuration_versions → запись таблицы configurations → поле display_name;

  • configurationVersionName — имя версии конфигурации; указывается значение из БД, которое вычисляется по алгоритму: configurationVersionId (см. выше) → запись таблицы configuration_versions → поле display_name

Операции с сущностью коллекция-конфигурация:

  • применение конфигурации к коллекции;

  • удаление соответствия конфигурации и коллекции

Установка

OBJ-212

Идентификатор применения. Для метода POST указывается значение из ответа

Запуск/остановка применения конфигурации или пакета конфигурации к коллекции

применение конфигурации

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • action:

    • start — если выполняется запрос на возобновление применения конфигурации к коллекции;

    • stop — если выполняется запрос на остановку применения конфигурации к коллекции;

  • collectionId — идентификатор коллекции; указывается значение из БД, которое вычисляется по алгоритму: collectionConfigId → запись collection_configurations → поле collection_id;

  • collectionName — имя коллекции; поиск значения выполняется в несколько этапов: collectionId (см. выше) → запись machine_collections → поле name;

  • configurationVersionId  — идентификатор версии конфигурации; указывается значение из БД, которое вычисляется по алгоритму: collectionConfigId → запись collection_configurations → поле configuration_version_id; для метода POST указывается значение из запроса;

  • configurationName — имя конфигурации; указывается значение из БД, которое вычисляется по алгоритму: configurationVersionId см. выше) → запись таблицы configuration_versions → запись таблицы configurations → поле display_name;

  • configurationVersionName — имя версии конфигурации; указывается значение из БД, которое вычисляется по алгоритму: configurationVersionId (см. выше) → запись таблицы configuration_versions → поле display_name

Операции с сущностью коллекция-конфигурация:

  • возобновление применения конфигурации к коллекции;

  • остановка применения конфигурации к коллекции

Выгрузка

OBJ-213

-

Экспорт в файл

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • reportName — название отчета (collection_configurations);

  • format — формат файла (csv)

Операции с сущностью коллекция-конфигурация:

  • экспорт списка применений конфигураций к коллекциям;

  • получение статусов установки конфигурации по каждой машине из соответствующей коллекции

Редактирование

OBJ-214

-

Настройка параметров успешности применения конфигурации или пакета конфигурации к коллекции

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

action — действие (Edit)

Запрос для изменения настроек неуспешности применения конфигураций

Действия администратора, связанные с сессиями (osmax-core)

Удаление

OBJ-301

-

Принудительный запуск очистки истории сессий пользователей на устройствах

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

Удаление истории сессий

Выгрузка

OBJ-302

-

Получение информации о сессиях

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • minion — значение, указанное в запросе в поле minionId;

  • user — имя пользователя; указывается значение из поля full_domain_name таблицы БД lcm.users; поиск выполняется по идентификатору, указанному в запросе;

  • fqdn — значение поля fqdn, указанное в запросе.

Если какое-то поле не указано в запросе, то поле детализации события аудита не заполняется

Операции по получению исторических данных о сессиях пользователей на устройствах:

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

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

  • получение списка активных сессий пользователя на устройстве;

  • экспорт исторической информации о сессиях

Действия администратора, связанные с настройкой отчётов (osmax-core)

Редактирование

OBJ-401

Идентификатор отчёта в БД. Для методов DELETE и PUT указывается значение из path-параметра. Для метода POST — из ответа

Регистрация шаблона отчета

отчет

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

reportName — имя отчёта; для методов POST и PUT указывается значение поля name из тела запроса; для метода DELETE указывается значение поля name таблицы БД reports; поиск выполняется по reportId, указанному в запросе

Операции с отчетами:

  • создание отчета на основе SQL-запроса;

  • изменение отчета на основе SQL-запроса;

  • удаление отчета по идентификатору

Выгрузка

OBJ-403

Идентификатор отчёта в БД. Указывается значение поля reportId из запроса

Выгрузка отчета

отчет

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

name — имя отчёта; указывается значение поля name таблицы БД lcm.report; поиск выполняется по reportId, указанному в запросе

Исполнение отчета

Действия администратора, связанные с установкой ОС (osmax-provisioner)

Редактирование

OBJ-501

Идентификатор Дистрибутива (installation_distros). Для методов DELETE и PUT указывается значение из path-параметра. Для метода POST — из ответа

Редактирование Дистрибутива

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

name — имя дистрибутива; для методов POST и PUT указывается значение поля name из тела запроса; для метода DELETE указывается значение поля name таблицы БД installation_distros; поиск выполняется по installationDistroId, указанному в запросе

Операции по работе с установочными дистрибутивами операционных систем, содержащих информацию об операционной системе и путях до репозиториев, в которых хранятся дистрибутивы:

  • создание установочного дистрибутива;

  • изменение установочного дистрибутива;

  • удаление установочного дистрибутива

Редактирование

OBJ-502

Идентификатор Профиля установки (installation_profiles). Для методов DELETE и PUT указывается значение из path-параметра; для метода POST — из ответа

Редактирование Профиля установки

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

name — имя профиля установки; для методов POST и PUT указывается значение поля name из тела запроса; для метода DELETE указывается значение поля name таблицы БД installation_profiles; поиск выполняется по installationProfileId, указанному в запросе

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

  • создание профиля установки;

  • изменение профиля установки;

  • удаление профиля установки

Редактирование

OBJ-503

Идентификатор способа развертывания (Installation_recipes). Для методов DELETE и PUT указывается значение из path-параметра; для метода POST — из ответа

Редактирование Развертывания

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

name — имя способа развертывания; для методов POST и PUT указывается значения поля name из тела запроса; для метода DELETE указывается значение поля name таблицы БД Installation_recipes; поиск выполняется по installationRecipeId, указанному в запросе

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

  • создание способа развертывания;

  • изменение способа развертывания;

  • удаление способа развертывания

Редактирование

OBJ-504

Идентификатор Загрузочного образа (bootable_images). Для методов DELETE и PUT указывается значение из path-параметра; для метода POST — из ответа

Редактирование Загрузочного образа

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

name — имя загрузочного образа; для методов POST и PUT указывается значение поля name из тела запроса; для метода DELETE указывается значение поля name таблицы БД bootable_images; поиск выполняется по bootableImageId, указанному в запросе

Cоздание загрузочного образа

Выгрузка

OBJ-505

Идентификатор Загрузочного образа (значение bootable_image, указанное в path-параметре)

Выгрузка файла Загрузочного образа

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

name — имя загрузочного образа; указывается значение поля name таблицы БД bootable_images; поиск выполняется по bootableImageId

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

Редактирование

OBJ-506

Идентификатор Шаблона (Installation_templates). Для методов DELETE и PUT указывается значение из path-параметра. Для метода POST — из ответа

Редактирование Шаблона конфигурации установки

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

name — имя шаблона; для методов POST и PUT указывается значение поля name из тела запроса; для метода DELETE указывается значение поля name таблицы БД templates; поиск выполняется по templateId, указанному в запросе

Операции по работе с файлами шаблонов, необходимых для установки операционных систем, например для формирования конфигурационных файлов, файлов ответов или скриптов пост-установки:

  • создание шаблона;

  • изменение шаблона;

  • удаление шаблона

Редактирование

OBJ-507

Идентификатор Нового устройства (unprovisioned_machines). Для методов DELETE и PUT указывается значение из path-параметра. Для POST — из ответа

Редактирование Нового устройства для установки ОС

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

hostName — имя хоста нового устройства; для методов POST и PUT указывается значение поля name из тела запроса; для метода DELETE указывается значение поля host_name таблицы БД unprovisioned_machines; поиск выполняется по unprovisioned_machine_id, указанному в запросе

Операции по работе с устройствами, физическими или виртуальными, на которых необходимо произвести установку операционной системы:

  • создание устройства;

  • изменение устройства;

  • удаление устройства

Редактирование

OBJ-508

Идентификатор процесса установки (installation_process). Для метода POST указывается значение из path-параметра

Фиксация состояния процесса установки

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

installationProcessId — идентификатор процесса установки на устройство. Для метода POST указывается значение из поля installationProcessId

Получение истории процесса по уникальному идентификатору устройства

Редактирование

OBJ-509

-

`Экспорт в файл отчета `

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • object — имя ресурса; в зависимости от вызванной конечной точки (endpoint) может принимать одно из значений:

    • bootable_images — загрузочный образ;

    • templates — шаблон;

    • installation_distros — установочный дистрибутив;

    • unprovisioned_machines  — устройство, на которое необходимо установить ОС;

    • Installation_recipes — план развертывания;

    • installation_profiles-- профиль установки;

  • format —  CSV-файл

Изменения сохраняются в БД. Событие создается при выполнении запросов с фронтенда:

  • экспорт загрузочных образов по критериям в CSV-файл;

  • экспорт шаблонов по критериям в CSV-файл;

  • экспорт дистрибутивов по критериям в CSV-файл;

  • экспорт новых устройств по критериям в CSV-файл;

  • экспорт планов развертывания по критериям в CSV-файл;

  • экспорт профилей установки по критериям в CSV-файл

Действия администратора, связанные с модулями grain, state, execution (osmax-core)

Редактирование

MODULES-001

Идентификатор файла (saltFileId). Для метода DELETE указывается значение из path-параметра. Для POST — из ответа

Загрузка модулей grain modules, state modules, execution modules

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • module_file_name — имя файла; для метода POST указывается имя file_name из тела запроса; для метода DELETE указывается значение поля file_name таблицы БД salt_files; поиск выполняется по saltFileId, указанному в запросе;

  • salt_file_status — указывается значение поля status из ответа (содержит информацию об общем статусе загрузки файла в S3-совместимое хранилище)

  • import_result — указывается значение поля import_result из ответа (содержит информацию по записи/удалению для каждого S3-совместимого хранилища)

Операции с пользовательскими файлами SaltStack (grains, states, execution modules):

  • загрузка файла SaltStack;

  • удаление файла SaltStack

Grain, State, Execution modules — это модули SaltStack, представленные в виде файлов python. Они могут быть загружены и удалены из S3-совместимого хранилища и БД. В БД содержится информация о файле, статус загрузки в S3-совместимое хранилище и статус по каждому хранилищу

Процедура

GRAIN-003

-

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

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

Получение информации о состоянии агентов (minions) из БД

Действия администратора, связанные с запросом удаленного доступа (osmax-core)

Запрос

RA-001

-

Запрос для получения удаленного доступа на устройство по выбранному протоколу

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • minion — значение поля minionId, указанное в запросе;

  • protocol — значение поля protocol, указанное в запросе;

  • user — полное доменное имя пользователя

Запрос для получения удаленного доступа на устройство по выбранному протоколу

Действия администратора, связанные с удаленными операциями (osmax-core)

Процедура

RO-001

-

Создание заявки на выполнение удаленной операции

null

  • remote_operation — поле remoteOperationId из запроса;

  • minion_list — поле machineFqdns из запроса

Создание заявок на выполнение удаленной операции

Редактирование

RO-002

Указывается значение из параметра пути {id}

Редактирование параметров операции

null

parameters — поле remoteOperationParameters из запроса

Изменение параметров удаленной операции

Действия администратора, связанные с разблокировкой заблокированных пессимистичной блокировкой сущностей (osmax-core, osmax-provisioner)

Редактирование

BLOCK-001

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

Ручное снятие блокировки с экземпляра сущности.

Необходимо различать разблокировку, связанную с сохранением заблокированной сущности, такая разблокировка не аудируется

null

Удаление произвольной блокировки по идентификатору. Используется для удаления любой блокировки захваченной любым пользователем. Для использования требуется специальное разрешение: locked_objects:delete

Действия администратора, связанные с удалением данных из БД

Редактирование

CLDB-01

Идентификатором является имя таблицы из запроса (entity_name)

Редактирование параметров удаления данных из БД

null

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • enabled — поле enabled из тела запроса;

  • schedule — поле schedule из тела запроса;

  • history_depth_days — поле historyDepthDays из тела запроса

Изменение параметров автоматического удаления неактуальных данных из БД по уникальному внутреннему наименованию сущности

Процедура

CLDB-02

Идентификатором является имя таблицы, на которой производится удаление данных (поле name в таблице cleanable_entities)

Периодическая очистка данных из БД

null

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

  • success;

  • failure

execution_status — поле last_execution_status из таблицы cleanable_entities

Событие запускается после выполнения задания на удаление, если удаление производилось

События, связанные с действиями пользователя в МП

type code object.id message object.name class StartTime и EndTime additionalParams

Описание

Запрос

SOFT-001

Идентификатор заказа, указанный в ответе

Создание заказа на установку или обновление или удаление версии ПО

заказ

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

  • success;

  • failure (в случае HTTP-ошибок с кодом 4хх или 5xx, кроме 401 и 403)

  • configurationName — указывается значение поля display_name таблицы БД lcm.configurations; поиск выполняется по configurationId, указанному в запросе;

  • configurationVersionName-- указывается значение поля display_name таблицы БД lcm.configuration_versions; поиск выполняется по configurationVersionId, указанному в запросе;

  • configurationVersionId — значение поля configurationVersionId, указанное в запросе;

  • softName — указывается значение поля formula_name таблицы БД lcm.configurations; поиск выполняется по configurationId, указанному в запросе;

  • action — значение поля action, указанное в запросе