Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Безопасные параметры для Операции Интернета вещей Azure включают настройку управления секретами и управляемого удостоверения, назначаемого пользователем для облачных подключений, например сервера OPC UA или конечных точек потока данных.
В этой статье приведены инструкции по включению безопасных параметров, если вы этого не сделали во время первоначального развертывания.
Необходимые условия
Экземпляр Операции Интернета вещей Azure развернут с тестовыми настройками.
Azure CLI версии 2.62.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 issuer и workload identity federation должны быть включены в кластере. Эта конфигурация необходима для расширения хранилища секретов Azure Key Vault для синхронизации секретов из Azure Key Vault и хранения их на границе как секреты Kubernetes.
Для кластеров службы Azure Kubernetes (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 использует расширение 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.
# 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, такие как конечные точки потока данных, используют управляемое удостоверение, назначаемое пользователем, для облачных подключений. Рекомендуется использовать отдельную учетную запись, отличную от той, которая использовалась для настройки управления секретами.
Создайте управляемое удостоверение , назначаемое пользователем, которое используется для облачных подключений.
Note
Вам потребуется предоставить удостоверению разрешение на любой облачный ресурс, для которого будет использоваться управляемое удостоверение.
Используйте команду az iot ops identity assign, чтобы назначить удостоверение экземпляру Операции Интернета вещей Azure. Эта команда также создает учетные данные федеративной идентификации с помощью издателя OIDC указанного подключенного кластера и учетной записи службы Операции Интернета вещей Azure.
# 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Перезапустите поды реестра схем, чтобы применить новую идентичность.
kubectl delete pods adr-schema-registry-0 adr-schema-registry-1 -n azure-iot-operations
Теперь вы можете использовать это управляемое удостоверение в конечных точках потока данных для облачных подключений.
Блокировка доступа pod к службе метаданных экземпляра Azure
При развертывании Операции Интернета вещей Azure с безопасными параметрами в AKS Microsoft рекомендует блокировать доступ pod к конечной точке Azure Instance Metadata Service. Сведения о том, как включить эту функцию, см. в статье Block pod access to the Azure Instance Metadata Service (IMDS) endpoint.