Dela via


Konfigurera OPC PLC-simulatorn så att den fungerar med Azure IoT OPC UA Broker Preview

Viktigt!

Förhandsversion av Azure IoT Operations – aktiverad av Azure Arc finns för närvarande i FÖRHANDSVERSION. Du bör inte använda den här förhandsgranskningsprogramvaran i produktionsmiljöer.

Juridiska villkor för Azure-funktioner i betaversion, förhandsversion eller som av någon annan anledning inte har gjorts allmänt tillgängliga ännu finns i kompletterande användningsvillkor för Microsoft Azure-förhandsversioner.

I den här artikeln får du lära dig hur du konfigurerar och ansluter OPC PLC-simulatorn. Simulatorn simulerar en OPC UA-server med flera noder som genererar slumpmässiga data och avvikelser. Du kan konfigurera användardefinierade noder. Med OPC UA-simulatorn kan du testa processen med att hantera OPC UA-tillgångar med Azure IoT Operations-portalen (förhandsversion) eller Azure IoT Akri Preview.

Förutsättningar

En distribuerad instans av Förhandsversionen av Azure IoT Operations. Information om hur du distribuerar Azure IoT-åtgärder i demonstrations- och utforskningssyfte finns i Snabbstart: Distribuera Azure IoT Operations – till ett Arc-aktiverat Kubernetes-kluster. Om du distribuerar Azure IoT Operations enligt beskrivningen innehåller installationen OPC PLC-simulatorn.

Distribuera OPC PLC-simulatorn

Det här avsnittet visar hur du distribuerar OPC PLC-simulatorn om du inte tog med den när du först distribuerade Azure IoT Operations.

Följande steg sänker säkerhetsnivån för OPC PLC så att den accepterar anslutningar från Azure Iot OPC UA Broker eller någon klient utan en explicit peer-certifikatförtroendeåtgärd.

Viktigt!

Använd inte följande exempel i produktion, använd det endast i simulerings- och testsyfte.

Kör följande kod för att uppdatera OPC UA Broker-distributionen och tillämpa de nya inställningarna:

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

OPC PLC-simulatorn körs som en separat podd i azure-iot-operations namnområdet. Poddnamnet ser ut som opcplc-000000-7b6447f99c-mqwdq.

Konfigurera ömsesidigt förtroende mellan Azure Iot OPC UA Broker och OPC PLC

Mer information om ömsesidigt förtroende i OPC UA finns i OPC UA-certifikatinfrastruktur för Azure IoT OPC UA Broker.

Programinstanscertifikatet för OPC PLC-simulatorn är ett självsignerat certifikat som hanteras av cert-manager och lagras i Kubernetes-hemligheten aio-opc-ua-opcplc-default-application-cert-000000 .

Så här konfigurerar du ömsesidigt förtroende mellan Azure Iot OPC UA Broker och OPC PLC-simulatorn:

  1. Hämta certifikatet och skicka det till 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
    
  2. Lägg till certifikatet i den aio-opc-ua-broker-trust-list anpassade resursen i klustret. Använd en Kubernetes-klient, till exempel kubectl för att konfigurera hemligheten opcplc.crtSecretProviderClass i objektmatrisen i klustret.

    I följande exempel visas en fullständig SecretProviderClass anpassad resurs som innehåller simulatorcertifikatet i en PEM-kodad fil med .crt-tillägget:

    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
    

    Kommentar

    Den tid det tar att projicera Azure Key Vault-certifikat i klustret beror på det konfigurerade avsökningsintervallet.

Azure IoT OPC UA Broker-förtroenderelationen med OPC PLC-simulatorn har nu upprättats och du kan skapa en AssetEndpointProfile för att ansluta till din OPC PLC-simulator.

Du kan också konfigurera din AssetEndpointProfile utan att ömsesidigt förtroende har upprättats

Du kan också konfigurera en tillgångsslutpunktsprofil utan att upprätta ömsesidigt förtroende mellan OPC UA Broker och OPC PLC-simulatorn. Om du förstår riskerna kan du inaktivera autentisering i testsyfte.

Varning

Konfigurera inte för ingen autentisering i produktions- eller förproduktionsmiljöer. Att exponera klustret för Internet utan autentisering kan leda till obehörig åtkomst och till och med DDOS-attacker.

Om du vill tillåta att din tillgångsslutpunktsprofil ansluter till en OPC PLC-server utan att upprätta ömsesidigt förtroende använder du additionalConfiguration inställningen för att ändra konfigurationen AssetEndpointProfile .

Korrigera tillgångsslutpunkten med 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}}"}}'