Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Operações IoT do Azure utiliza o Azure Key Vault como solução gerida de cofre na cloud e utiliza a extensão Azure Key Vault secret store para Kubernetes para sincronizar os segredos da cloud e armazená-los na extremidade como segredos do Kubernetes. Recursos de borda, como conectores e fluxos de dados, podem então usar estes segredos para autenticação ao ligar-se a sistemas externos.
Exemplos de segredos que pode armazenar no Azure Key Vault para uso pelo Operações IoT do Azure incluem:
- Nomes de utilizador e palavras-passe para sistemas externos contra os quais os seus conectores ou fluxos de dados precisam de se autenticar.
- Certificados e chaves privadas X.509 para dispositivos ou serviços que utilizam TLS mútuo (mTLS).
Pré-requisitos
Para gerir segredos, precisa de uma instância Operações IoT do Azure implementada com definições seguras. Se você implantou o Operações IoT do Azure com configurações de teste, primeiro precisará habilitar as configurações seguras.
Configurar permissões do Azure Key Vault
Para usar a experiência operacional para criar segredos no cofre de chaves, o utilizador necessita de permissões do Oficial de Segredos do Cofre de Chaves ao nível dos recursos no Azure.
Num ambiente de teste ou desenvolvimento, utilize os seguintes passos para atribuir o papel de Key Vault Secrets Officer ao seu utilizador ao nível do grupo de recursos onde as instâncias Operações IoT do Azure e Azure Key Vault são implementadas:
Para encontrar o nome do grupo de recursos, vá à interface web da experiência operacional , vá à página Instâncias e encontre a sua instância Operações IoT do Azure. O nome do grupo de recursos é mostrado no campo do grupo de recursos .
Vai ao portal Azure e depois ao grupo de recursos onde a tua instância Operações IoT do Azure e Azure Key Vault estão implementadas.
Sugestão
Use a caixa de pesquisa no topo do portal Azure para encontrar rapidamente o grupo de recursos ao escrever o nome.
Selecione controlo de acesso (IAM) no menu esquerdo. Depois selecciona + Adicionar > Adicionar atribuição de função.
No separador Funções , selecione Oficial de Segredos do Cofre de Chaves da lista de funções e depois selecione Próximo.
No separador de Membros , selecione Utilizador, grupo ou principal de serviço, selecione Selecionar membros, selecione o utilizador a quem quer atribuir a função de Oficial de Segredos do Cofre de Chaves e, de seguida, selecione Próximo.
Selecione Rever + atribuir para concluir a atribuição de função.
Num ambiente de produção, siga as melhores práticas para proteger o Azure Key Vault que utiliza com o Operações IoT do Azure. Para mais informações, consulte Melhores práticas para utilizar o Azure Key Vault.
Adicionar e usar segredos
A gestão de segredos para operações do Azure IoT utiliza a extensão do Azure Key Vault secret store para sincronizar os segredos de um Azure Key Vault e armazená-los na periferia como segredos do Kubernetes. Ao habilitar configurações seguras durante a implantação, você selecionou um Cofre de Chaves do Azure para gerenciamento de segredos. É neste Cofre da Chave que todos os segredos a serem usados nas Operações do Azure IoT são armazenados.
Nota
As instâncias de Operações IoT do Azure funcionam com apenas um Cofre de Chaves do Azure, não há suporte para vários cofres de chaves por instância.
Depois de concluídos os passos para configurar a gestão de segredos, pode adicionar segredos ao Azure Key Vault e sincronizá-los com o cluster do Kubernetes para utilização em pontos finais de entrada do dispositivo ou pontos finais de fluxo de dados. Os segredos são tipicamente nomes de utilizador, palavras-passe, certificados ou chaves privadas necessárias para autenticação em sistemas externos.
Podes criar um segredo sincronizado no cluster usando a interface web da experiência de operações ou a interface do CLI do Azure. Os dois fluxos sobrepõem-se parcialmente: a experiência de operações pode tanto carregar um novo valor para o Azure Key Vault como sincronizá-lo com o cluster, enquanto o fluxo do CLI do Azure assume que o segredo já existe no Azure Key Vault e apenas trata da sincronização:
Esta secção usa os pontos finais de entrada do dispositivo que recorrem à autenticação por nome de utilizador e palavra-passe como exemplo. O mesmo processo aplica-se aos endpoints de fluxo de dados.
A experiência operacional pode carregar um novo valor para um nome de utilizador ou palavra-passe no Azure Key Vault e sincronizá-lo com o cluster numa só etapa, ou sincronizar um segredo existente do Key Vault para o cluster.
Aceda à página de endpoints de entrada do dispositivo na experiência operacional na interface web.
Para adicionar uma nova referência secreta, selecione Adicionar referência ao criar um novo endpoint de entrada de dispositivo:
Crie um novo segredo: cria um segredo no Azure Key Vault e sincroniza o segredo até ao cluster usando a extensão de armazenamento secreto.
Adicionar do Cofre de Chaves do Azure: sincroniza um segredo existente no cofre de chaves para o cluster se ele não tiver sido sincronizado antes. Ao selecionar esta opção, mostra-se a lista de segredos no cofre de chaves selecionado. Apenas a versão mais recente do segredo está sincronizada com o cluster.
Quando se adicionam as referências de nome de utilizador e senha aos dispositivos ou aos pontos de terminação do fluxo de dados, é necessário dar um nome ao segredo sincronizado. As referências secretas são salvas no cluster com esse nome próprio como um recurso de sincronização secreto. No exemplo da captura de ecrã seguinte, as referências ao nome de utilizador e palavra-passe são guardadas no cluster como edp1secrets.
Sincronizar um certificado de cliente e uma chave privada para TLS mútuo
Vários conectores suportam autenticação mTLS para fontes de dados no sentido sul. Com o mTLS, o conector apresenta um certificado do cliente e uma chave privada para o endpoint sul para se autenticar, além de validar o certificado TLS do servidor. Os seguintes conectores suportam atualmente mTLS para fontes de dados no sentido sul:
Outros conectores, como o conector para media e o conector para ONVIF, atualmente não suportam mTLS para fontes de dados no sentido sul.
Configura o mTLS no endpoint de entrada do dispositivo referenciando um segredo sincronizado no cluster que contém o certificado do cliente e a chave privada. Podes criar o segredo sincronizado usando tanto a experiência de operações como a CLI do Azure. Selecione o separador que corresponde à ferramenta que pretende utilizar.
Quando crias o ponto final de entrada e escolhes o modo de autenticação certificado X509, podes carregar um novo certificado e uma chave privada (a experiência de operações carrega-os no Azure Key Vault e sincroniza-os) ou selecionar segredos existentes do Key Vault para sincronização.
Gerenciar segredos sincronizados
Esta secção usa os endpoints de entrada de dispositivos como exemplo. O mesmo processo pode ser aplicado a pontos de extremidade de fluxo de dados.
Vá para a página Dispositivos na interface web do utilizador da experiência operacional.
Para exibir a lista de segredos, selecione Gerenciar certificados e segredos e, em seguida, Segredos:
Você pode usar a página Segredos para ver segredos sincronizados nos seus dispositivos e endpoints de fluxo de dados. A página Segredos mostra a lista de todos os segredos sincronizados atuais na borda do recurso que você está visualizando. Um segredo sincronizado representa uma ou várias referências secretas, dependendo do recurso que o utiliza. Qualquer operação aplicada a um segredo sincronizado aplica-se a todas as referências secretas contidas no segredo sincronizado.
Podes apagar segredos sincronizados da página de Segredos . Quando você exclui um segredo sincronizado, ele exclui apenas o segredo sincronizado do cluster do Kubernetes e não exclui a referência de segredo contida do Cofre de Chaves do Azure. Você deve excluir o segredo do certificado manualmente do cofre de chaves.
Também pode usar a CLI do Azure para visualizar segredos sincronizados no cluster:
- Para listar os recursos de segredo sincronizados no cluster, use az iot ops secretsync list.
- Para listar as referências individuais a segredos do Key Vault contidas num segredo sincronizado, use az iot ops secretsync secret list.
Advertência
Editar diretamente os recursos personalizados SecretProviderClass e SecretSync no seu cluster Kubernetes pode interromper o fluxo de segredos nas Operações de IoT da Azure. Para quaisquer operações relacionadas a segredos, utilize a interface Web de operações.
Antes de excluir um segredo sincronizado, verifique se todas as referências ao segredo dos componentes do Operações IoT do Azure foram removidas.
Adicionar segredos ao Azure Key Vault
Se usar a experiência operacional para selecionar segredos existentes que já foram adicionados ao Azure Key Vault, certifique-se de que os segredos estão num formato e codificação suportados pelo Operações IoT do Azure.
Para adicionar um segredo de certificado PEM ao Azure Key Vault, pode usar um comando como o seguinte exemplo:
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'
Para adicionar um segredo binário de certificado DER ao Azure Key Vault, pode usar um comando como o seguinte exemplo:
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'