Перенос объектов из библиотек шаблонов в общую библиотеку

ID статьи: 3265
Последнее обновление: 14 сен, 2026
Product: UserGate MC
Version: 7.x, 7.6.x

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

Поддерживается перенос элементов следующих типов:

  • списки IP-адресов;

  • списки URL;

  • сервисы;

  • группы сервисов.

Перенос элементов выполняется в два этапа с помощью скриптов:

  • mc-shared-library-objects-migrate.py —  переносит все элементы из библиотеки выбранного шаблона в общую библиотеку.

  • mc-shared-library-template-rules-convert.py — конвертирует правила, настроенные в выбранном шаблоне. Это обеспечивает корректную работу правил после изменения расположения используемых элементов.

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

Перед началом работы убедитесь, что:

  • архив со скриптами скачан в личном кабинете клиента;

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

  • все операции выполняются от имени администратора области, имеющего необходимые права;

  • команды запускаются из командной строки.

Поддерживаются два режима выполнения выполнение скрипта:

  • в режиме диалога с последовательными запросами значений;

  • с помощью полной команды вызова в batch-режиме;

ПримечаниеПри выполнении команд вы также можете указывать пароль через переменную окружения PASSWORD.

Этап 1. Перенос элементов в общую библиотеку

Чтобы перенести элементы из библиотеки шаблона в общую библиотеку в диалоговом режиме выполнения скрипта:

1. В командной строке перейдите в директорию, в которой сохранены скрипты, и выполните команду:

% python3 mc-shared-library-objects-migrate.py -s <IP-адрес сервера UserGate MC> --user <логин администратора области> --password <пароль администратора области> --insecure

Пример команды:

% python3 mc-shared-library-objects-migrate.py -s 172.25.250.21 --user ex_admin --password Example --insecure

ПримечаниеАргумент --insecure следует указывать, если на сервере UserGate MC используется недоверенный сертификат.
ПримечаниеЕсли в команде не указан аргумент --password, для выполнения команды потребуется ввести пароль в отдельной строке.

Отобразится меню выбора продукта.

INFO: Please select source product,
  1 = ngfw
  2 = dcfw
  3 = logan
  4 = siem
  5 = endpoint
> enter corresponding number:

2. Введите порядковый номер продукта и подтвердите ввод. Например, чтобы перенести элементы из библиотеки шаблона конфигурации UserGate NGFW, введите 1. После подтверждения ввода отобразится список шаблонов конфигурации, созданных для этого продукта.

> enter corresponding number: 1
INFO: selected product: ngfw
INFO: Please select source template,
  1 = UserGate Libraries template
  2 = example_content_template
  3 = example_firewall_template
  4 = example_settings
  5 = t1
> enter corresponding number:

3. Введите порядковый номер шаблона конфигурации. После подтверждения ввода отобразится список разделов библиотеки шаблона.

> enter corresponding number: 5
INFO: selected template: t1
INFO: Please select source object type,
  1 = nlist-network
  2 = nlist-url
  3 = nlist-servicegroup
  4 = service

4. Введите порядковый номер раздела библиотеки шаблона:

  • nlists-network — IP-адреса;

  • nlists-url — списки URL;

  • services — сервисы;

  • nlists-servicegroup — группы сервисов.

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

> enter corresponding number: 1
INFO: selected product: nlist-network
INFO: Please select error resolution option,
  1 = name_conflict:error
  2 = name_conflict:overwrite
  3 = name_conflict:skip
  4 = missing_dependencies:error
  5 = missing_dependencies:skip
> enter corresponding numbers (comma separated, eg.: 1,4):

5. При необходимости введите через запятую, какие действия нужно выполнить в случае конфликтов с именами элементов (пункты 1, 2 и 3) и вложенными объектами (пункты 4 и 5):

  • name_conflict:error (действие по умолчанию) — если имя переносимого элемента совпадает с именем элемента в общей библиотеке, перенос будет отменен. В отчете будут указаны имена всех элементов, для которых обнаружен конфликт.

  • name_conflict:overwrite — если имя переносимого элемента совпадает с именем элемента в общей библиотеке, существующий элемент общей библиотеки будет заменен переносимым элементом из библиотеки шаблона. Информация о замене будет сохранена в отчете.

  • name_conflict:skip — если имя переносимого элемента совпадает с именем элемента в общей библиотеке, существующий элемент общей библиотеки останется без изменений, а перенос конфликтующего элемента будет пропущен. Информация о пропуске будет сохранена в отчете.

  • missing_dependencies:error (действие по умолчанию) — если переносимый элемент содержит вложенные объекты, отсутствующие в общей библиотеке, перенос будет отменен. В отчете будут указаны имена всех отсутствующих вложенных объектов.

  • missing_dependencies:skip — если переносимый элемент содержит вложенные объекты, отсутствующие в общей библиотеке, эти вложенные объекты будут исключены из переносимого элемента. Перенос будет выполнен, а в отчете будут указаны имена всех исключенных объектов. 

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

После подтверждения ввода отобразится строка подтверждения запуска переноса элементов.

> Everything is ready to start, continue? Enter 'y' to start or ctrl+c to terminate:

6. Введите Y. После подтверждения ввода начнется процесс переноса элементов в общую библиотеку.

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

Также для переноса элементов в общую библиотеку можно выполнить полную команду вызова в batch-режиме, задав в ней все необходимые параметры переноса.

Пример команды.

% python3 mc-shared-library-objects-migrate.py -s 172.25.250.21 --user ex_admin --password Example --insecure --source-product ngfw \
  --source-template t1 --source-object-type nlist-network --error-resolution name_conflict:error --batch

Пример команды с использованием переменной окружения PASSWORD.

% export PASSWORD=Example
% python3 mc-shared-library-objects-migrate.py -s 172.25.250.21 --user ex_admin --insecure --source-product ngfw --source-template t1 \
  --source-object-type nlist-network --error-resolution name_conflict:error --batch --report-download-dir <путь к директории для сохранения отчета (например,/home/iivanov/tmp)>
ПримечаниеСправка по параметрам выполнения скрипта доступна по команде % python3 mc-shared-library-objects-migrate.py --help.
ПримечаниеЕсли в команде не указана переменная окружения PASSWORD, для выполнения команды потребуется ввести пароль в отдельной строке.

Этап 2. Конвертация правил

Чтобы выполнить конвертацию правил в диалоговом режиме выполнения скрипта:

1.  В командной строке перейдите в директорию, в которой сохранены скрипты, и выполните команду:

% python3 mc-shared-library-template-rules-convert.py -s <IP-адрес сервера UserGate MC> --user <логин администратора области> --password <пароль администратора области> --insecure

Пример команды.
% python3 mc-shared-library-template-rules-convert.py -s 172.25.250.21 --user ex_admin --password Example --insecure

ПримечаниеАргумент --insecure следует указывать, если на сервере UserGate MC используется недоверенный сертификат.
ПримечаниеЕсли в команде не указан аргумент --password, для выполнения команды потребуется ввести пароль в отдельной строке.

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

INFO: Please select source product,
  1 = ngfw
  2 = dcfw
  3 = logan
  4 = siem
  5 = endpoint
> enter corresponding number:

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

> enter corresponding number: 1
INFO: selected product: ngfw
INFO: Please select source template,
  1 = UserGate Libraries template
  2 = example_content_template
  3 = example_firewall_template
  4 = example_settings
  5 = t1
> enter corresponding number:

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

> Everything is ready to start, continue? Enter 'y' to start or ctrl+c to terminate:

4. Введите Y. После подтверждения ввода начнется процесс конвертации правил.

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

Также для конвертации правил можно выполнить полную команду вызова в batch-режиме, задав в ней все необходимые параметры переноса.

Пример команды.

% python3 mc-shared-library-template-rules-convert.py -s 172.25.250.21 --user ex_admin --password Example --insecure --source-product ngfw --source-template t1 --batch

Пример команды с использованием переменной окружения PASSWORD.

% PASSWORD=Example python3 mc-shared-library-template-rules-convert.py -s 172.25.250.21 --user ex_admin --insecure --source-product ngfw --source-template t1 --batch

ПримечаниеСправка по параметрам выполнения скрипта доступна по команде % python3 mc-shared-library-template-rules-convert.py --help.

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

Эта статья была:   Полезна | Не полезна
ID статьи: 3265
Последнее обновление: 14 сен, 2026
Ревизия: 32
Просмотры: 9
Комментарии: 0