Configuración del simulador de OPC PLC para trabajar con la versión preliminar del agente de Azure IoT OPC UA
Importante
Operaciones de IoT de Azure, habilitado por Azure Arc, está actualmente en VERSIÓN PRELIMINAR. No se debería usar este software en versión preliminar en entornos de producción.
Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.
En este artículo, aprenderá a configurar y conectar el simulador de OPC PLC. El simulador simula un servidor OPC UA con varios nodos que generan datos y anomalías aleatorios. Puede configurar nodos definidos por el usuario. El simulador de OPC UA permite probar el proceso de administración de recursos de OPC UA con el portal de Operaciones de IoT de Azure (versión preliminar) o Azure IoT Akri versión preliminar.
Requisitos previos
Una instancia implementada de la versión preliminar de Operaciones de IoT de Azure. Para implementar Operaciones de IoT de Azure con fines de demostración y exploración, consulte Inicio rápido: implementación de Operaciones de IoT de Azure en un clúster de Kubernetes habilitado para Arc. Si implementa Operaciones de IoT de Azure como se describe, la instalación incluye el simulador de OPC PLC.
Implementación del simulador de OPC PLC
En esta sección se muestra cómo implementar el simulador de OPC PLC si no lo incluyó al implementar por primera vez Operaciones de IoT de Azure.
El paso siguiente reduce el nivel de seguridad del OPC PLC para que acepte conexiones de OPC UA Broker de Azure IoT o de cualquier cliente sin una operación explícita de confianza de certificado del mismo nivel.
Importante
No use el ejemplo siguiente en producción, úselo solo con fines de simulación y prueba.
Ejecute el código siguiente para actualizar la implementación del agente de OPC UA y aplicar la nueva configuración:
az k8s-extension update \
--version 0.3.0-preview \
--name opc-ua-broker \
--release-train preview \
--cluster-name <cluster-name> \
--resource-group <azure-resource-group> \
--cluster-type connectedClusters \
--auto-upgrade-minor-version false \
--config opcPlcSimulation.deploy=true \
--config opcPlcSimulation.autoAcceptUntrustedCertificates=true
El simulador de OPC PLC se ejecuta como un pod independiente en el espacio de nombres azure-iot-operations
. El nombre del pod es similar a opcplc-000000-7b6447f99c-mqwdq
.
Configuración de la confianza mutua entre el agente de Azure IoT OPC UA y OPC PLC
Para más información sobre la confianza mutua en OPC UA, consulte Infraestructura de certificados de OPC UA para el agente de Azure IoT OPC UA.
El certificado de instancia de aplicación del simulador de OPC PLC es un certificado autofirmado administrado por cert-manager y almacenado en el secreto de Kubernetesaio-opc-ua-opcplc-default-application-cert-000000
.
Para configurar la confianza mutua entre el agente de Azure IoT OPC UA y el simulador de OPC PLC:
Obtenga el certificado e insértelo en Azure Key Vault:
kubectl -n azure-iot-operations get secret aio-opc-ua-opcplc-default-application-cert-000000 -o jsonpath='{.data.tls\.crt}' | \ base64 -d | \ xargs -0 -I {} \ az keyvault secret set \ --name "opcplc-crt" \ --vault-name <your-azure-key-vault-name> \ --value {} \ --content-type application/x-pem-file
Agregue el certificado al recurso
aio-opc-ua-broker-trust-list
personalizado en el clúster. Use un cliente de Kubernetes, comokubectl
, para configurar el secreto deopcplc.crt
en la matriz de objetosSecretProviderClass
del clúster.En el ejemplo siguiente se muestra un recurso personalizado completo
SecretProviderClass
que contiene el certificado del simulador en un archivo codificado en PEM con la extensión .crt:apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name: aio-opc-ua-broker-trust-list namespace: azure-iot-operations spec: provider: azure parameters: usePodIdentity: 'false' keyvaultName: <your-azure-key-vault-name> tenantId: <your-azure-tenant-id> objects: | array: - | objectName: opcplc-crt objectType: secret objectAlias: opcplc.crt
Nota:
El tiempo necesario para proyectar certificados de Azure Key Vault en el clúster depende del intervalo de sondeo configurado.
Ahora se establece la relación de confianza del agente de Azure IoT OPC UA con el simulador de OPC PLC y puede crear un AssetEndpointProfile
para conectarse al simulador de OPC PLC.
Opcionalmente, configure la AssetEndpointProfile
sin confianza mutua establecida.
Opcionalmente, puede configurar un perfil de punto de conexión de recurso sin establecer la confianza mutua entre el agente de OPC UA y el simulador de OPC PLC. Si comprende los riesgos, puede desactivar la autenticación con fines de prueba.
Precaución
No configure para ninguna autenticación en entornos de producción o preproducción. Exponer el clúster a Internet sin autenticación podría resultar en accesos no autorizados e, incluso, ataques DDOS.
Para permitir que el perfil de punto de conexión del recurso se conecte a un servidor OPC PLC sin establecer confianza mutua, use la configuración de additionalConfiguration
para modificar la configuración de AssetEndpointProfile
.
Aplique revisiones al punto de conexión del recurso con autoAcceptUntrustedServerCertificates=true
:
ENDPOINT_NAME=<name-of-you-endpoint-here>
kubectl patch AssetEndpointProfile $ENDPOINT_NAME \
-n azure-iot-operations \
--type=merge \
-p '{"spec":{"additionalConfiguration":"{\"applicationName\":\"'"$ENDPOINT_NAME"'\",\"security\":{\"autoAcceptUntrustedServerCertificates\":true}}"}}'