Delen via


Infrastructuur voor OPC UA-certificaten configureren voor de connector voor OPC UA

In dit artikel leert u hoe u de infrastructuur voor OPC UA-certificaten voor de connector voor OPC UA configureert. Met deze configuratie kunt u bepalen met welke OPC UA-servers u een sessie veilig tot stand brengt.

Op basis van de OPC UA-specificatie fungeert de connector voor OPC UA als één OPC UA-toepassing wanneer deze beveiligde communicatie met OPC UA-servers tot stand brengt. De connector voor OPC UA maakt gebruik van hetzelfde certificaat voor het toepassingsexemplaren voor alle beveiligde kanalen die worden geopend voor uw OPC UA-servers.

Zie de infrastructuur voor OPC UA-certificaten voor de connector voor OPC UA voor meer informatie.

Vereisten

Een zelfondertekend toepassingsexemplarencertificaat configureren

Met de standaardimplementatie van de connector voor OPC UA worden alle resources geïnstalleerd die door certificaatbeheer nodig zijn om een zelfondertekend OPC UA-compatibel certificaat te maken. Dit certificaat wordt opgeslagen in het aio-opc-opcuabroker-default-application-cert geheim. Dit geheim wordt toegewezen aan alle connectoren voor OPC UA-pods en fungeert als het certificaat van het OPC UA-clienttoepassingsexemplaren. cert-manager verwerkt de automatische verlenging van dit certificaat van het toepassingsexemplaren.

Deze configuratie is doorgaans voldoende voor compatibele en veilige communicatie tussen uw OPC UA-servers en de connector voor OPC UA in een demonstratie- of verkenningsomgeving. Gebruik voor een productieomgeving certificaten van toepassingsexemplaren op bedrijfsniveau in uw implementatie.

De lijst met vertrouwde certificaten configureren

Als u verbinding wilt maken met een asset, moet u eerst de wederzijdse vertrouwensrelatie voor toepassingsverificatie instellen. Voer de volgende stappen uit voor de connector voor OPC UA:

  1. Haal het exemplaarcertificaat van de OPC UA-servertoepassing op als een bestand. Deze bestanden hebben doorgaans de extensie .der of .crt. Dit is alleen de openbare sleutel.

    Tip

    Normaal gesproken heeft een OPC UA-server een interface waarmee u het certificaat van het toepassingsexemplaren kunt exporteren. Deze interface is niet gestandaardiseerd. Voor servers zoals KEPServerEx is er een op Windows gebaseerde configuratiegebruikersinterface voor certificaatbeheer. Andere servers hebben mogelijk een webinterface of gebruiken besturingssysteemmappen om de certificaten op te slaan. Raadpleeg de gebruikershandleiding van uw server om erachter te komen hoe u het certificaat van het toepassingsexemplaren exporteert. Nadat u het certificaat hebt, controleert u of het is gecodeerd met DER of PEM. Normaal gesproken opgeslagen in bestanden met de extensie .der of .crt. Als het certificaat zich niet in een van deze bestandsindelingen bevindt, gebruikt u een hulpprogramma, bijvoorbeeld openssl om het certificaat te transformeren in de vereiste indeling.

  2. Voeg het certificaat van het toepassingsexemplaren van de OPC UA-server toe aan de lijst met vertrouwde certificaten. Deze lijst wordt geïmplementeerd als een systeemeigen Kubernetes-geheim met de naam aio-opc-ua-broker-trust-list die wordt gemaakt bij het implementeren van Azure IoT Operations.

    Voer de volgende opdracht uit voor een DER-gecodeerd certificaat in een bestand, zoals ./my-server.der:

    # Append my-server.der OPC UA server certificate to the trusted certificate list secret as a new entry
    az iot ops connector opcua trust add --instance <your instance name> --resource-group <your resource group> --certificate-file "./my-server.der"
    

    Voer de volgende opdracht uit voor een PEM-gecodeerd certificaat in een bestand, zoals ./my-server.crt:

    # Append my-server.crt OPC UA server certificate to the trusted certificate list secret as a new entry
    az iot ops connector opcua trust add --instance <your instance name> --resource-group <your resource group> --certificate-file "./my-server.crt"
    

Als uw OPC UA-server gebruikmaakt van een certificaat dat is uitgegeven door een certificeringsinstantie (CA), kunt u de CA vertrouwen door het openbare-sleutelcertificaat toe te voegen aan de connector voor de lijst met vertrouwde OPC UA-certificaten. De connector voor OPC UA vertrouwt nu automatisch alle servers die gebruikmaken van een geldig certificaat dat is uitgegeven door de CA. Daarom hoeft u het certificaat van de OPC UA-server niet expliciet toe te voegen aan de connector voor de lijst met vertrouwde OPC UA-certificaten.

Voer de volgende stappen uit om een CA te vertrouwen:

  1. Haal de openbare sleutelcode van het CA-certificaat op in DE DER- of PEM-indeling. Deze certificaten worden doorgaans opgeslagen in bestanden met de extensie .der of .crt. Haal de CRL van de CA op. Deze lijst bevindt zich meestal in een bestand met de .crl. Raadpleeg de documentatie voor uw OPC UA-server voor meer informatie.

  2. Sla het CA-certificaat en de CRL op in het systeemeigen geheim aio-opc-ua-broker-trust-list kubernetes.

    Voer de volgende opdrachten uit voor een DOOR DER gecodeerd CA-certificaat in een bestand, zoals ./my-server-ca.der:

    # Append CA certificate to the trusted certificate list secret as a new entry
    az iot ops connector opcua trust add --instance <your instance name> --resource-group <your resource group> --certificate-file "./my-server-ca.der"
    
    # Append the CRL to the trusted certificate list secret as a new entry
    data=$(kubectl create secret generic temp --from-file= my-server-ca.crl=./ my-server-ca.crl --dry-run=client -o jsonpath='{.data}')
    kubectl patch secret aio-opc-ua-broker-trust-list -n azure-iot-operations -p "{`"data`": $data}"
    

    Voer de volgende opdrachten uit voor een PEM-gecodeerd CA-certificaat in een bestand zoals ./my-server-ca.crt:

    # Append CA certificate to the trusted certificate list secret as a new entry
    az iot ops connector opcua trust add --instance <your instance name> --resource-group <your resource group> --certificate-file "./my-server-ca.crt"
    
    # Append the CRL to the trusted certificates list secret as a new entry
    data=$(kubectl create secret generic temp --from-file=my-server-ca.crl=./my-server-ca.crl --dry-run=client -o jsonpath='{.data}')
    kubectl patch secret aio-opc-ua-broker-trust-list -n azure-iot-operations -p "{`"data`": $data}"
    

De lijst met certificaten voor verleners configureren

Als uw OPC UA-server gebruikmaakt van een certificaat dat is uitgegeven door een CA, maar u niet alle certificaten wilt vertrouwen die zijn uitgegeven door de CA, voert u de volgende stappen uit:

  1. Vertrouw het certificaat van het toepassingsexemplaren van de OPC UA-server door de eerste drie stappen in de vorige sectie te volgen.

  2. Naast het certificaat zelf heeft de connector voor OPC UA het CA-certificaat nodig om de verlenerketen van het CERTIFICAAT van de OPC UA-server goed te valideren. Voeg het CA-certificaat en de bijbehorende certificaatintrekkingslijst (CRL) toe aan een afzonderlijke lijst met de naam aio-opc-ua-broker-issuer-issuer-list die is geïmplementeerd als een Kubernetes-geheim.

    1. Sla het CA-certificaat en de CRL op in het aio-opc-ua-broker-issuer-list geheim.

      # 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 "./my-server-ca.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 "./my-server-ca.crl"
      

      Voer de volgende opdrachten uit voor een PEM-gecodeerd certificaat in een bestand, zoals ./my-server-ca.crt:

      # 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 "./my-server-ca.crt"
      
      # 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 "./my-server-ca.crl"
      

Uw OPC UA-server configureren

Als u de configuratie van de wederzijdse vertrouwensrelatie voor toepassingsverificatie wilt voltooien, moet u uw OPC UA-server configureren om de connector te vertrouwen voor het certificaat van het OPC UA-toepassingsexemplaren:

  1. Voer de volgende opdracht uit om de connector voor OPC UA-certificaat uit te pakken in een opcuabroker.crt bestand:

    kubectl -n azure-iot-operations get secret aio-opc-opcuabroker-default-application-cert -o jsonpath='{.data.tls\.crt}' | base64 -d > opcuabroker.crt
    
  2. Veel OPC UA-servers ondersteunen alleen certificaten in de DER-indeling. Gebruik indien nodig de volgende opdracht om het opcuabroker.crt-certificaat te converteren naar opcuabroker.der:

    openssl x509 -outform der -in opcuabroker.crt -out opcuabroker.der
    
  3. Raadpleeg de documentatie van uw OPC UA-server voor meer informatie over het toevoegen van het opcuabroker.crt of opcuabroker.der certificaatbestand aan de lijst met vertrouwde certificaten van de server.

Een certificaat voor een toepassingsexemplaren op bedrijfsniveau configureren

Voor productieomgevingen kunt u de connector voor OPC UA configureren voor het gebruik van een toepassingsexemplementatiecertificaat op bedrijfsniveau. Normaal gesproken geeft een ca van een onderneming dit certificaat uit en hebt u het CA-certificaat nodig voor uw configuratie. Vaak is er een hiërarchie van CA's en moet u de volledige validatieketen van CA's toevoegen aan uw configuratie.

In het volgende voorbeeld wordt verwezen naar de volgende items:

Item Beschrijving
opcuabroker-certificate.der Bestand dat de openbare sleutel van het toepassingsexemplaren van bedrijfsniveau bevat.
opcuabroker-certificate.pem Bestand dat de persoonlijke sleutel van het certificaat van het bedrijfstoepassingsexemplaren bevat.
subjectName De tekenreeks met de onderwerpnaam die is ingesloten in het certificaat van het toepassingsexemplaren.
applicationUri De URI van het toepassingsexemplaren die is ingesloten in het toepassingsexemplaren.
enterprise-grade-ca-1.der Bestand dat de openbare sleutel van het CA-certificaat van ondernemingsniveau bevat.
enterprise-grade-ca-1.crl Het CRL-bestand van de CA.

Net als in de vorige voorbeelden gebruikt u een toegewezen Kubernetes-geheim om de certificaten en CRL's op te slaan. Voer de volgende stappen uit om het certificaat van het instantie-exemplaar van bedrijfstoepassingen te configureren:

  1. Sla de certificaten en de CRL op in het geheim aio-opc-ua-broker-client-certificate met behulp van de volgende opdracht:

    # 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. Als u de CA gebruikt om certificaten uit te geven voor uw OPC UA-broker, configureert u het geheim aio-opc-ua-broker-issuer-list . Gebruik een Kubernetes-client, zoals kubectl het configureren van de geheimen op enterprise-grade-ca-1.der en 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"
    

Nu de connector voor OPC UA gebruikmaakt van het bedrijfscertificaat, vergeet dan niet om de openbare sleutel van het nieuwe certificaat toe te voegen aan de lijsten met vertrouwde certificaten van alle OPC UA-servers waarmee verbinding moet worden gemaakt.