Kaspersky IoT Secure Gateway 1000 SDK

Наборы команд KDS

23 января 2025

ID 291989

Kaspersky IoT Secure Gateway 1000 SDK позволяет создавать и использовать в Kaspersky IoT Secure Gateway 1000 наборы команд KDS. Наборы команд KDS разрабатываются на языке программирования Python и позволяют использовать API программ ConfigManager и PackageManager – программы, предназначенной для работы с KPA-пакетами и другими программами в Kaspersky IoT Secure Gateway 1000. Запуск наборов команд KDS осуществляется с помощью службы отладки KDS. Вы можете привязать любой набор команд KDS к образу Kaspersky IoT Secure Gateway 1000 с помощью команды kosctl playbook set-effective или запустить вручную во время работы Kaspersky IoT Secure Gateway 1000 с помощью команды kosctl play.

Наборы команд KDS в составе Kaspersky IoT Secure Gateway 1000 SDK

Обратите внимание: при разработке собственных программ вам может потребоваться внести изменения в готовые наборы команд KDS. Для этого вы можете подставить требуемые значения в файлы рядом с комментариями, содержащими текст ... Specify this ....

Готовые наборы команд KDS содержатся в директории /opt/KasperskyOS-SDK-KISG-Platform-<version>/examples/secure_gateway/sdkl3/playbooks:

  • common.py – устанавливает значения переменных окружения, которые используются в других наборах команд KDS. В этом наборе команд KDS устанавливаются значения следующих переменных:
    • PM_CONFIG – набор параметров программы PackageManager.
    • SG_CONFIGS_DIR – путь хранения установленных конфигураций на устройстве.
    • SG_APP_CA_CERT_PATH – путь хранения корневого сертификата программ на устройстве.
    • SG_SECURE_STORAGE_DB_PATH – путь хранения файла базы данных защищенного хранилища на устройстве.
    • SG_CERT_INFO – шаблон для хранения файлов сертификатов.
    • PRODUCT_INFO_CONFIG_NAME – имя файла конфигурации c информацией о продукте.
    • WEB_SERVER_CONFIG_NAME – имя файла конфигурации с информацией о сертификатах и настройками журналирования для TLS-соединений.
    • DELIMETER_LINE – разделительная линия для журнала.
    • TMP_DIR_NAME – имя директории для хранения временных файлов на локальном компьютере.
  • configure_applications.py – применяет конфигурации программ, указанных в переменной словаре APP_CONFIGS. Конфигурации применяются только для установленных в Kaspersky IoT Secure Gateway 1000 программ.
  • reboot.py – отправляет команду на перезагрузку Kaspersky IoT Secure Gateway 1000.
  • set_app_ca_cert.py – копирует и устанавливает корневой сертификат для программ.
  • set_log_levels_for_apps.py – применяет указанный уровень журналирования для установленных в Kaspersky IoT Secure Gateway 1000 программ.
  • set_system_configs.py – устанавливает системную конфигурацию Kaspersky IoT Secure Gateway 1000, используя файлы по пути, указанному в переменной SYSTEM_CONFIGS_DIR. Набор команд не предназначен для установки конфигураций программ.

Работа с конфигурациями

Для доступа к API программы ConfigManager требуется создать объекты взаимодействия:

  • Для создания объекта взаимодействия с системной конфигурацией требуется вызвать метод kos.cfg_manager.CreateDynamicConfigManagerProxy({}).
  • Для создания объекта взаимодействия с конфигурациями пользовательских программ требуется вызвать метод kos.secure_gateway.AppConfig.CreateAppConfig().

Используя полученные объекты взаимодействия, вы можете вызывать методы GetConfig() и SetConfig() программы ConfigManager для получения и изменения конфигурации.

Получение информации об установленных программах

Для доступа к API программы PackageManager требуется создать объект взаимодействия, вызвав метод kos.pkg_mgr.PkgMgr.CreatePackageManager(<PkgMgrConfig>).GetPackageController(), где PkgMgrConfig – структура с набором параметров программы PackageManager. Используя полученный объект взаимодействия, вы можете вызывать метод ListInstalledPackages() программы PackageManager, позволяющий получить список программ, установленных в Kaspersky IoT Secure Gateway 1000.

Управление параметрами запуска программ

Для доступа к API управления параметрами запуска программ требуется создать объект взаимодействия, вызвав метод kos.secure_gateway.Launcher.CreateLauncherProxy(). Используя полученный объект взаимодействия, вы можете использовать методы GetAppsStartupSettings() – для получение параметров запуска программ и SetAppsStartupSettings(<параметры>) – для установки параметров запуска программ, где параметры – структура, содержащая параметры запуска программ.

Запись в журнал событий kosctl

Вы можете импортировать переменную log из модуля kosctl.common.logger, которая упрощает процедуру журналирования. После импорта вам станут доступны вызовы функций log.debug(), log.info(), log.warning() и log.error(), которые выполняют запись сообщений в журнал с соответствующим уровнем. Эти сообщения не будут записаны в журнал событий Kaspersky IoT Secure Gateway 1000.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!