Наборы команд 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.