Подписание расширений

Материал из Документация Ключ-АСТРОМ

Подписание расширений

Перед загрузкой расширения в среду Ключ-АСТРОМ подпишите его для проверки подлинности. После подписания сохраните корневой сертификат в специальном каталоге на каждом хосте, где работает расширение (будь то ЕдиныйАгент или АктивныйШлюз).

  • В среде разработки у каждого разработчика должен быть уникальный листовой сертификат. Это обеспечивает прослеживаемость изменений.
  • В производственной среде каждое расширение должно быть подписано собственным листовым сертификатом. Это гарантирует подлинность каждого расширения.

Подписание расширения

В зависимости от потребностей выберите один из следующих способов подписания и сборки расширения:

  • dt-extensions-sdk — универсальный инструмент командной строки (рекомендуется)
  • Расширение VS Code — инструмент на основе редактора (рекомендуется)
  • Использовать OpenSSL — стандартная криптографическая библиотека для ручного управления

CLI Ключ-АСТРОМ

Для подписания расширения также можно использовать CLI Ключ-АСТРОМ (dt-cli). Поскольку его возможности полностью входят в состав CLI dt-extensions-sdk, используйте его только как облегчённую альтернативу для сред CI/CD.

Подробнее о dt-cli на GitHub.

Загрузка корневого сертификата

Загрузите корневой сертификат для повышения безопасности фреймворка Расширения. Это позволяет:

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

Добавление сертификата в хранилище учётных данных

Добавьте корневой сертификат в хранилище учётных данных Ключ-АСТРОМ. Это необходимо перед загрузкой ZIP-файла расширения в вашу среду.

При добавлении сертификата используйте следующие настройки:

  • Тип учётных данных: Публичный сертификат
  • Область действия учётных данных: Проверка расширений

Расширение VS Code делает это автоматически. Если вы работаете с несколькими средами (например, разработки и производства), необходимо добавить сертификат в хранилище учётных данных каждой среды отдельно.

Для расширений JMX добавление сертификата в хранилище учётных данных — единственный необходимый шаг. Сохранять сертификат в файловой системе хоста не требуется.

Удалённые расширения

Загрузите корневой сертификат на каждый хост АктивногоШлюза в группе АктивныхШлюзов, выбранной для выполнения ваших расширений.

Сохраните файл корневого сертификата root.pem в следующем расположении:

  • Linux: /var/lib/astromkey/remotepluginmodule/agent/conf/certificates/
  • Windows: %PROGRAMDATA%\astromkey\remotepluginmodule\agent\conf\certificates

Локальные расширения

Загрузите корневой сертификат на каждый хост ЕдиногоАгента или на каждый хост ЕдиногоАгента в группе хостов, выбранной для выполнения ваших расширений.

Сохраните файл корневого сертификата root.pem в следующем расположении:

  • Linux: /var/lib/astromkey/oneagent/agent/config/certificates
  • Windows: %PROGRAMDATA%\astromkey\oneagent\agent\config\certificates

Права доступа к файлу сертификата

Чтобы Контроллер выполнения расширений мог правильно прочитать сертификат, убедитесь, что файл сертификата имеет правильные права доступа:

  • Windows:
    • ЕдиныйАгент: файл должен быть доступен для LOCAL_SYSTEM
    • АктивныйШлюз: файл должен быть доступен для LOCAL_SERVICE
  • Linux:
    • ЕдиныйАгент: файл должен быть доступен для dtuser
    • АктивныйШлюз: файл должен быть доступен для dtuserag

Загрузка пользовательского расширения

После подписания расширения и загрузки корневого сертификата вы можете загрузить пользовательское расширение в среду Ключ-АСТРОМ. Подробнее см. «Управление расширениями».

Устранение ошибок прав доступа

Если при доступе к файлу сертификата возникают ошибки прав доступа (например, Error opening file /var/lib/astromkey/remotepluginmodule/agent/conf/certificates/root.pem : Permission denied):

  1. Проверьте права доступа к файлу:
    • Linux:
      • ЕдиныйАгент: ls -l /var/lib/astromkey/oneagent/agent/config/certificates/root.pem
      • АктивныйШлюз: ls -l /var/lib/astromkey/remotepluginmodule/agent/conf/certificates/root.pem
    • Windows: откройте свойства файла и перейдите на вкладку «Безопасность».
  2. Убедитесь, что права доступа соответствуют описанным в разделе «Права доступа к файлу сертификата».
  3. После исправления прав доступа перезапустите Контроллер выполнения расширений, если ошибка сохраняется.