Управление интеграцией в R-Vision VM
Данный раздел содержит информацию об управлении интеграцией с файлами в R-Vision VM. Работа осуществляется в разделах Ресурсы → Переменные и Настройки → Интеграции → Интеграции ИБ-активов веб-интерфейса R-Vision VM.
Доступные действия над интеграцией:
Добавление интеграции
|
Один экземпляр интеграции позволяет импортировать только экземпляры одной сущности. Чтобы импортировать экземпляры нескольких разных сущностей, вы можете:
Рекомендации по настройке импорта экземпляров нескольких связанных сущностей приведены в разделе Импорт экземпляров нескольких сущностей. |
Чтобы добавить интеграцию R-Vision VM с файлами, выполните следующие действия:
-
Перейдите в раздел Ресурсы → Переменные веб-интерфейса R-Vision VM.
-
Добавьте переменную, которая будет хранить логин пользователя файлового сервера.
Используется логин того же пользователя, который был создан на файловом сервере на этапе его настройки. Для этого:
-
Нажмите на кнопку Создать (
). Отобразится окно создания переменной.
-
Укажите следующие параметры переменной:
-
ID — произвольный.
-
Название — произвольное.
-
Организация — организация, в рамках которой будет работать интеграция.
-
Описание — произвольное.
-
Секрет — установите переключатель в активное положение.
-
Тип — String.
-
Значение переменной — логин пользователя файлового сервера, созданного на этапе его настройки.
-
-
Нажмите на кнопку Создать. Переменная будет создана и добавлена в список в разделе Ресурсы → Переменные. Система отобразит соответствующее уведомление.
-
-
Аналогичным образом добавьте переменную, которая будет хранить пароль пользователя файлового сервера.
-
Перейдите в раздел Настройки → Интеграции → Интеграции ИБ-активов веб-интерфейса R-Vision VM.
-
Нажмите на кнопку
и выберите из выпадающего списка опцию Интеграция с файлом. Отобразится окно создания интеграции.
-
Выберите из выпадающего списка организацию, в которой будет работать интеграция.
Организация должна совпадать с организацией, в которой созданы переменные для логина и пароля пользователя файлового сервера. -
Введите название интеграции. Название может быть произвольным.
-
Введите доменное имя или IP-адрес файлового сервера.
-
Если номер порта, по которому устанавливается соединение между R-Vision VM и файловым сервером, отличается от
445, введите его в поле Порт. -
В поле Логин выберите переменную с логином пользователя файлового сервера, добавленную на шаге 2.
-
В поле Пароль выберите переменную с паролем пользователя файлового сервера, добавленную на шаге 3.
-
В поле Путь к сетевой папке укажите абсолютный путь к файлам в сетевой папке, из которых будет импортироваться информация об объектах.
Нельзя использовать двойную обратную косую черту ( \\).В качестве пути можно указать:
-
Абсолютный путь к файлу, например:
/reports/maxpatrol/assets.csv. -
Путь к файлам с символом подстановки
*в конце строки: например,/reports/maxpatrol/assets*или/reports/maxpatrol/*.
-
-
В поле Тип файла выберите тип файлов, из которых будет импортироваться информация об объектах:
-
XLSX;
-
CSV;
-
JSON;
-
XML.
-
-
Если импорт активов происходит из файлов типов JSON или XML, в поле Путь определения сущности укажите, по какому пути в JSON- или XML-файле находится массив данных об объектах.
-
Пример для JSON
-
Пример для XML
Пусть на вход интеграции поступает следующий файл:
{ "asset": { "node": [ { "deviceName": "Node1", "field": [ { "name": "hostName", "value": "win81x64en01" }, { "name": "ip_address", "value": "10.0.0.1" }] }, { "deviceName": "Node2", "field": [ { "name": "hostName", "value": "win81x64en02" }, { "name": "ip_address", "value": "10.0.0.2" }] } ] } }В данном случае массив информации об узлах находится в свойстве
asset.node.В качестве значения поля Путь определения сущности следует указать
asset.node[*], чтобы интеграция извлекла все элементы массива.Пусть на вход интеграции поступает следующий файл:
<?xml version="1.0" encoding="utf-8"?> <root> <devices> <device id="1"> <deviceName>AD Controller</deviceName> <operatingSystem>Microsoft Windows Server 2025</operatingSystem> <nodeType>Контроллер домена Active Directory</nodeType> <ip_address name="Interface 1"> 10.0.0.1 </ip_address> </device> <device id="2"> <deviceName>Workstation</deviceName> <operatingSystem>Microsoft Windows 11</operatingSystem> <nodeType>Рабочая станция</nodeType> <ip_address name="Interface 2"> 10.0.0.2 </ip_address> </device> </devices> </root>XML-файл будет конвертирован в JSON скриптом парсера, при этом атрибуты XML будут преобразованы в JSON-объект c ключом
_attr_, а текст внутри тега — в объект с ключом_text_:{ "root": { "devices": { "device": [ { "_attr_": { "id": 1 }, "deviceName": "AD Controller", "operatingSystem": "Microsoft Windows Server 2025", "nodeType": "Контроллер домена Active Directory", "ip_address": { "_text_": "10.0.0.1", "_attr_": { "name": "Interface 1" } } }, { "_attr_": { "id": 2 }, "deviceName": "Workstation", "operatingSystem": "Microsoft Windows 11", "nodeType": "Рабочая станция", "ip_address": { "_text_": "10.0.0.2", "_attr_": { "name": "Interface 2" } } } ] } } }В данном случае массив информации об узлах находится внутри тега
root.devices.device.В качестве значения поля Путь определения сущности следует указать
root.devices.device[*], чтобы интеграция извлекла все элементы массива.Если не заполнять поле Путь определения сущности, корневой элемент файла рассматривается как единственная сущность, из которой извлекаются значения полей. -
-
В таблицу Имена столбцов для external_id добавьте имена столбцов или пути к полям с уникальными идентификаторами импортируемых объектов в исходных файлах. Эти идентификаторы используются в NATS для однозначной идентификации объектов.
Для каждого импортируемого файла следует указывать имя столбца или путь к полю в отдельной строке таблицы. Пример заполнения таблицы Имена столбцов для external_idПусть задан путь к каталогу с файлами
/files/file*. В этом каталоге есть два файла:-
file1.csv; -
file2.csv.
В первом файле идентификаторы объектов находятся в столбце
ID, во втором — в столбцеidentifier. В этом случае в таблицу Имена столбцов для external_id следует добавить два значения:-
ID; -
identifier.
-
-
В поле Тип источника данных оставьте значение по умолчанию.
-
В поле Группа воркеров укажите
files_integration_worker_group. -
В поле Тип сущности (для отправки в шину) укажите идентификатор типа импортируемой сущности, который будет использоваться для передачи данных о ней в NATS. Идентификатор может быть произвольным.
Рекомендуется выбирать имя идентификатора согласно бизнес-логике сущности. Например, для сущности Склад можно использовать идентификатор StorageType. -
В поле Пагинация введите максимальное количество объектов, выгружаемых системой из NATS и передаваемых в плейбук load за один раз.
Значение поля Пагинация влияет только на количество объектов, одновременно обрабатываемых внутри системы. На количество объектов, выгружаемых из внешней системы, этот параметр не влияет.
-
В поле Задержка отправки запросов введите интервал в секундах между повторными запросами к внешней системе, если запрос к ней завершился с ошибкой.
-
В поле Число повторных попыток отправки данных введите максимальное количество повторных запросов к внешней системе, если запрос к ней завершился с ошибкой.
Если достигнуто максимальное число повторных попыток отправки данных и все эти попытки завершились с ошибкой, запуск интеграции также будет прерван с ошибкой. -
Если требуется связать экземпляры сущности, которые вы импортируете, с экземплярами другой сущности, в таблице Связи (linkages) укажите, в каких столбцах или полях импортируемого файла находятся идентификаторы экземпляров другой сущности:
-
В столбце Тип сущности (из шины) укажите идентификатор типа другой сущности, который будет использоваться для передачи данных о ней в NATS. Идентификатор может быть произвольным, соответствующим бизнес-логике сущности.
-
В столбце Поле-идентификатор укажите имя столбца или поля, в котором хранятся идентификаторы экземпляров внешней сущности.
Пример заполнения таблицы Связи (linkages)Пусть на вход интеграции поступает следующий файл:
{ "asset": { "node": [ { "deviceName": "Node1", "hostName": "win81x64en01", "ip_address": "10.0.0.1", "admin_id": "1" }, { "deviceName": "Node2", "hostName": "win81x64en02", "ip_address": "10.0.0.2", "admin-id": "2" } ] } }Необходимо связать хосты с учетными записями пользователей, которые являются их администраторами. В нотации JSONPath идентификаторы этих учетных записей находятся по пути
asset.node[*].admin_id.Пусть в поле Путь определения сущности указано значение
asset.node[*]. В таком случае в таблицу Связи (linkages) следует добавить следующую строку:Тип сущности (из шины) Поле-идентификатор AccountTypeadmin_id
-
-
Если вы импортируете экземпляры сущности, не являющейся типом ИБ-активов, добавьте новое правило нормализации в строку таблицы Правила нормализации.
По умолчанию в таблицу Правила нормализации добавлены только правила нормализации данных об ИБ-активах. -
Если правило нормализации для импортируемой сущности не существует, создайте его согласно инструкции в разделе Настройка правил нормализации для интеграций.
-
В таблицу Правила нормализации добавьте следующую строку:
-
Тип сущности — тип импортируемой сущности в NATS. Может быть произвольным, соответствующим бизнес-логике сущности.
-
ID схемы домена — идентификатор схемы домена, в которой определена импортируемая сущность.
-
ID сущности — идентификатор импортируемой сущности в схеме домена.
-
ID правила нормализации — идентификатор правила нормализации для сущности.
-
Зависимые типы — массив идентификаторов сущностей, для которых связь с текущей сущностью обязательна. Указывается как массив строк.
Например, пусть требуется импортировать сущность
Storageиз доменаstorage.custom. Для этой сущности создано правило нормализацииStorage.storage.custom. При этом в системе есть сущностиSectionиShelf, которые обязательно должны быть связаны соStorage(секции и полки находятся на конкретном складе).Тогда строка правила нормализации
Storage.storage.customв таблице Правила нормализации может быть заполнена следующим образом:-
Тип сущности —
StorageType. -
ID схемы домена —
storage.custom. -
ID сущности —
Storage. -
ID правила нормализации —
Storage.storage.custom. -
Зависимые типы —
["Section", "Shelf"].
-
-
-
Если вы импортируете связи между сущностями, хотя бы одна из которых не является типом ИБ-активов, в таблицу Правила связывания добавьте по строке для каждой из таких связей.
По умолчанию в таблицу Правила связывания добавлены только правила связывания ИБ-активов. Строки заполняются следующим образом:
-
ID домена связи — идентификатор схемы домена, в которой определена импортируемая связь.
-
ID связи — идентификатор импортируемой связи в схеме домена.
-
Тип сущности — тип импортируемой сущности в NATS. Может быть произвольным, соответствующим бизнес-логике сущности.
-
ID домена связываемой сущности — идентификатор схемы домена, в котором определена связываемая сущность.
-
ID связываемой сущности — идентификатор связываемой сущности в схеме домена.
-
Тип связываемой сущности — тип связываемой сущности в NATS. Может быть произвольным, соответствующим бизнес-логике сущности.
-
Тип сущности (левая сторона связи) — тип импортируемой сущности в NATS; укажите то же значение, что и в столбце Тип сущности.
-
Тип сущности (правая сторона связи) — тип связываемой сущности в NATS; укажите то же значение, что и в столбце Тип связываемой сущности.
Например, пусть требуется импортировать сущность
Storageиз доменаstorage.custom, связанную с сущностьюDeviceиз доменаisassets.rvision.ruи с сущностьюShelfиз доменаstorage.custom.Тогда в таблицу Правила связывания следует добавить две строки:
-
Для связи с сущностью
Device:-
ID домена связи —
storage.custom. -
ID связи —
Storage_to_Device. -
Тип сущности —
StorageType. -
ID домена связываемой сущности —
isassets.rvision.ru. -
ID связываемой сущности —
Device. -
Тип связываемой сущности —
DeviceType. -
Тип сущности (левая сторона связи) —
StorageType. -
Тип сущности (правая сторона связи) —
DeviceType.
-
-
Для связи с сущностью
Shelf:-
ID домена связи —
storage.custom. -
ID связи —
Storage_to_Shelf. -
Тип сущности —
StorageType. -
ID домена связываемой сущности —
storage.custom. -
ID связываемой сущности —
Shelf. -
Тип связываемой сущности —
ShelfType. -
Тип сущности (левая сторона связи) —
StorageType. -
Тип сущности (правая сторона связи) —
ShelfType.
-
-
-
Чтобы настроить расписание запуска интеграции, установите переключатель Запуск по расписанию в активное положение и выполните действия ниже.
-
Выберите часовой пояс из выпадающего списка.
-
Выберите формат расписания, на основании которого будет запускаться интеграция. Доступные форматы:
-
Cron-выражение;
-
Расписание.
-
-
Если была выбрана опция Cron-выражение, задайте cron-выражение для запуска интеграции по расписанию.
Указанное cron-выражение задает расписание для триггера, по которому выполняется интеграция. Вы можете ознакомиться с синтаксисом cron-выражений в разделе Работа с автоматизациями. -
Если была выбрана опция Расписание, выполните следующие шаги:
-
Выберите режим запуска интеграции из выпадающего списка Запускать. Доступные режимы:
-
Каждый месяц;
-
Каждую неделю;
-
Каждый день;
-
Каждый час;
-
Каждую минуту.
-
-
Если выбран режим запуска Каждый месяц, укажите следующие параметры:
-
Интервал между запусками в месяцах.
-
Дни месяца, в которые будет выполняться запуск, через запятую. Например:
1, 5, 10, 15, 20, 25, 30.
-
-
Если выбран режим запуска Каждую неделю, выберите из выпадающего списка день недели, в который будет запускаться интеграция.
-
Если выбран режим запуска Каждый день, Каждый час или Каждую минуту, укажите интервал между запусками в днях, часах или минутах соответственно.
-
Если выбран любой режим запуска, кроме Каждую минуту, выберите интервал времени, в который будет запускаться интеграция.
Доступны интервалы в 15 минут с 00:00 до 23:59.
-
-
Нажмите на кнопку Добавить. Система создаст интеграцию и отобразит соответствующее уведомление. Новая интеграция отобразится в списке раздела.
Просмотр интеграции
Чтобы просмотреть настройки интеграции:
-
Перейдите в раздел Настройки → Интеграции → Интеграции ИБ-активов веб-интерфейса R-Vision VM. Система отобразит список существующих интеграций.
-
Нажмите на строку интеграции в списке. Система отобразит в правой части экрана карточку этой интеграции с подробной информацией о ней.
В верхней части карточки отображается название интеграции. Справа от названия расположена кнопка , при нажатии на которую открывается выпадающее меню с действиями, доступными для выбранной интеграции.
Карточка интеграции содержит следующие вкладки:
-
Основное — основная информация об интеграции.
-
Расширенные параметры — дополнительные параметры интеграции: связи полей, правила нормализации и связывания.
-
История — история изменений интеграции.
-
Конфигурация — тип источника данных, группа воркеров и тип сущности интеграции, а также настройки интенсивности обработки импортируемых объектов.
Вкладка Основное
На вкладке Основное отображаются основные сведения об интеграции и элементы управления ей:
-
Кнопка Запустить (
) позволяет запустить интеграцию вручную.
-
Организация — организация, в рамках которой работает интеграция.
-
Название — название интеграции.
-
Статус — статус последнего запуска интеграции:
-
Успешно;
-
Ошибка;
-
В процессе;
-
Отменена.
-
-
Секция Параметры подключения:
-
Адрес сервера — доменное имя или IP-адрес файлового сервера.
-
Порт — порт, по которому устанавливается соединение между R-Vision VM и файловым сервером.
-
Логин — имя переменной, которая хранит логин пользователя файлового сервера.
-
Пароль — имя переменной, которая хранит пароль пользователя файлового сервера.
-
Путь к сетевой папке — абсолютный путь к сетевой папке и файлам, из которых будет импортироваться информация об объектах.
-
Тип файла — тип файлов, из которых импортируется информация об объектах:
-
XLSX;
-
CSV;
-
JSON;
-
XML.
-
-
Путь определения сущности — путь в JSON- или XML-файле, по которому находится массив данных об объектах.
-
-
Таблица Имена столбцов для external_id содержит имена столбцов или пути к полям с уникальными идентификаторами импортируемых объектов в исходных файлах.
-
Секция Расписание:
-
Запуск по расписанию — определяет, происходят ли запуски интеграции по заданному расписанию.
-
Часовой пояс — часовой пояс для времени запуска интеграции.
-
Формат расписания — формат расписания для запуска интеграции. Доступные форматы:
-
Cron-выражение;
-
Расписание.
-
-
Cron-выражение — cron-выражение для запуска интеграции по расписанию.
Данное поле отображается, только если в поле Формат расписания выбрана опция Cron-выражение. Указанное cron-выражение задает расписание для триггера, по которому выполняется интеграция. Вы можете ознакомиться с синтаксисом cron-выражений в разделе Работа с автоматизациями. -
Запускать — режим запуска интеграции. Доступные значения:
-
Каждый месяц;
-
Каждую неделю;
-
Каждый день;
-
Каждый час;
-
Каждую минуту.
Это и все последующие поля отображаются, только если в поле Формат расписания выбрана опция Расписание. -
-
Интервал повторения — количество единиц времени между последовательными запусками интеграции.
-
Дни повторения (через запятую) — дни месяца, в которые будет выполняться запуск, через запятую. Отображается только для режима запуска Каждый месяц.
-
День недели — день недели, в который будет запускаться интеграция. Отображается только для режима запуска Каждую неделю.
-
Время запуска — время, в которое инициируется выполнение интеграции. Отображается для всех режимов запуска, кроме Каждую минуту.
Доступны интервалы в 15 минут с 00:00 до 23:59.
-
Вкладка Расширенные параметры
Вкладка Расширенные параметры содержит дополнительные параметры интеграции:
-
Связи (linkages) — таблица столбцов или полей исходного файла, содержащих идентификаторы объектов, с которыми требуется связать импортируемые объекты.
-
Правила нормализации — таблица правил преобразования исходных данных об объектах в формат, который требуется для добавления информации об объектах в домен.
-
Правила связывания — таблица правил связывания экземпляров разных сущностей.
Вкладка История
Вкладка История отображает сведения о запусках интеграции, а также об изменениях ее настроек.
Вкладка Конфигурация
Вкладка Конфигурация содержит следующие поля:
-
Тип источника данных — в текущей версии интеграции всегда имеет значение
integrationFile. -
Группа воркеров — группа воркеров, на которой запускается интеграция —
files_integration_worker_group. -
Тип сущности (для отправки в шину) — идентификатор типа импортируемых объектов в NATS.
-
Пагинация — максимальное количество объектов, выгружаемых системой из NATS и передаваемых в плейбук load за один раз.
-
Задержка отправки запросов — интервал в секундах между повторными запросами к внешней системе, если запрос к ней завершился с ошибкой.
-
Число повторных попыток отправки данных — максимальное количество повторных запросов к внешней системе, если запрос к ней завершился с ошибкой.
Удаление интеграции
Вы можете удалить интеграцию следующими способами:
-
через меню действий;
-
через массовое удаление.
Была ли полезна эта страница?