Управление сертификатами IoT Edge
Область применения: IoT Edge 1.1
Внимание
Дата окончания поддержки IoT Edge 1.1 была 13 декабря 2022 г. Чтобы получить сведения о поддержке определенного продукта, службы, технологии или API, перейдите на страницу Политика жизненного цикла поддержки Майкрософт. Дополнительные сведения об обновлении до последней версии IoT Edge см. в разделе "Обновление IoT Edge".
Все устройства IoT Edge используют сертификаты для создания безопасных соединений между средой выполнения и любыми модулями, работающими на устройстве. Устройства IoT Edge, работающие как шлюзы, используют те же сертификаты и для подключения к нижестоящим устройствам. Дополнительные сведения о функциях различных сертификатов на устройстве IoT Edge см. в статье Описание использования сертификатов в Azure IoT Edge.
Примечание.
Термин корневой ЦС , используемый в этой статье, относится к сертификату самого верхнего центра в цепочке сертификатов для решения Интернета вещей. Не нужно использовать корневой сертификат синдицированного центра сертификации, или корневой центр сертификации вашей организации. Во многих случаях это промежуточный сертификат ЦС.
Необходимые компоненты
Устройство IoT Edge. Если устройство IoT Edge не настроено, его можно создать на виртуальной машине Azure. Выполните действия, описанные в одном из кратких руководств, чтобы создать виртуальное устройство Linux или создать виртуальное устройство Windows.
Возможность изменить файл
config.toml
конфигурации IoT Edge после шаблона конфигурации.Если шаблон
config.toml
не основан на шаблоне, откройте шаблон и используйте закомментированные инструкции, чтобы добавить разделы конфигурации после структуры шаблона.Если у вас есть новая установка IoT Edge, которая не настроена, скопируйте шаблон, чтобы инициализировать конфигурацию. Не используйте эту команду, если у вас есть существующая конфигурация. Он перезаписывает файл.
sudo cp /etc/aziot/config.toml.edge.template /etc/aziot/config.toml
ЦС устройства
Все устройства IoT Edge используют сертификаты для создания безопасных соединений между средой выполнения и любыми модулями, работающими на устройстве. Устройства IoT Edge, работающие как шлюзы, используют те же сертификаты и для подключения к нижестоящим устройствам. Дополнительные сведения о функциях различных сертификатов на устройстве IoT Edge см. в статье Описание использования сертификатов в Azure IoT Edge.
IoT Edge автоматически создает ЦС устройства на устройстве в нескольких случаях, в том числе:
- Если вы не предоставляете собственные рабочие сертификаты при установке и подготовке IoT Edge, диспетчер безопасности IoT Edge автоматически создает сертификат ЦС устройства. Этот самозаверяющий сертификат предназначен только для сценариев разработки и тестирования, а не для рабочей среды. Срок действия этого сертификата истекает через 90 дней.
- Диспетчер безопасности IoT Edge также создает сертификат ЦС рабочей нагрузки, подписанный сертификатом ЦС устройства.
Для этих двух автоматически создаваемых сертификатов имеется возможность установки флага в файле конфигурации, чтобы указать количество дней существования сертификатов.
Примечание.
Существует третий автоматически создаваемый сертификат, который создается диспетчером безопасности IoT Edge, — сертификат сервера центра IoT Edge. Этот сертификат всегда имеет 30 дней существования, но автоматически обновляется до истечения срока действия. Автоматически созданное значение времени существования центра сертификации, заданное в файле конфигурации, не влияет на этот сертификат.
Настройка времени существования сертификата ЦС устройства быстрого запуска
После истечения срока действия через указанное число дней IoT Edge необходимо перезапустить, чтобы повторно создать сертификат ЦС устройства. Сертификат ЦС устройства не обновляется автоматически.
Чтобы настроить истечение срока действия сертификата, отличное от 90 дней по умолчанию, добавьте значение в днях в секцию certificates файла config.
certificates: device_ca_cert: "<ADD URI TO DEVICE CA CERTIFICATE HERE>" device_ca_pk: "<ADD URI TO DEVICE CA PRIVATE KEY HERE>" trusted_ca_certs: "<ADD URI TO TRUSTED CA CERTIFICATES HERE>" auto_generated_ca_lifetime_days: <value>
Примечание.
В настоящее время ограничение в libiothsm запрещает использование сертификатов, срок действия которых истекает с 1 января 2038 г.
Удалите содержимое папки
hsm
, чтобы удалить ранее созданные сертификаты./var/aziot/hsm/certs
/var/aziot/hsm/cert_keys
Перезапустите службу IoT Edge.
sudo systemctl restart iotedge
Подтвердите настройку времени существования.
sudo iotedge check --verbose
Проверьте выходные данные в секции production readiness: certificates, где указывается количество дней до истечения срока действия автоматически создаваемых сертификатов ЦС устройства.
Установка ЦС устройства для рабочей среды
После перехода в рабочий сценарий или при необходимости создать устройство шлюза необходимо предоставить собственные сертификаты.
Создание и установка ЦС устройства для рабочей среды
Используйте собственный центр сертификации для создания следующих файлов:
- Корневой ЦС
- Сертификат ЦС устройства
- Закрытый ключ ЦС устройства
Корневой ЦС не является самым верхним центром сертификации для организации. Это центр сертификации самого верхнего уровня для сценария IoT Edge, который используется модулем центра IoT Edge, пользовательскими модулями и всеми подчиненными устройствами для установления отношений доверия между собой.
Чтобы увидеть пример этих сертификатов, рассмотрите сценарии создания демонстрационных сертификатов в статье Управление тестовыми сертификатами ЦС для примеров и учебников.
Примечание.
В настоящее время ограничение в libiothsm запрещает использование сертификатов, срок действия которых истекает с 1 января 2038 г.
Скопируйте три файла сертификатов и ключей на устройство IoT Edge. Для перемещения файлов сертификатов можно использовать службу, например хранилище ключей Azure, или функцию, такую как протокол защищенного копирования. Если вы создали сертификаты на самом устройстве IoT Edge, этот шаг можно пропустить и использовать путь к рабочему каталогу.
Совет
Если вы использовали примеры сценариев для создания демонстрационных сертификатов, три файла сертификата и ключа находятся по следующим путям:
- Сертификат ЦС устройства:
<WRKDIR>\certs\iot-edge-device-MyEdgeDeviceCA-full-chain.cert.pem
- Закрытый ключ ЦС устройства:
<WRKDIR>\private\iot-edge-device-MyEdgeDeviceCA.key.pem
- Корневой ЦС:
<WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem
- Сертификат ЦС устройства:
Откройте файл конфигурации управляющей программы безопасности IoT Edge:
/etc/iotedge/config.yaml
В файле config.yaml в качестве свойств certificate укажите файловый путь URI к файлам сертификатов и ключей на устройстве IoT Edge. Удалите символ
#
перед свойствами сертификата, чтобы раскомментировать четыре строки. Убедитесь, что перед строкой certificates: нет пробелов, а вложенные элементы отображаются с отступом в два пробела. Например:certificates: device_ca_cert: "file:///<path>/<device CA cert>" device_ca_pk: "file:///<path>/<device CA key>" trusted_ca_certs: "file:///<path>/<root CA cert>"
Убедитесь, что пользователь iotedge имеет разрешения на чтение и запись для каталога, владеющего сертификатами.
Если вы ранее использовали на устройстве другие сертификаты для IoT Edge, перед запуском или перезапуском IoT Edge удалите файлы в следующих двух каталогах:
/var/aziot/hsm/certs
/var/aziot/hsm/cert_keys
Перезапустите IoT Edge.
sudo iotedge system restart
Сертификаты сервера модуля
Управляющей программе Edge возникают проблемы с сервером модуля и сертификатами удостоверений для использования модулями Edge. По мере необходимости модули Edge несут ответственность за продление удостоверений и сертификатов сервера.
продление;
Сертификаты сервера могут быть выданы из сертификата ЦС Edge или через цС, настроенный DPS. Независимо от метода выдачи эти сертификаты должны обновляться модулем.
Изменения в версии 1.2 и более поздних версий
- Сертификат ЦС устройства переименован в сертификат ЦС Edge.
- Сертификат ЦС рабочей нагрузки устарел. Теперь диспетчер безопасности IoT Edge создает сертификат сервера центра
edgeHub
IoT Edge непосредственно из сертификата ЦС Edge без сертификата ЦС промежуточной рабочей нагрузки между ними. - Файл конфигурации по умолчанию имеет новое имя и расположение по
/etc/iotedge/config.yaml
/etc/aziot/config.toml
умолчанию. Командуiotedge config import
можно использовать для переноса сведений о конфигурации из старого расположения и синтаксиса в новые.
Следующие шаги
Установка сертификатов на устройстве IoT Edge является необходимым этапом перед развертыванием решения в рабочей среде. Узнайте больше о том, как подготовиться к развертыванию решения IoT Edge в рабочей среде.