Partager via


Configurer le simulateur OPC PLC pour le rendre compatible avec Azure IoT OPC UA Broker (préversion)

Important

Opérations Azure IoT (préversion) – activé parc Azure Arc est actuellement en PRÉVERSION. Vous ne devez pas utiliser ce logiciel en préversion dans des environnements de production.

Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.

Dans cet article, vous allez apprendre à configurer et connecter le simulateur OPC PLC. Le simulateur simule un serveur OPC UA avec plusieurs nœuds qui génèrent des données aléatoires et des anomalies. Vous pouvez configurer des nœuds définis par l’utilisateur. Le simulateur OPC UA vous permet de tester le processus de gestion de ressources OPC UA avec le portail Opérations Azure IoT (préversion) ou Azure IoT Akri (préversion).

Prérequis

Une instance déployée d’Opérations Azure IoT (préversion). Pour déployer Opérations Azure IoT à des fins de démonstration et d’exploration, consultez Démarrage rapide : Déployer Opérations Azure IoT – sur un cluster Kubernetes avec Arc. Si vous déployez Opérations Azure IoT comme décrit, l’installation inclut le simulateur OPC PLC.

Déployer le simulateur de PLC OPC

Cette section montre comment déployer le simulateur OPC PLC si vous ne l’avez pas inclus lors du premier déploiement d’Opérations Azure IoT.

L’étape suivante réduit le niveau de sécurité du PLC OPC pour qu’il accepte les connexions d’Azure Iot OPC UA Broker ou d’un client sans une opération explicite d’approbation de certificat homologue.

Important

N’utilisez pas l’exemple suivant en production, utilisez-le uniquement à des fins de simulation et de test.

Exécutez le code suivant pour mettre à jour le déploiement du répartiteur OPC UA et appliquer les nouveaux paramètres :

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

Le simulateur OPC PLC s’exécute en tant que pod distinct dans l’espace de noms azure-iot-operations. Le nom de pod ressemble à ceci : opcplc-000000-7b6447f99c-mqwdq.

Configurer l’approbation mutuelle entre Azure Iot OPC UA Broker et OPC PLC

Pour plus d’informations sur l’approbation mutuelle dans OPC UA, consultez Infrastructure de certificats OPC UA pour Azure IoT OPC UA Broker.

Le certificat d’instance d’application du simulateur OPC PLC est un certificat auto-signé géré par cert-manager et stocké dans le secret Kubernetes aio-opc-ua-opcplc-default-application-cert-000000.

Pour configurer l’approbation mutuelle entre Azure Iot OPC UA Broker et le simulateur OPC PLC :

  1. Obtenez le certificat et envoyez-le (push) à 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. Ajoutez le certificat à la ressource personnalisée aio-opc-ua-broker-trust-list dans le cluster. Utilisez un client Kubernetes tel que kubectl pour configurer le secret opcplc.crt dans le tableau d’objets SecretProviderClass du cluster.

    L’exemple suivant montre une ressource personnalisée SecretProviderClass complète qui contient le certificat du simulateur dans un fichier encodé en PEM avec l’extension .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
    

    Remarque

    Le temps nécessaire pour projeter des certificats Azure Key Vault dans le cluster dépend de l’intervalle d’interrogation configuré.

La relation de confiance entre Azure IoT OPC UA Broker et le simulateur OPC PLC est maintenant établie, et vous pouvez créer un AssetEndpointProfile pour vous connecter au simulateur OPC PLC.

Configurez éventuellement votre AssetEndpointProfile sans approbation mutuelle établie.

Vous pouvez éventuellement configurer un profil de point de terminaison de ressource sans établir d’approbation mutuelle entre OPC UA Broker et le simulateur OPC PLC. Si vous comprenez les risques, vous pouvez désactiver l’authentification à des fins de test.

Attention

Évitez de configurer une absence totale d’authentification dans les environnements de production ou de pré-production. Exposer votre cluster à Internet sans authentification peut entraîner des accès non autorisés et des attaques DDOS.

Pour autoriser votre profil de point de terminaison de ressource à se connecter à un serveur PLC OPC sans établir d’approbation mutuelle, utilisez le paramètre additionalConfiguration pour modifier la configuration de AssetEndpointProfile.

Corrigez le point de terminaison de ressources avec 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}}"}}'