Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Безопасные параметры для операций Интернета вещей Azure включают настройку управления секретами и назначаемое пользователем управляемое удостоверение для облачных подключений; например, сервер OPC UA или конечные точки потока данных.
В этой статье приведены инструкции по включению безопасных параметров, если вы этого не сделали во время первоначального развертывания.
Требования
Экземпляр операций Интернета вещей Azure , развернутый с параметрами теста.
У вас на компьютере для разработки установлен Azure CLI. Для этого сценария требуется Azure CLI версии 2.53.0 или более поздней. Используйте
az --versionдля проверки версии иaz upgradeобновления при необходимости. Дополнительные сведения см. в статье "Установка Azure CLI".Последняя версия расширения connectedk8s для Azure CLI. Используйте следующую команду, чтобы добавить расширение или обновить его до последней версии:
az extension add --upgrade --name connectedk8sРасширение функций управления Интернета вещей Azure для Azure CLI. Используйте следующую команду, чтобы добавить расширение или обновить его до последней версии:
az extension add --upgrade --name azure-iot-ops
Включите кластер в безопасных настройках
Чтобы включить синхронизацию секретов для экземпляра Операций Интернета вещей Azure, в кластере необходимо включить функции издателя OIDC и федерации удостоверений рабочей нагрузки . Эта конфигурация необходима для расширения хранилища секретов Azure Key Vault для синхронизации секретов из Azure Key Vault и хранения их на границе как секреты Kubernetes.
Для кластеров Azure Kubernetes Service (AKS) функции издателя OIDC и удостоверения рабочей нагрузки могут быть включены только во время создания кластера. Для кластеров в AKS Edge Essentials автоматический скрипт включает эти функции по умолчанию. Для кластеров AKS в локальной среде Azure выполните действия по развертыванию и настройке идентификации рабочей нагрузки в кластере AKS, включённом с помощью Azure Arc, чтобы создать новый кластер, если у вас нет кластера с необходимыми функциями.
Для кластеров k3s в Kubernetes можно обновить существующий кластер. Чтобы включить и настроить эти функции, выполните следующие действия.
Обновите кластер, чтобы включить поставщика OIDC и идентификацию рабочей нагрузки.
az connectedk8s update -n <CLUSTER_NAME> -g <RESOURCE_GROUP> --enable-oidc-issuer --enable-workload-identityЕсли вы включили функции выпуска идентификаторов OIDC и удостоверения рабочей нагрузки при создании кластера, то вам не нужно повторно запускать предыдущую команду. Используйте следующую команду, чтобы проверить состояние издателя OIDC и функций идентификации рабочей нагрузки для вашего кластера:
az connectedk8s show -g <RESOURCE_GROUP> -n <CLUSTER_NAME> --query "{ClusterName:name, OIDCIssuerEnabled:oidcIssuerProfile.enabled, WorkloadIdentityEnabled:securityProfile.workloadIdentity.enabled}"Получите URL-адрес издателя кластера.
az connectedk8s show -g <RESOURCE_GROUP> -n <CLUSTER_NAME> --query oidcIssuerProfile.issuerUrl --output tsvЗапишите выходные данные этой команды, которые будут использоваться в следующих шагах.
Создайте файл конфигурации k3s на компьютере, где развернут кластер Kubernetes:
sudo nano /etc/rancher/k3s/config.yamlДобавьте следующее содержимое в файл
config.yaml, заменив заполнитель<SERVICE_ACCOUNT_ISSUER>URL-адресом издателя кластера, который вы записали ранее.kube-apiserver-arg: - service-account-issuer=<SERVICE_ACCOUNT_ISSUER> - service-account-max-token-expiration=24hСохраните файл и закройте редактор nano.
Перезапустите службу k3s:
sudo systemctl restart k3s
Настройка управления секретами
Управление секретами для операций Azure IoT использует расширение Secret Store для синхронизации секретов из Azure Key Vault и их хранения на периферии как секретов Kubernetes. Для расширения Secret Store требуется управляемое удостоверение, назначаемое пользователем, с доступом к Azure Key Vault, где хранятся секреты. Дополнительные сведения см. в статье "Что такое управляемые удостоверения для ресурсов Azure?".
Чтобы настроить управление секретами, выполните следующие действия.
Создайте Azure Key Vault, который используется для хранения секретов, и предоставьте вашей учетной записи пользователя разрешения на управление секретами с помощью
Key Vault Secrets Officerроли.Создайте управляемое удостоверение, назначаемое пользователем для использования расширением Secret Store для доступа к хранилищу ключей.
Используйте команду az iot ops secretsync enable, чтобы настроить экземпляр Операций Интернета вещей Azure для синхронизации секретов. Команда:
- Создает федеративное учётное удостоверение, используя управляемое удостоверение, назначенное пользователем.
- Добавляет назначение роли в управляемое удостоверение, назначаемое пользователем, для доступа к Azure Key Vault.
- Добавляет класс минимального поставщика секретов, связанный с экземпляром Azure IoT Operations.
# Variable block AIO_INSTANCE_NAME="<AIO_INSTANCE_NAME>" RESOURCE_GROUP="<RESOURCE_GROUP>" USER_ASSIGNED_MI_NAME="<USER_ASSIGNED_MI_NAME>" KEYVAULT_NAME="<KEYVAULT_NAME>" #Get the resource ID of the user-assigned managed identity USER_ASSIGNED_MI_RESOURCE_ID=$(az identity show --name $USER_ASSIGNED_MI_NAME --resource-group $RESOURCE_GROUP --query id --output tsv) #Get the resource ID of the key vault KEYVAULT_RESOURCE_ID=$(az keyvault show --name $KEYVAULT_NAME --resource-group $RESOURCE_GROUP --query id --output tsv) #Enable secret synchronization az iot ops secretsync enable --instance $AIO_INSTANCE_NAME \ --resource-group $RESOURCE_GROUP \ --mi-user-assigned $USER_ASSIGNED_MI_RESOURCE_ID \ --kv-resource-id $KEYVAULT_RESOURCE_ID
Теперь, когда настройка синхронизации секретов завершена, см. раздел "Управление секретами для развертывания операций Интернета вещей Azure", чтобы узнать, как использовать секреты с операциями Интернета вещей Azure.
Настройте назначаемую пользователем управляемую идентичность для облачных подключений.
Некоторые компоненты операций Интернета вещей Azure, такие как конечные точки потока данных, используют управляемое удостоверение, назначаемое пользователем, для облачных подключений. Рекомендуется использовать отдельную учетную запись, отличную от той, которая использовалась для настройки управления секретами.
Создайте управляемое удостоверение , назначаемое пользователем, которое используется для облачных подключений.
Примечание.
Вам потребуется предоставить удостоверению разрешение на любой облачный ресурс, для которого будет использоваться управляемое удостоверение.
Используйте команду az iot ops identity assign, чтобы назначить удостоверение экземпляру Azure IoT Operations. Эта команда также создает доверенные учетные данные, используя издателя OIDC для указанного подключенного кластера и учетной записи службы операций Azure IoT.
# Variable block AIO_INSTANCE_NAME="<AIO_INSTANCE_NAME>" RESOURCE_GROUP="<RESOURCE_GROUP>" USER_ASSIGNED_MI_NAME="<USER_ASSIGNED_MI_NAME FOR CLOUD CONNECTIONS>" #Get the resource ID of the user-assigned managed identity USER_ASSIGNED_MI_RESOURCE_ID=$(az identity show --name $USER_ASSIGNED_MI_NAME --resource-group $RESOURCE_GROUP --query id --output tsv) #Assign the identity to the Azure IoT Operations instance az iot ops identity assign --name $AIO_INSTANCE_NAME \ --resource-group $RESOURCE_GROUP \ --mi-user-assigned $USER_ASSIGNED_MI_RESOURCE_IDПерезапустите модули pod реестра схем, чтобы применить новое удостоверение.
kubectl delete pods adr-schema-registry-0 adr-schema-registry-1 -n azure-iot-operations
Теперь вы можете использовать это управляемое удостоверение в конечных точках потока данных для облачных подключений.