Compartir a través de


Configurar la infraestructura de certificados de OPC UA para la versión preliminar del conector para OPC UA

En este artículo, obtendrá información sobre cómo configurar la infraestructura de certificados de OPC UA para el conector para OPC UA. Esta configuración le permite determinar en qué servidores OPC UA confía para establecer una sesión de manera segura.

De acuerdo con la especificación de OPC UA, el conector para OPC UA actúa como una sola aplicación de OPC UA cuando establece comunicaciones seguras con los servidores OPC UA. El conector para OPC UA usa el mismo certificado de instancia de aplicación para todos los canales seguros que abre en los servidores OPC UA.

El conector de OPC UA debe confiar en los servidores de OPC UA a los que se conecta. El conector mantiene una lista de certificados de confianza. Para más información, consulte:

Requisitos previos

  • Una instancia de Operaciones de IoT de Azure implementada con una configuración segura. Si ha implementado Operaciones de Azure IoT con la configuración de prueba, primero debe habilitar la configuración segura.

Configuración de un certificado de instancia de aplicación autofirmado para el conector para OPC UA

La implementación predeterminada del conector para OPC UA instala todos los recursos que necesita el administrador de certificados para crear un certificado autofirmado compatible con OPC UA. Este certificado se almacena en el secreto aio-opc-opcuabroker-default-application-cert. Este secreto se asigna a todos los pods del conector para OPC UA y actúa como el certificado de instancia de aplicación cliente de OPC UA. cert-manager controla la renovación automática de este certificado de instancia de aplicación.

Esta configuración suele ser suficiente para una comunicación compatible y segura entre los servidores de OPC UA y el conector para OPC UA en un entorno de demostración o exploración. Para un entorno de producción, use certificados de instancia de aplicación a nivel empresarial en su implementación.

Configuración de la lista de certificados de confianza

Para conectarse a un servidor OPC UA, primero debe establecer la confianza mutua de autenticación de la aplicación. Para configurar la lista de certificados de confianza de los servidores a los que desea que el conector de OPC UA se conecte a:

Para usar la interfaz de usuario web de la experiencia de operaciones para administrar la lista de certificados de confianza, complete los pasos siguientes:

  1. Obtenga el certificado de instancia de la aplicación de servidor OPC UA como un archivo. Estos archivos suelen tener una .der extensión o .crt . Este archivo solo contiene la clave pública.

    Sugerencia

    Normalmente, un servidor OPC UA tiene una interfaz que le permite exportar su certificado de instancia de aplicación. Esta interfaz no está estandarizada. Para servidores como KEPServerEx, hay una interfaz de usuario de configuración basada en Windows para la administración de certificados. Otros servidores pueden tener una interfaz web o usar carpetas del sistema operativo para almacenar los certificados. Para obtener información sobre cómo exportar el certificado de instancia de aplicación, consulte el manual de usuario del servidor. Una vez que tenga el certificado, asegúrese de que esté codificado en DER o PEM. Estos certificados se almacenan normalmente en archivos con la .der extensión o .crt . Si el certificado no está en uno de esos formatos de archivo, use una herramienta como openssl para transformar el certificado en el formato necesario.

  2. Puede agregar el certificado directamente a Azure Key Vault como secreto e importarlo desde allí, o puede cargar el certificado en la lista de certificados de confianza mediante la experiencia de operaciones.

    Nota:

    El conector para OPC UA usa un secreto nativo de Kubernetes denominado aio-opc-ua-broker-trust-list para almacenar la lista de certificados de confianza. Este secreto se crea al implementar operaciones de Azure IoT.

  3. Vaya a la página Puntos de conexión de recursos en la interfaz de usuario web de la experiencia de operaciones.

  4. Para ver la lista de certificados de confianza, seleccione Administrar certificados y secretos y, a continuación, Certificados:

    Captura de pantalla de la experiencia de operaciones que muestra la página de carga de certificados para la lista de certificados de confianza.

  5. Puede cargar un archivo de certificado desde la máquina local o agregar uno que haya agregado anteriormente como secreto en Azure Key Vault:

    Captura de pantalla de la experiencia de operaciones que muestra el certificado cargado correctamente.

  6. Seleccione Aplicar para guardar los cambios. El certificado ahora se agrega a la lista de certificados de confianza. Si carga el certificado, se agrega automáticamente a Azure Key Vault como secreto.

Si el servidor de OPC UA usa un certificado emitido por una entidad de certificación (CA), puede confiar en la ENTIDAD de certificación agregando su certificado de clave pública a la lista de certificados de confianza. El conector para OPC UA ahora confía automáticamente en todos los servidores que usan un certificado válido emitido por la entidad de certificación. Por lo tanto, no es necesario agregar explícitamente el certificado del servidor OPC UA a la lista de certificados de confianza del conector para OPC UA. Actualmente, no puede usar la experiencia de operaciones para agregar una lista de revocación de certificados a la lista de certificados de confianza.

Sugerencia

Para agregar un nuevo certificado en la experiencia de operaciones, debe asignarse al rol oficial de secretos de Key Vault para su Azure Key Vault.

Importante

Si va a agregar un certificado desde Azure Key Vault, debe almacenarse como secreto y no como certificado.

Configuración de la lista de certificados del emisor

Si el servidor de OPC UA usa un certificado emitido por una ENTIDAD de certificación, pero no desea confiar en todos los certificados emitidos por la ENTIDAD de certificación, configure la lista de certificados del emisor:

Para poder configurar la lista de certificados emisores con los certificados intermedios, debe agregar el certificado de autoridad certificadora (CA) a la lista de certificados de confianza. El conector para OPC UA usa el certificado de la autoridad de certificación para validar la cadena de emisores del certificado del servidor de OPC UA.

Para usar la interfaz de usuario web de la experiencia de operaciones para administrar la lista de certificados del emisor, complete los pasos siguientes:

  1. Obtenga el certificado del emisor que se usó para firmar los certificados de instancia de servidor como un archivo. Estos archivos suelen tener una .der extensión o .crt . Este archivo solo contiene la clave pública. También puede tener un archivo .crl (lista de revocación de certificados) para el certificado del emisor.

  2. Puede agregar el certificado del emisor directamente a Azure Key Vault como secreto e importarlo desde allí, o bien puede cargar el certificado y la lista de revocación de certificados (archivo .crl) a la lista de certificados del emisor mediante la experiencia de operaciones.

    Nota:

    El conector para OPC UA usa un secreto nativo de Kubernetes denominado aio-opc-ua-broker-issuer-list para almacenar la lista de certificados del emisor. Este secreto se crea al implementar operaciones de Azure IoT.

  3. Vaya a la página Puntos de conexión de recursos en la interfaz de usuario web de la experiencia de operaciones.

  4. Para ver la lista de certificados emisores, seleccione Administrar certificados y secretos y, a continuación, Certificados:

    Captura de pantalla de la experiencia de operaciones que muestra la página de carga de certificados para la lista de certificados del emisor.

  5. Puede cargar un archivo de certificado del emisor desde la máquina local o agregar uno que haya agregado anteriormente como secreto en Azure Key Vault:

    Captura de pantalla de la experiencia de operaciones que muestra el certificado del emisor cargado correctamente.

  6. Seleccione Aplicar para guardar los cambios. El certificado ahora se agrega a la lista de certificados del emisor. Si carga el certificado, se agrega automáticamente a Azure Key Vault como secreto.

También puede usar la experiencia de operaciones para agregar una lista de revocación de certificados (archivo .crl) a la lista de certificados de confianza.

Sugerencia

Para agregar un nuevo certificado en la experiencia de operaciones, debe asignarse al rol oficial de secretos de Key Vault para su Azure Key Vault.

Importante

Si va a agregar un certificado desde Azure Key Vault, debe almacenarse como secreto y no como certificado.

Configuración del servidor OPC UA

Para completar la configuración de la confianza mutua de autenticación de la aplicación, debe configurar el servidor OPC UA para que confíe en el certificado de instancia de aplicación del conector para OPC UA:

  1. Para extraer el certificado del conector para OPC UA en un archivo opcuabroker.crt, ejecute el siguiente 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. Muchos servidores OPC UA solo admiten certificados en formato DER. Si es necesario, use el siguiente comando para convertir el certificado opcuabroker.crt en opcuabroker.der:

    openssl x509 -outform der -in opcuabroker.crt -out opcuabroker.der
    
  3. Consulte la documentación del servidor OPC UA para obtener información sobre cómo agregar el archivo de certificado opcuabroker.crt o opcuabroker.der a la lista de certificados de confianza del servidor.

Configuración de un certificado de instancia de aplicación de nivel empresarial

En entornos de producción, puede configurar el conector para OPC UA para que use un certificado de instancia de aplicación de nivel empresarial. Normalmente, una entidad de certificación empresarial emite este certificado y se necesita el certificado de entidad de certificación en la configuración. A menudo, hay una jerarquía de entidades de certificación y debe agregar la cadena de validación completa de CA a la configuración.

En el ejemplo siguiente se hace referencia a los siguientes elementos:

Elemento Descripción
opcuabroker-certificate.der Archivo que contiene la clave pública del certificado de instancia de aplicación de nivel empresarial.
opcuabroker-certificate.pem Archivo que contiene la clave privada del certificado de instancia de aplicación de nivel empresarial.
subjectName Cadena de nombre del firmante insertada en el certificado de instancia de aplicación.
applicationUri URI de la instancia de aplicación insertada en la instancia de aplicación.
enterprise-grade-ca-1.der Archivo que contiene la clave pública del certificado de entidad de certificación de nivel empresarial.
enterprise-grade-ca-1.crl El archivo CRL de la entidad de certificación.

Al igual que en los ejemplos anteriores, se usa un secreto dedicado de Kubernetes para almacenar los certificados y las CRL. Para configurar el certificado de instancia de aplicación de nivel empresarial, complete los pasos siguientes:

  1. Guarde los certificados y la CRL en el secreto aio-opc-ua-broker-client-certificate mediante el comando siguiente:

    # 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. Si usa la entidad de certificación para emitir certificados para el agente de OPC UA, configure el secreto aio-opc-ua-broker-issuer-list. Use un cliente de Kubernetes (por ejemplo, kubectl) para configurar los secretos enterprise-grade-ca-1.der y 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"
    

Ahora que el conector para OPC UA usa el certificado empresarial, no olvide agregar la clave pública del nuevo certificado en las listas de certificados de confianza de todos los servidores OPC UA a los que necesita conectarse.