Подписание расширений
Подписание расширений
Перед загрузкой расширения в среду Ключ-АСТРОМ подпишите его для проверки подлинности. После подписания сохраните корневой сертификат в специальном каталоге на каждом хосте, где работает расширение (будь то ЕдиныйАгент или АктивныйШлюз).
- В среде разработки у каждого разработчика должен быть уникальный листовой сертификат. Это обеспечивает прослеживаемость изменений.
- В производственной среде каждое расширение должно быть подписано собственным листовым сертификатом. Это гарантирует подлинность каждого расширения.
Подписание расширения
В зависимости от потребностей выберите один из следующих способов подписания и сборки расширения:
- 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):
- Проверьте права доступа к файлу:
- Linux:
- ЕдиныйАгент:
ls -l /var/lib/astromkey/oneagent/agent/config/certificates/root.pem - АктивныйШлюз:
ls -l /var/lib/astromkey/remotepluginmodule/agent/conf/certificates/root.pem
- ЕдиныйАгент:
- Windows: откройте свойства файла и перейдите на вкладку «Безопасность».
- Linux:
- Убедитесь, что права доступа соответствуют описанным в разделе «Права доступа к файлу сертификата».
- После исправления прав доступа перезапустите Контроллер выполнения расширений, если ошибка сохраняется.