Поделиться через


Управление секретами для развертывания Azure IoT Operations

Операции Azure IoT используют Azure Key Vault как решение для управляемого хранилища в облаке и применяют расширение Azure Key Vault Secret Store для Kubernetes для синхронизации секретов из облака и их хранения на периферии в виде секретов Kubernetes. Пограничные ресурсы, такие как соединители и потоки данных, затем могут использовать эти секреты для проверки подлинности при подключении к внешним системам.

Предварительные условия

Для управления секретами требуется экземпляр Azure IoT Operations, развернутый с безопасными параметрами. При развертывании операций Интернета вещей Azure с параметрами тестирования необходимо сначала включить безопасные параметры.

Настройка разрешений Azure Key Vault

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

В тестовой среде или среде разработки используйте следующие действия, чтобы назначить роль Офицер секретов Key Vault пользователю на уровне группы ресурсов, где развернуты экземпляры Azure IoT Operations и Azure Key Vault.

  1. Чтобы найти имя группы ресурсов, перейдите в веб-интерфейс операций и опыта, затем откройте страницу Экземпляры и найдите ваш экземпляр Операций Интернета вещей Azure. Имя группы ресурсов отображается в поле группы ресурсов .

  2. Перейдите на портал Azure, а затем перейдите в группу ресурсов, где развернуты ваш экземпляр Azure IoT Operations и экземпляр Azure Key Vault.

    Подсказка

    Используйте поле поиска в верхней части портала Azure, чтобы быстро найти группу ресурсов, введя имя.

  3. Выберите элемент управления доступом (IAM) в меню слева. Затем выберите + Добавить > Добавить назначение роли.

  4. На вкладке "Роль" выберите "Офицер секретов Key Vault " в списке ролей и нажмите кнопку "Далее".

  5. На вкладке "Участники" выберите "Пользователь", "Группа" или "Субъект-служба", выберите " Выбрать участников", выберите пользователя, которому нужно назначить роль "Сотрудник секретов Key Vault " и нажмите кнопку "Далее".

  6. Выберите Проверить + Назначить, чтобы завершить назначение роли.

В рабочей среде следуйте рекомендациям по защите Хранилища ключей Azure, используемого с операциями Интернета вещей Azure. Дополнительные сведения см. в рекомендациях по использованию Azure Key Vault.

Добавление и использование секретов

Управление секретами для операций Azure IoT использует расширение Secret Store для синхронизации секретов из Azure Key Vault и их хранения на периферии в виде секретов Kubernetes. Если вы включили безопасные параметры во время развертывания, вы выбрали Azure Key Vault для управления секретами. В этом хранилище ключей хранятся все секреты, используемые в операциях Интернета вещей Azure.

Примечание.

Инстанции операций Azure IoT работают только с одним Azure Key Vault, несколько хранилищ ключей на одну инстанцию не поддерживаются.

После завершения настройки действий по управлению секретами вы можете добавить секреты в Azure Key Vault и синхронизировать их с кластером Kubernetes для использования в конечных точках входящего устройства или конечных точках потока данных с помощью веб-интерфейса интерфейса операций . Секреты обычно являются именами пользователей, паролями, сертификатами или закрытыми ключами, необходимыми для проверки подлинности во внешних системах.

Секреты используются в входящих конечных точках устройства и конечных точках потока данных для проверки подлинности. В этом разделе используются входящие конечные точки устройства в качестве примера. Этот же процесс можно применить к конечным точкам потока данных. Вы можете напрямую создать секрет в Azure Key Vault и автоматически синхронизировать его с кластером или использовать существующую ссылку на секрет из хранилища ключей:

  1. Перейдите на страницу входящих конечных точек устройства в веб-интерфейсе рабочей среды операций.

  2. Чтобы добавить новое секретное упоминание, выберите Добавить ссылку при создании новой входящей конечной точки устройства.

    Снимок экрана, показывающий параметры

    • Создайте новый секрет: создает секрет в Azure Key Vault и синхронизирует секрет с кластером с помощью расширения хранилища секретов.

    • Добавьте из Azure Key Vault: синхронизирует существующий секрет в хранилище ключей с кластером, если он не был синхронизирован раньше. При выборе этого параметра отображается список секретов в выбранном хранилище ключей. С кластером синхронизируется только последняя версия секрета.

  3. При добавлении ссылок на имя пользователя и пароль на устройства или конечные точки потока данных необходимо указать синхронизированный секрет. Ссылки на секреты сохраняются в кластере с указанным именем как единый ресурс для синхронизации секретов. В примере на следующем снимке экрана ссылки на имя пользователя и пароль сохраняются в кластере как edp1secrets.

    Снимок экрана, показывающий поле синхронизированного имени секрета при выборе аутентификации по имени пользователя и паролю в интерфейсе операций.

Управление синхронизированными секретами

В этом разделе используются входящие конечные точки устройства в качестве примера. Этот же процесс можно применить к конечным точкам потока данных:

  1. Перейдите на страницу "Устройства" в пользовательском веб-интерфейсе операций .

  2. Чтобы просмотреть список секретов, выберите "Управление сертификатами и секретами", а затем "Секреты".

    Снимок экрана: список синхронизированных секретов на странице секретов операций.

Страницу "Секреты" можно использовать для просмотра синхронизированных секретов на устройствах и конечных точках потока данных. На странице секретов отображается список всех текущих синхронизированных секретов на периферии для ресурса, который вы просматриваете. Синхронизированный секрет представляет одну или несколько ссылок на секреты в зависимости от используемого ресурса. Любая операция, примененная к синхронизированному секрету, применяется ко всем ссылкам секретов, содержащимся в синхронизированном секрете.

Вы можете удалить синхронизированные секреты на странице "Секреты ". При удалении синхронизированного секрета он удаляет только синхронизированный секрет из кластера Kubernetes и не удаляет содержащуюся ссылку на секрет из Azure Key Vault. Секрет сертификата необходимо удалить вручную из хранилища ключей.

Предупреждение

Непосредственное редактирование пользовательских ресурсов SecretProviderClass и SecretSync в кластере Kubernetes может нарушить поток секретов в операциях Azure IoT. Для любых операций, связанных с секретами, используйте интерфейс работы с операциями в веб-интерфейсе.

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

Добавление секретов в Azure Key Vault

Если вы используете интерфейс операций для выбора существующих секретов, которые ранее были добавлены в Azure Key Vault, убедитесь, что секреты находятся в формате и кодировке, поддерживаемой операциями Интернета вещей Azure.

Чтобы добавить секрет сертификата PEM в Azure Key Vault, можно использовать следующую команду:

az keyvault secret set \
  --vault-name <your-key-vault-name> \
  --name client-cert-pem \
  --file ./client-cert.pem \
  --encoding hex \
  --content-type 'application/x-pem-file'

Чтобы добавить двоичный секрет сертификата DER в Azure Key Vault, можно использовать команду, как показано в следующем примере:

az keyvault secret set \
  --vault-name <your-key-vault-name> \
  --name cert-file-der \
  --file ./cert-file.der \
  --encoding hex \
  --content-type 'application/pkix-cert'