Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
- Administración de certificados para la implementación de Azure IoT Operations : en este artículo se describe cómo Azure IoT Operations usa Azure Key Vault para administrar certificados.
- Infraestructura de certificados de OPC UA para el conector para OPC UA : en este artículo se describen los roles de la lista de certificados de confianza y la lista de certificados emisores.
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:
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 comoopenssl
para transformar el certificado en el formato necesario.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.
Vaya a la página Puntos de conexión de recursos en la interfaz de usuario web de la experiencia de operaciones.
Para ver la lista de certificados de confianza, seleccione Administrar certificados y secretos y, a continuación, Certificados:
Puede cargar un archivo de certificado desde la máquina local o agregar uno que haya agregado anteriormente como secreto en Azure Key Vault:
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:
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.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.
Vaya a la página Puntos de conexión de recursos en la interfaz de usuario web de la experiencia de operaciones.
Para ver la lista de certificados emisores, seleccione Administrar certificados y secretos y, a continuación, Certificados:
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:
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:
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
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
Consulte la documentación del servidor OPC UA para obtener información sobre cómo agregar el archivo de certificado
opcuabroker.crt
oopcuabroker.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:
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>
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.