Partilhar via


Configurar a infraestrutura de certificados OPC UA para o conector para OPC UA

Neste artigo, você aprenderá a configurar a infraestrutura de certificados OPC UA para o conector para OPC UA. Essa configuração permite determinar com quais servidores OPC UA você confia para estabelecer uma sessão com segurança.

Com base na especificação OPC UA, o conector para OPC UA atua como um único 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 seus servidores OPC UA.

O conector para OPC UA deve confiar nos servidores OPC UA aos quais ele se conecta. O conector mantém uma lista de certificados confiáveis. Para saber mais, consulte:

Pré-requisitos

  • Uma instância de Operações IoT do Azure implantada com configurações seguras. Se você implantou o Azure IoT Operations com configurações de teste, primeiro precisará habilitar as configurações seguras.

Configurar um certificado autoassinado de instância de aplicação para o conector OPC UA

A implantação padrão do conector para OPC UA instala todos os recursos necessários para o cert-manager criar um certificado autoassinado compatível com OPC UA. Este certificado é armazenado em aio-opc-opcuabroker-default-application-cert segredo. Esse segredo é mapeado em todo o conector para pods OPC UA e atua como o certificado de instância do aplicativo cliente OPC UA. cert-manager lida com a renovação automática deste certificado de instância de aplicativo.

Essa configuração geralmente é suficiente para uma comunicação compatível e segura 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 em 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 do 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:

  1. Obtenha o certificado de instância do aplicativo de servidor OPC UA como um arquivo. Esses arquivos normalmente têm uma .der extensão ou .crt . Este ficheiro contém apenas a chave pública.

    Gorjeta

    Normalmente, um servidor OPC UA tem uma interface que permite exportar seu certificado de instância do aplicativo. Esta interface não é padronizada. Para servidores como o KEPServerEx, há uma interface do usuário de configuração baseada no Windows para gerenciamento de certificados. Outros servidores podem ter uma interface Web ou usar pastas do sistema operacional para armazenar os certificados. Para saber como exportar o certificado de instância do aplicativo, consulte o manual do usuário do seu servidor. Depois de ter o certificado, certifique-se de que está codificado DER ou PEM. Esses certificados são normalmente armazenados em ficheiros com a extensão .der ou .crt. Se o certificado não estiver em um desses formatos de arquivo, use uma ferramenta como openssl transformar o certificado no formato necessário.

  2. Você pode adicionar o certificado diretamente ao seu Cofre de Chaves do Azure como um segredo e importá-lo de lá, ou pode carregar o certificado para a lista de certificados fidedignos através da interface 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 as Operações do Azure IoT.

  3. Vá para a página Pontos de extremidade de recursos na interface do utilizador da Web da experiência operacional.

  4. Para exibir a lista de certificados confiáveis, selecione Gerenciar certificados e segredos e, em seguida, Certificados:

    Captura de tela da experiência de operações mostrando a página de carregamento de certificados para a lista de certificados confiáveis.

  5. Você pode carregar um arquivo de certificado de sua máquina local ou adicionar um que você adicionou anteriormente como um segredo em seu Cofre de Chaves do Azure:

    Captura de tela da experiência de operações mostrando o certificado carregado com êxito.

  6. Selecione 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 seu Cofre da Chave do Azure como um segredo.

Se o servidor OPC UA usar um certificado emitido por uma autoridade de certificação (CA), você poderá confiar na autoridade de certificação adicionando seu certificado de chave pública à lista de certificados confiáveis. O conector para OPC UA agora confia automaticamente em todos os servidores que usam um certificado válido emitido pela autoridade de certificação. 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.

Gorjeta

Para adicionar um novo certificado na experiência de operações, você deve ser atribuído à função Key Vault Secrets Officer para seu Cofre de Chaves do Azure.

Importante

Se você estiver adicionando um certificado do Cofre de Chaves do Azure, 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 usa um certificado emitido por uma autoridade de certificação, mas você não deseja confiar em todos os certificados emitidos pela autoridade de certificação, 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 da autoridade de certificação à lista de certificados confiáveis. O conector para OPC UA usa o certificado CA para validar a cadeia de emissor do certificado do servidor OPC UA.

Para usar a interface Web de experiência de operações para gerir a lista de certificados de emissor, conclua as seguintes etapas:

  1. Obtenha o certificado de emissor que foi usado para assinar os certificados de instância do servidor como um arquivo. Esses arquivos normalmente têm uma .der extensão ou .crt . Este ficheiro 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.

  2. Você pode adicionar o certificado do emissor diretamente ao seu Cofre de Chaves do Azure como um segredo e importar de lá, ou pode carregar o certificado e a lista de revogação de certificados (arquivo .crl) para a lista de certificados do emissor usando a interface 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 as Operações do Azure IoT.

  3. Vá para a página Pontos de extremidade de recursos na interface do utilizador da Web da experiência operacional.

  4. Para exibir a lista de certificados do emissor, selecione Gerenciar certificados e segredos e, em seguida, Certificados:

    Captura de tela da experiência de operações mostrando a página de carregamento de certificados para a lista de certificados do emissor.

  5. Você pode carregar um arquivo de certificado de emissor de sua máquina local ou adicionar um que você adicionou anteriormente como um segredo em seu Cofre de Chaves do Azure:

    Captura de tela da experiência de operações mostrando o certificado do emissor carregado com êxito.

  6. Selecione 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 seu Cofre da Chave do Azure como um segredo.

Você também pode usar a experiência de operações para adicionar uma lista de revogação de certificados (arquivo .crl) à lista de certificados confiáveis.

Gorjeta

Para adicionar um novo certificado na experiência de operações, você deve ser atribuído à função Key Vault Secrets Officer para seu Cofre de Chaves do Azure.

Importante

Se você estiver adicionando um certificado do Cofre de Chaves do Azure, 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ê precisa configurar seu servidor OPC UA para confiar no conector para certificado de instância de aplicativo OPC UA:

  1. Para extrair o conector para o certificado OPC UA em um opcuabroker.crt arquivo, 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
    
  2. Muitos servidores OPC UA suportam apenas 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
    
  3. Consulte a documentação do seu servidor OPC UA para saber como adicionar o opcuabroker.crt arquivo de certificado ou opcuabroker.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 autoridade de certificação corporativa emite esse certificado e você precisa do certificado da autoridade de certificação para sua configuração. Muitas vezes, há uma hierarquia de CAs e você precisa adicionar a cadeia de validação completa de CAs à sua configuração.

O exemplo a seguir faz referência aos seguintes itens:

Iteme Descrição
opcuabroker-certificate.der Arquivo que contém a chave pública do certificado de instância do aplicativo de nível empresarial.
opcuabroker-certificate.pem Arquivo que contém a chave privada do certificado de instância do aplicativo de nível empresarial.
subjectName A cadeia de caracteres do nome da entidade incorporada no certificado da instância do aplicativo.
applicationUri O URI da instância do aplicativo incorporado na instância do aplicativo.
classe empresarial-ca-1.der Arquivo que contém a chave pública do certificado de autoridade de certificação de nível empresarial.
Classe Empresarial-CA-1.CRL O arquivo CRL da autoridade de certificação.

Como os exemplos anteriores, você usa um segredo dedicado do Kubernetes para armazenar os certificados e CRLs. Para configurar o certificado de instância de aplicativo de nível empresarial, conclua as seguintes etapas:

  1. 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>
    
  2. Se você usar a autoridade de certificação para emitir certificados para seu broker OPC UA, configure o segredo aio-opc-ua-broker-issuer-list . Use um cliente 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 enterprise, 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.