Habilitar configurações seguras no Azure IoT Operations
As configurações seguras para Operações do Azure IoT incluem a configuração do gerenciamento de segredos e a identidade gerenciada atribuída pelo usuário para conexões de nuvem, por exemplo, um servidor OPC UA ou pontos de extremidade de fluxo de dados.
Este artigo fornece instruções para habilitar configurações seguras se você não o fez durante sua implantação inicial.
Pré-requisitos
Uma instância de Operações do Azure IoT implantada com configurações de teste. Por exemplo, você escolheu Configurações de Teste ao seguir as instruções em Implantar Operações de IoT do Azure em um cluster do Kubernetes habilitado para Arc.
CLI do Azure instalada em seu computador de desenvolvimento. Esse cenário requer a CLI do Azure versão 2.64.0 ou superior. Use
az --version
para verificar sua versão eaz upgrade
para atualizar, se necessário. Para obter mais informações, confira Como instalar a CLI do Azure.A extensão das Operações do Azure IoT para a CLI do Azure. Use o seguinte comando para adicionar a extensão ou atualizá-la à versão mais recente:
az extension add --upgrade --name azure-iot-ops
Configurar o gerenciamento de segredos
O Gerenciamento de segredos das Operações do Azure IoT usa a extensão Repositório de segredos seguro para sincronizar os segredos de um cofre de chaves do Azure e armazená-los na borda como segredos do Kubernetes. A extensão Repositório de segredos seguro requer uma identidade gerenciada atribuída pelo usuário com acesso ao cofre de chaves do Azure em que os segredos são armazenados. Para saber mais, confira O que são identidades gerenciadas para recursos do Azure?.
Para configurar o gerenciamento de segredos:
Crie um cofre de chaves do Azure usado para armazenar segredos e conceda permissões à sua conta de usuário para gerenciar segredos com a função
Key Vault Secrets Officer
.Crie uma identidade gerenciada atribuída pelo usuário para a extensão do repositório de segredos.
Use o comando az iot ops secretsync enable para configurar a instância das Operações do Azure IoT para a sincronização de segredos. Esse comando:
- Cria uma credencial de identidade federada usando a identidade gerenciada atribuída pelo usuário.
- Adiciona uma atribuição de função à identidade gerenciada atribuída pelo usuário para acesso ao cofre de chaves do Azure.
- Adiciona uma classe de provedor de segredo mínima associada à instância das Operações do Azure IoT.
# 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
Agora que a configuração da sincronização de segredos foi concluída, você pode consultar Gerenciar segredos para sua implantação do Azure IoT Operations para saber como usar segredos com o Azure IoT Operations.
Configurar uma identidade gerenciada atribuída pelo usuário para conexões de nuvem
Alguns componentes das Operações do Azure IoT, como pontos de extremidade de fluxo de dados, usam uma identidade gerenciada atribuída pelo usuário para conexões de nuvem. É recomendado usar uma identidade separada daquela usada para configurar o gerenciamento de segredos.
Crie uma identidade gerenciada atribuída pelo usuário que seja usada para conexões de nuvem.
Observação
Você precisará conceder a permissão de identidade para qualquer recurso de nuvem para o qual usará a identidade gerenciada.
Use o comando az iot ops identity assign para atribuir a identidade à instância das Operações do Azure IoT. Esse comando também cria uma credencial de identidade federada usando o emissor OIDC do cluster conectado indicado e a conta de serviço das Operações do 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
Agora, você poderá usar essa identidade gerenciada em pontos de extremidade de fluxo de dados para conexões de nuvem.