Configurare un simulatore OPC PLC

Importante

Anteprima delle operazioni di Azure IoT: abilitata da Azure Arc è attualmente disponibile in ANTEPRIMA. Non è consigliabile usare questo software di anteprima negli ambienti di produzione.

Vedere le condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure per termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale.

Questo articolo illustra come implementare un simulatore di server OPC UA con nodi diversi che generano dati casuali, anomalie e configurazione dei nodi definiti dall'utente. Per gli sviluppatori, un simulatore OPC UA consente di testare il processo di gestione degli asset OPC UA connessi al simulatore.

Prerequisiti

Azure IoT Operations Preview installato. Per altre informazioni, vedere Avvio rapido: Distribuire le operazioni di Azure IoT in un cluster Kubernetes abilitato per Arc. Se si distribuiscono le operazioni di Azure IoT come descritto, il processo installa un simulatore OPC PLC.

Ottenere il certificato del simulatore OPC PLC

Se si distribuisce Azure IoT Operations con il simulatore OPC PLC abilitato, è possibile ottenere il certificato del PLC denominato simulationPlc. Ottenendo il certificato, è possibile eseguire il simulatore con attendibilità reciproca.

Per ottenere il certificato, eseguire i comandi seguenti nel cluster:

# Copy the public cert of the simulationPlc in the cluster to a local folder 

OPC_PLC_POD=$(kubectl get pod -l app.kubernetes.io/name=opcplc -n azure-iot-operations -o jsonpath="{.items[0].metadata.name}")  
SERVER_CERT=$(kubectl exec $OPC_PLC_POD -n azure-iot-operations -- ls /app/pki/own/certs) 
kubectl cp azure-iot-operations/${OPC_PLC_POD}:/app/pki/own/certs/${SERVER_CERT} my-server.der

Configurare l'autenticazione del trasporto OPC UA

Dopo aver ottenere il certificato del simulatore, il passaggio successivo consiste nel configurare l'autenticazione.

  1. Per completare questa configurazione, seguire la procedura descritta in Configurare l'autenticazione del trasporto OPC UA.

  2. Facoltativamente, invece di configurare una classe di provider di segreti CR, è possibile configurare un certificato autofirmato per l'autenticazione del trasporto.

    Per creare un certificato autofirmato per testare l'autenticazione del trasporto, eseguire il comando seguente:

    # Create cert.pem and key.pem
    openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -sha256 -days 365 -nodes \
    -subj "/CN=opcuabroker/O=Microsoft" \
    -addext "subjectAltName=URI:urn:microsoft.com:opc:ua:broker" \
    -addext "keyUsage=critical, nonRepudiation, digitalSignature, keyEncipherment, dataEncipherment, keyCertSign" \
    -addext "extendedKeyUsage = critical, serverAuth, clientAuth" \
    -addext "basicConstraints=CA:FALSE"
    

Configurare l'attendibilità reciproca OPC UA

Un'altra opzione di autenticazione OPC UA che è possibile configurare è l'attendibilità reciproca. Nella comunicazione OPC UA, il client e il server OPC UA confermano entrambi l'identità.

Per completare questa configurazione, seguire la procedura descritta in Configurare l'attendibilità reciproca OPC UA.

Facoltativamente, configurare per nessuna autenticazione

Facoltativamente, è possibile configurare un OPC PLC per l'esecuzione senza autenticazione. Se si conoscono i rischi, è possibile disattivare l'autenticazione a scopo di test.

Attenzione

Non configurare per nessuna autenticazione nell'ambiente di produzione o in pre-produzione. L'esposizione del cluster a Internet senza autenticazione può causare accessi non autorizzati e persino attacchi DDOS.

Per eseguire un OPC PLC senza profilo di sicurezza, è possibile regolare manualmente per AssetEndpointProfile OPC UA con l'impostazione additionalConfiguration .

Configurare l'impostazione come illustrato nel codice JSON di esempio seguente:

"security": {
        "autoAcceptUntrustedServerCertificates": true
         }