Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste artigo, você vai aprender a configurar a infraestrutura de certificados OPC UA para o conector para OPC UA. Esta configuração permite determinar em quais servidores OPC UA você confia para estabelecer com segurança uma sessão.
Com base na especificação de OPC UA, o conector para OPC UA funciona como um só aplicativo OPC UA quando estabelece comunicações seguras com servidores OPC UA. O conector para OPC UA usa o mesmo certificado de instância de aplicativo para todos os canais seguros que abre para os servidores OPC UA.
O conector para OPC UA deve confiar nos servidores OPC UA aos qual ele se conecta. O conector mantém uma lista de certificados confiáveis. Para saber mais, confira:
- Gerenciar certificados para sua implantação do Azure IoT Operations – este artigo descreve como o Azure IoT Operations usa o Azure Key Vault para gerenciar certificados.
- Infraestrutura de certificados do OPC UA para o conector para OPC UA – Este artigo descreve as funções da lista de certificados confiáveis e da lista de certificados emissores.
Pré-requisitos
Uma instância das Operações do Azure IoT implantada com configurações seguras. Se você implantou operações de IoT do Azure com configurações de teste, precisará primeiro habilitar as configurações seguras.
Configurar um certificado de instância de aplicativo autoassinado para o conector para OPC UA
A implantação padrão do conector para OPC UA instala todos os recursos de que o cert-manager precisa para criar um certificado autoassinado em conformidade com o OPC UA. Esse certificado é armazenado no segredo aio-opc-opcuabroker-default-application-cert
. Esse segredo é mapeado para todos os pods do conector para OPC UA e funciona como o certificado da instância do aplicativo cliente OPC UA.
cert-manager
processa a renovação automática deste certificado de instância de aplicativo.
Essa configuração costuma ser suficiente para uma comunicação segura e em conformidade entre seus servidores OPC UA e o conector para OPC UA em um ambiente de demonstração ou exploração. Para um ambiente de produção, use certificados de instância de aplicativo de nível empresarial na sua implantação.
Configurar a lista de certificados confiáveis
Para se conectar a um servidor OPC UA, primeiro você precisa estabelecer a confiança mútua de autenticação de aplicativo. Para configurar a lista de certificados confiáveis dos servidores aos quais você deseja que o conector do OPC UA se conecte:
Para usar a interface do usuário da Web da experiência de operações para gerenciar a lista de certificados confiáveis, conclua as seguintes etapas:
Obtenha o certificado de instância do aplicativo de servidor OPC UA como um arquivo. Esses arquivos normalmente têm uma
.der
ou.crt
extensão. Esse arquivo contém apenas a chave pública.Dica
Normalmente, um servidor OPC UA tem uma interface que permite exportar o certificado de instância de aplicativo. Essa interface não é padronizada. Para servidores como o KEPServerEx, há uma interface do usuário de configuração baseada no Windows para o gerenciamento de certificados. Outros servidores podem ter uma interface da Web ou usar pastas do sistema operacional para armazenar os certificados. Para descobrir como exportar o certificado da instância do aplicativo, consulte o manual do usuário do servidor. Depois de obter o certificado, verifique se ele está codificado em DER ou PEM. Esses certificados normalmente são armazenados em arquivos com a extensão
.der
ou.crt
. Se o certificado não estiver em um desses formatos de arquivo, use uma ferramenta comoopenssl
para transformar o certificado no formato necessário.Você pode adicionar o certificado diretamente ao Azure Key Vault como um segredo e fazer a importação nele ou carregar o certificado na lista de certificados confiáveis usando a experiência de operações.
Observação
O conector para OPC UA usa um segredo nativo do Kubernetes chamado aio-opc-ua-broker-trust-list para armazenar a lista de certificados confiáveis. Esse segredo é criado quando você implanta operações de IoT do Azure.
Vá para a página Dispositivos na interface do usuário da Web da experiência de operações .
Para exibir a lista de certificados confiáveis, selecione Gerenciar certificados e segredos e certificados:
Você pode carregar um arquivo de certificado do computador local ou adicionar um que você adicionou anteriormente como um segredo no Azure Key Vault:
Escolha Aplicar para salvar as alterações. O certificado agora é adicionado à lista de certificados confiáveis. Se você carregar o certificado, ele será adicionado automaticamente ao Azure Key Vault como um segredo.
Se o servidor OPC UA usar um certificado emitido por uma AC (autoridade de certificação), você poderá confiar na AC adicionando seu certificado de chave pública à lista de certificados confiáveis. Agora o conector para OPC UA confia automaticamente em todos os servidores que usam um certificado válido emitido pela AC. Portanto, você não precisa adicionar explicitamente o certificado do servidor OPC UA à lista de certificados confiáveis do conector para OPC UA. Atualmente, você não pode usar a experiência de operações para adicionar uma lista de revogação de certificados à lista de certificados confiáveis.
Dica
Para adicionar um novo certificado na experiência de operações, você deve ser atribuído à função Key Vault Secrets Officer para o Azure Key Vault.
Importante
Se você estiver adicionando um certificado do Azure Key Vault, ele deverá ser armazenado como um segredo e não como um certificado.
Configurar a lista de certificados do emissor
Se o servidor OPC UA usar um certificado emitido por uma AC, mas você não quiser confiar em todos os certificados emitidos pela AC, configure a lista de certificados do emissor:
Antes de configurar a lista de certificados do emissor com seus certificados intermediários, você precisa adicionar o certificado de AC à lista de certificados confiáveis. O conector para OPC UA usa o certificado de Autoridade de Certificação para validar a cadeia de emissor do certificado do servidor OPC UA.
Para usar a interface de experiência operacional da web para gerenciar a lista de certificados do emissor, conclua as seguintes etapas:
Obtenha o certificado do emissor que foi usado para assinar os certificados de instância do servidor como um arquivo. Esses arquivos normalmente têm uma
.der
ou.crt
extensão. Esse arquivo contém apenas a chave pública. Você também pode ter um arquivo .crl (lista de revogação de certificado) para o certificado do emissor.Você pode adicionar o certificado do emissor diretamente ao Azure Key Vault como um segredo e fazer a importação nele ou carregar a lista de certificados e certificados revogados (arquivo .crl) na lista de certificados do emissor usando a experiência de operações.
Observação
O conector para OPC UA usa um segredo nativo do Kubernetes chamado aio-opc-ua-broker-issuer-list para armazenar a lista de certificados do emissor. Esse segredo é criado quando você implanta operações de IoT do Azure.
Vá para a página Dispositivos na interface do usuário da Web da experiência de operações .
Para exibir a lista de certificados do emissor, selecione Gerenciar certificados e segredos e, em seguida, Certificados. A caixa de filtro permite exibir as diferentes listas de certificados:
Você pode carregar um arquivo de certificado do emissor do computador local ou adicionar um que você adicionou anteriormente como um segredo no Azure Key Vault:
Escolha Aplicar para salvar as alterações. O certificado agora é adicionado à lista de certificados do emissor. Se você carregar o certificado, ele será adicionado automaticamente ao Azure Key Vault como um segredo.
Você também pode usar a experiência de operações para adicionar uma lista de revogação de certificado (arquivo.crl) à lista de certificados confiáveis.
Dica
Para adicionar um novo certificado na experiência de operações, você deve ser atribuído à função Key Vault Secrets Officer para o Azure Key Vault.
Importante
Se você estiver adicionando um certificado do Azure Key Vault, ele deverá ser armazenado como um segredo e não como um certificado.
Configurar o servidor OPC UA
Para concluir a configuração da confiança mútua de autenticação de aplicativo, você vai precisar configurar seu servidor OPC UA para confiar no certificado da instância de aplicativo do conector para OPC UA:
Para extrair o certificado do conector para OPC UA para um arquivo
opcuabroker.crt
, execute o seguinte comando:kubectl -n azure-iot-operations get secret aio-opc-opcuabroker-default-application-cert -o jsonpath='{.data.tls\.crt}' | base64 -d > opcuabroker.crt
kubectl -n azure-iot-operations get secret aio-opc-opcuabroker-default-application-cert -o jsonpath='{.data.tls\.crt}' | %{ [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($_)) } > opcuabroker.crt
Muitos servidores OPC UA dão suporte apenas a certificados no formato DER. Se necessário, use o seguinte comando para converter o certificado opcuabroker.crt em opcuabroker.der:
openssl x509 -outform der -in opcuabroker.crt -out opcuabroker.der
Consulte a documentação do servidor OPC UA para saber como adicionar o arquivo de certificado
opcuabroker.crt
ouopcuabroker.der
à lista de certificados confiáveis do servidor.
Configurar um certificado de instância de aplicativo de nível empresarial
Para ambientes de produção, você pode configurar o conector para OPC UA para usar um certificado de instância de aplicativo de nível empresarial. Normalmente, uma AC corporativa emite este certificado e você precisa do certificado de autoridade de certificação para a sua configuração. Muitas vezes, há uma hierarquia de ACs e você precisa adicionar a cadeia de validação completa de ACs à sua configuração.
O seguinte exemplo referencia os seguintes itens:
Elemento | Descrição |
---|---|
opcuabroker-certificate.der | Arquivo que contém a chave pública do certificado de instância de aplicativo de nível empresarial. |
opcuabroker-certificate.pem | Arquivo que contém a chave privada do certificado de instância de aplicativo de nível empresarial. |
subjectName |
A cadeia de caracteres de nome da entidade inserida no certificado da instância do aplicativo. |
applicationUri |
O URI da instância do aplicativo inserido na instância do aplicativo. |
enterprise-grade-ca-1.der | Arquivo que contém a chave pública do certificado de AUTORIDADE de certificação de nível empresarial. |
enterprise-grade-ca-1.crl | O arquivo CRL da AC. |
Como os exemplos anteriores, você usa um segredo do Kubernetes dedicado para armazenar os certificados e as CRLs. Para configurar o certificado da instância de aplicativo de nível empresarial, conclua as seguintes etapas:
Salve os certificados e a CRL no segredo aio-opc-ua-broker-client-certificate usando o seguinte comando:
# Create aio-opc-ua-broker-client-certificate secret # Upload OPC UA public key certificate as an entry to the secret # Upload OPC UA private key certificate as an entry to the secret az iot ops connector opcua client add \ --instance <your instance name> \ -g <your resource group> \ --public-key-file "./opcuabroker-certificate.der" \ --private-key-file "./opcuabroker-certificate.pem" \ --subject-name <subject name from the public key cert> \ --application-uri <application uri from the public key cert>
Se você usar a AC para emitir certificados para o agente OPC UA, configure o segredoaio-opc-ua-broker-issuer-list. Use um cliente de Kubernetes como
kubectl
para configurar os segredos enterprise-grade-ca-1.der e enterprise-grade-ca-1.crl:# Append CA certificate to the issuer list secret as a new entry az iot ops connector opcua issuer add --instance <your instance name> --resource-group <your resource group> --certificate-file "./enterprise-grade-ca-1.der" # Append the CRL to the issuer list secret as a new entry az iot ops connector opcua issuer add --instance <your instance name> --resource-group <your resource group> --certificate-file "./enterprise-grade-ca-1.crl"
Agora que o conector para OPC UA usa o certificado empresarial, não se esqueça de adicionar a chave pública do novo certificado às listas de certificados confiáveis de todos os servidores OPC UA aos quais ele precisa se conectar.