Partager via


Configurer l’infrastructure de certificats OPC UA pour le Connecteur OPC UA

Dans cet article, vous découvrez comment configurer l’infrastructure de certificats OPC UA pour le Connecteur OPC UA. Cette configuration vous permet de désigner les serveurs OPC UA auxquels vous faites confiance pour établir une session de manière sécurisée.

Conformément à la spécification OPC UA, le Connecteur OPC UA agit en tant qu’application OPC UA unique quand il établit des communications sécurisées avec des serveurs OPC UA. Le Connecteur OPC UA utilise le même certificat d’instance d’application pour tous les canaux sécurisés qu’il ouvre avec vos serveurs OPC UA.

Le connecteur pour OPC UA doit approuver les serveurs OPC UA auxquels il se connecte. Le connecteur gère une liste de certificats approuvés. Pour en savoir plus, consultez :

Prérequis

Configurer un certificat d’instance d’application auto-signé pour le connecteur pour OPC UA

Le déploiement par défaut du Connecteur OPC UA installe toutes les ressources nécessaires à cert-manager pour créer un certificat auto-signé conforme à OPC UA. Ce certificat est stocké dans le secret aio-opc-opcuabroker-default-application-cert. Ce secret est mappé dans tous les pods du Connecteur OPC UA et fait office de certificat d’instance d’application cliente OPC UA. cert-manager gère le renouvellement automatique de ce certificat d’instance d’application.

Cette configuration est généralement suffisante pour une communication conforme et sécurisée entre vos serveurs OPC UA et le Connecteur OPC UA dans un environnement de démonstration ou d’exploration. Pour un environnement de production, utilisez des certificats d’instance d’application de niveau entreprise dans votre déploiement.

Configurer la liste des certificats approuvés

Pour vous connecter à un serveur OPC UA, vous devez d’abord établir l’approbation mutuelle de l’authentification d’application. Pour configurer la liste des certificats approuvés des serveurs auxquels vous souhaitez que le connecteur OPC UA se connecte :

Pour utiliser l’interface utilisateur web de l’expérience des opérations pour gérer la liste des certificats approuvés, procédez comme suit :

  1. Obtenez le certificat d’instance de l’application du serveur OPC UA sous la forme d’un fichier. Ces fichiers ont généralement une extension .der ou .crt. Ce fichier contient uniquement la clé publique.

    Conseil

    En règle générale, un serveur OPC UA dispose d’une interface qui vous permet d’exporter son certificat d’instance d’application. Cette interface n’est pas standardisée. Certains serveurs tels que KEPServerEx proposent une interface utilisateur de configuration basée sur Windows dédiée à la gestion des certificats. D’autres serveurs peuvent disposer d’une interface web ou utiliser des dossiers de système d’exploitation pour le stockage des certificats. Pour savoir comment exporter le certificat d’instance d’application, reportez-vous au manuel utilisateur de votre serveur. Une fois que vous disposez du certificat, vérifiez qu’il est encodé en DER ou PEM. Ces certificats sont généralement stockés dans des fichiers avec l’extension .der ou .crt. Si le certificat ne présente pas l’un de ces formats de fichier, utilisez un outil tel que openssl pour transformer le certificat dans le format requis.

  2. Vous pouvez ajouter le certificat directement à votre Azure Key Vault en tant que secret et l'importer depuis ce dernier, ou vous pouvez charger le certificat dans la liste des certificats approuvés à l'aide de l'interface d'exploitation.

    Remarque

    Le connecteur pour OPC UA utilise un secret natif Kubernetes nommé aio-opc-ua-broker-trust-list pour stocker la liste des certificats approuvés. Ce secret est créé lorsque vous déployez des opérations Azure IoT.

  3. Accédez à la page Points de terminaison des actifs dans l’interface web de l'expérience des opérations.

  4. Pour afficher la liste des certificats approuvés, sélectionnez Gérer les certificats et les secrets , puis Certificats :

    Capture d’écran de l’expérience des opérations montrant la page de chargement de certificat pour la liste des certificats approuvés.

  5. Vous pouvez charger un fichier de certificat à partir de votre ordinateur local ou en ajouter un que vous avez précédemment ajouté en tant que secret dans votre coffre de clés Azure :

    Capture d’écran de l’expérience des opérations montrant le certificat correctement chargé.

  6. Cliquez sur Appliquer pour enregistrer les modifications. Le certificat est maintenant ajouté à la liste des certificats approuvés. Si vous chargez le certificat, il est automatiquement ajouté à votre coffre de clés Azure en tant que secret.

Si votre serveur OPC UA utilise un certificat émis par une autorité de certification, vous pouvez approuver l’autorité de certification en ajoutant son certificat de clé publique à la liste des certificats approuvés. Le Connecteur OPC UA approuve maintenant automatiquement tous les serveurs qui utilisent un certificat valide émis par l’autorité de certification. Vous n’avez donc plus besoin d’ajouter explicitement le certificat du serveur OPC UA à la liste des certificats approuvés du Connecteur OPC UA. Actuellement, vous ne pouvez pas utiliser l’expérience des opérations pour ajouter une liste de révocation de certificats à la liste des certificats approuvés.

Conseil

Pour ajouter un nouveau certificat dans l’expérience des opérations, vous devez être affecté au rôle Agent des secrets Key Vault pour votre coffre de clés Azure Key Vault.

Important

Si vous ajoutez un certificat à partir d’Azure Key Vault, il doit être stocké en tant que secret et non en tant que certificat.

Configurer la liste des certificats de l’émetteur

Si votre serveur OPC UA utilise un certificat émis par une autorité de certification, mais que vous ne souhaitez pas approuver tous les certificats émis par l’autorité de certification, configurez la liste des certificats d’émetteur :

Avant de pouvoir configurer la liste des certificats d’émetteur avec vos certificats intermédiaires, vous devez ajouter le certificat d’autorité de certification à la liste des certificats approuvés. Le connecteur pour OPC UA utilise le certificat d’autorité de certification pour valider la chaîne d’émetteur du certificat du serveur OPC UA.

Pour utiliser l’interface utilisateur web de l’expérience des opérations pour gérer la liste des certificats d’émetteur, procédez comme suit :

  1. Obtenez le certificat émetteur utilisé pour signer vos certificats d’instance de serveur en tant que fichier. Ces fichiers ont généralement une extension .der ou .crt. Ce fichier contient uniquement la clé publique. Vous pouvez également avoir un fichier .crl (liste de révocation de certificats) pour le certificat émetteur.

  2. Vous pouvez ajouter le certificat d’émetteur directement à votre Azure Key Vault en tant que secret et l'importer à partir de là, ou vous pouvez télécharger le certificat et la liste de révocation des certificats (.crl) dans la liste des certificats d’émetteur à l’aide de la gestion des opérations.

    Remarque

    Le connecteur pour OPC UA utilise un secret natif Kubernetes nommé aio-opc-ua-broker-issuer-list pour stocker la liste des certificats d’émetteur. Ce secret est créé lorsque vous déployez des opérations Azure IoT.

  3. Accédez à la page Points de terminaison des actifs dans l’interface web de l'expérience des opérations.

  4. Pour afficher la liste des certificats d’émetteur, sélectionnez Gérer les certificats et les secrets , puis Certificats :

    Capture d’écran de l’expérience des opérations montrant la page de chargement de certificat pour la liste des certificats émetteurs.

  5. Vous pouvez charger un fichier de certificat d’émetteur à partir de votre ordinateur local ou en ajouter un que vous avez précédemment ajouté en tant que secret dans votre coffre de clés Azure :

    Capture d’écran de l’expérience des opérations montrant le certificat émetteur chargé avec succès.

  6. Cliquez sur Appliquer pour enregistrer les modifications. Le certificat est maintenant ajouté à la liste des certificats d’émetteur. Si vous chargez le certificat, il est automatiquement ajouté à votre coffre de clés Azure en tant que secret.

Vous pouvez également utiliser l’expérience des opérations pour ajouter une liste de révocation de certificats (fichier.crl) à la liste des certificats approuvés.

Conseil

Pour ajouter un nouveau certificat dans l’expérience des opérations, vous devez être affecté au rôle Agent des secrets Key Vault pour votre coffre de clés Azure Key Vault.

Important

Si vous ajoutez un certificat à partir d’Azure Key Vault, il doit être stocké en tant que secret et non en tant que certificat.

Configurer votre serveur OPC UA

Pour mener à bien la configuration de l’approbation mutuelle de l’authentification d’application, vous devez configurer votre serveur OPC UA de façon à approuver le certificat d’instance d’application du Connecteur OPC UA :

  1. Pour extraire le certificat du Connecteur OPC UA dans un fichier opcuabroker.crt, exécutez la commande suivante :

    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
    
  2. De nombreux serveurs OPC UA prennent uniquement en charge les certificats au format DER. Si nécessaire, utilisez la commande suivante pour convertir le certificat opcuabroker.crt en certificat opcuabroker.der :

    openssl x509 -outform der -in opcuabroker.crt -out opcuabroker.der
    
  3. Consultez la documentation de votre serveur OPC UA pour savoir comment ajouter le fichier de certificat opcuabroker.crt ou opcuabroker.der à la liste des certificats approuvés du serveur.

Configurer un certificat d’instance d’application de niveau entreprise

Pour les environnements de production, vous pouvez configurer le Connecteur OPC UA pour qu’il utilise un certificat d’instance d’application de niveau entreprise. En règle générale, une autorité de certification d’entreprise émet ce certificat, et vous avez besoin du certificat d’autorité de certification dans votre configuration. Souvent, il existe une hiérarchie d’autorités de certification et vous devez ajouter la chaîne de validation complète des autorités de certification à votre configuration.

L’exemple ci-dessous fait référence aux éléments suivants :

Élément Descriptif
opcuabroker-certificate.der Fichier contenant la clé publique du certificat d’instance d’application de niveau entreprise.
opcuabroker-certificate.pem Fichier contenant la clé privée du certificat d’instance d’application de niveau entreprise.
subjectName Chaîne de nom d’objet incorporée dans le certificat d’instance d’application.
applicationUri URI de l’instance d’application incorporé dans l’instance d’application.
enterprise-grade-ca-1.der Fichier contenant la clé publique du certificat d’autorité de certification de niveau entreprise.
enterprise-grade-ca-1.crl Fichier de liste de révocation de certificats de l’autorité de certification.

Comme dans les exemples précédents, vous utilisez un secret Kubernetes dédié pour stocker les certificats et les listes de révocation de certificats. Pour configurer le certificat d’instance d’application de niveau entreprise, effectuez les étapes suivantes :

  1. Enregistrez les certificats et la liste de révocation de certificats dans le secret aio-opc-ua-broker-client-certificate à l’aide de la commande suivante :

    # 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>
    
  2. Si vous utilisez l’autorité de certification pour émettre des certificats pour votre répartiteur OPC UA, configurez le secret aio-opc-ua-broker-issuer-list. Utilisez un client Kubernetes tel que kubectl pour configurer les secrets enterprise-grade-ca-1.der et 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"
    

Maintenant que le Connecteur OPC UA utilise le certificat d’entreprise, n’oubliez pas d’ajouter la clé publique du nouveau certificat aux listes de certificats approuvés de tous les serveurs OPC UA auxquels il doit se connecter.