Freigeben über


Konfigurieren der OPC UA-Zertifikatinfrastruktur für den Anschluss für OPC UA

In diesem Artikel erfahren Sie, wie Sie die OPC UA-Zertifikatinfrastruktur für den Anschluss für OPC UA konfigurieren. Mit dieser Konfiguration können Sie festlegen, welchen OPC UA-Servern Sie vertrauen, um eine sichere Sitzung einzurichten.

Auf der Grundlage der OPC UA-Spezifikation fungiert der Anschluss für OPC UA als einzelne OPC UA-Anwendung, wenn eine sichere Kommunikation mit OPC UA-Servern hergestellt wird. Der Anschluss für OPC UA verwendet dasselbe Anwendungsinstanzzertifikat für alle sicheren Kanäle, die zu den OPC UA-Servern geöffnet werden.

Der Connector für OPC UA muss den OPC UA-Servern vertrauen, mit den er eine Verbindung herstellt. Der Connector verwaltet eine Liste vertrauenswürdiger Zertifikate. Weitere Informationen finden Sie unter:

Voraussetzungen

  • Eine Instanz von Azure IoT Einsatz, die mit sicheren Einstellungen bereitgestellt wurde. Wenn Sie Azure IoT Operations mit Testeinstellungen bereitgestellt haben, müssen Sie zuerst sichere Einstellungen aktivieren.

Konfigurieren eines selbstsignierten Anwendungsinstanzzertifikats für den Connector für OPC UA

Die Standardbereitstellung des Anschlusses für OPC UA installiert alle Ressourcen, die von cert-manager benötigt werden, um ein selbstsigniertes OPC UA-kompatibles Zertifikat zu erstellen. Dieses Zertifikat wird im Geheimnis aio-opc-opcuabroker-default-application-cert gespeichert. Dieses Geheimnis wird allen Pods für den Anschluss für OPC UA zugeordnet und fungiert als Anwendungsinstanzzertifikat des OPC UA-Clients. cert-manager behandelt die automatische Verlängerung dieses Anwendungsinstanzzertifikats.

Diese Konfiguration reicht in der Regel für die kompatible und sichere Kommunikation zwischen Ihren OPC UA-Servern und dem Anschluss für OPC UA in einer Demonstrations- oder Erkundungsumgebung aus. Für eine Produktionsumgebung sollten Sie Anwendungsinstanzzertifikate auf Unternehmensniveau in Ihrer Bereitstellung verwenden.

Konfigurieren der Liste vertrauenswürdiger Zertifikate

Um eine Verbindung mit einem OPC UA-Server herzustellen, müssen Sie zuerst die gegenseitige Vertrauensstellung der Anwendungsauthentifizierung einrichten. So konfigurieren Sie die Liste der vertrauenswürdigen Zertifikate der Server, mit der der Connector für OPC UA eine Verbindung herstellen soll:

Um die Webschnittstelle für Betriebserfahrung zu verwenden, um die Liste der vertrauenswürdigen Zertifikate zu verwalten, führen Sie die folgenden Schritte aus:

  1. Rufen Sie das Instanzzertifikat der OPC UA-Serveranwendung als Datei ab. Diese Dateien haben in der Regel eine .der Oder .crt Erweiterung. Diese Datei enthält nur den öffentlichen Schlüssel.

    Tipp

    In der Regel verfügen OPC UA-Server über eine Schnittstelle, über die Sie ihr Anwendungsinstanzzertifikat exportieren können. Diese Schnittstelle ist nicht standardisiert. Für Server wie KEPServerEx steht eine Windows-basierte Konfigurationsbenutzeroberfläche für die Zertifikatverwaltung zur Verfügung. Andere Server verfügen möglicherweise über eine Webschnittstelle oder verwenden Betriebssystemordner zum Speichern der Zertifikate. Informationen zum Exportieren des Anwendungsinstanzzertifikats finden Sie im Benutzerhandbuch Ihres Servers. Nachdem Sie das Zertifikat erhalten haben, stellen Sie sicher, dass es DER- oder PEM-codiert ist. Diese Zertifikate werden in der Regel in Dateien mit entweder der .der- oder der .crt-Erweiterung gespeichert. Wenn das Zertifikat keins dieser Formate hat, verwenden Sie ein Tool wie openssl, um das Zertifikat in das erforderliche Dateiformat zu transformieren.

  2. Sie können das Zertifikat direkt ihrem Azure Key Vault als geheimen Schlüssel hinzufügen und von dort importieren, oder Sie können das Zertifikat mithilfe der Betriebsumgebung in die Liste der vertrauenswürdigen Zertifikate hochladen.

    Hinweis

    Der Connector für OPC UA verwendet einen systemeigenen Kubernetes-Geheimschlüssel namens aio-opc-ua-broker-trust-list , um die Liste der vertrauenswürdigen Zertifikate zu speichern. Dieser Geheimschlüssel wird erstellt, wenn Sie Azure IoT Operations bereitstellen.

  3. Wechseln Sie zur Seite Ressourcenendpunkte auf der Einsatz-Webbenutzeroberfläche.

  4. Um die Liste der vertrauenswürdigen Zertifikate anzuzeigen, wählen Sie "Zertifikate und geheime Schlüssel verwalten" und dann "Zertifikate" aus:

    Screenshot der Vorgangserfahrung mit der Seite zum Hochladen von Zertifikaten für die Liste vertrauenswürdiger Zertifikate.

  5. Sie können eine Zertifikatdatei von Ihrem lokalen Computer hochladen oder eine Datei hinzufügen, die Sie zuvor als geheimer Schlüssel in Ihrem Azure Key Vault hinzugefügt haben:

    Screenshot der Vorgangserfahrung mit erfolgreich hochgeladenen Zertifikaten.

  6. Wählen Sie Übernehmen aus, um die Änderungen zu speichern. Das Zertifikat wird nun der Liste der vertrauenswürdigen Zertifikate hinzugefügt. Wenn Sie das Zertifikat hochladen, wird es ihrem Azure Key Vault automatisch als geheimer Schlüssel hinzugefügt.

Wenn Ihr OPC UA-Server ein von einer Zertifizierungsstelle ausgestelltes Zertifikat verwendet, können Sie der Zertifizierungsstelle vertrauen, indem Sie der Liste der vertrauenswürdigen Zertifikate sein öffentliches Schlüsselzertifikat hinzufügen. Ihr Anschluss für OPC UA vertraut nun automatisch allen Servern, die ein gültiges Zertifikat verwenden, das von der Zertifizierungsstelle ausgestellt wurde. Daher müssen Sie das Zertifikat des OPC UA-Servers nicht explizit zur Liste vertrauenswürdiger Zertifikate des Anschlusses für OPC UA hinzufügen. Derzeit können Sie die Betriebsumgebung nicht verwenden, um der Liste vertrauenswürdiger Zertifikate eine Zertifikatsperrliste hinzuzufügen.

Tipp

Um ein neues Zertifikat in der Betriebsumgebung hinzuzufügen, müssen Sie der Rolle "Key Vault Secrets Officer " für Ihren Azure Key Vault zugewiesen sein.

Von Bedeutung

Wenn Sie ein Zertifikat aus Azure Key Vault hinzufügen, muss es als geheimer Schlüssel und nicht als Zertifikat gespeichert werden.

Konfigurieren der Ausstellerzertifikatliste

Wenn Ihr OPC UA-Server ein zertifikat verwendet, das von einer Zertifizierungsstelle ausgestellt wurde, Sie aber nicht allen von der Zertifizierungsstelle ausgestellten Zertifikaten vertrauen möchten, konfigurieren Sie die Ausstellerzertifikatliste:

Bevor Sie die Ausstellerzertifikatliste mit Ihren Zwischenzertifikaten konfigurieren können, müssen Sie das Zertifizierungsstellenzertifikat der Liste der vertrauenswürdigen Zertifikate hinzufügen. Der Connector für OPC UA verwendet das CA-Zertifikat, um die Zertifikatkette des OPC UA-Servers zu überprüfen.

Führen Sie die folgenden Schritte aus, um die Einsatz-Webbenutzeroberfläche zur Verwaltung der Liste der Ausstellerzertifikate zu verwenden:

  1. Rufen Sie das Ausstellerzertifikat ab, das zum Signieren Ihrer Serverinstanzzertifikate als Datei verwendet wurde. Diese Dateien haben in der Regel eine .der Oder .crt Erweiterung. Diese Datei enthält nur den öffentlichen Schlüssel. Möglicherweise verfügen Sie auch über eine CRL-Datei (Zertifikatsperrliste) für das Ausstellerzertifikat.

  2. Sie können das Ausstellerzertifikat direkt ihrem Azure Key Vault als geheimen Schlüssel hinzufügen und von dort importieren, oder Sie können die Zertifikat- und Zertifikatsperrliste (CRL-Datei) mithilfe der Betriebserfahrung in die Ausstellerzertifikatliste hochladen.

    Hinweis

    Der Connector für OPC UA verwendet einen systemeigenen Kubernetes-Geheimschlüssel namens aio-opc-ua-broker-issuer-list , um die Ausstellerzertifikatliste zu speichern. Dieser Geheimschlüssel wird erstellt, wenn Sie Azure IoT Operations bereitstellen.

  3. Wechseln Sie zur Seite Ressourcenendpunkte auf der Einsatz-Webbenutzeroberfläche.

  4. Um die Ausstellerzertifikatliste anzuzeigen, wählen Sie "Zertifikate und geheime Schlüssel verwalten" und dann "Zertifikate" aus:

    Screenshot der Einsatz-Benutzeroberfläche mit der Zertifikatupload-Seite für die Liste der Ausstellerzertifikate.

  5. Sie können eine Ausstellerzertifikatdatei von Ihrem lokalen Computer hochladen oder eine Datei hinzufügen, die Sie zuvor als geheimer Schlüssel in Ihrem Azure Key Vault hinzugefügt haben:

    Screenshot der Einsatz-Benutzeroberfläche mit erfolgreich hochgeladenem Ausstellerzertifikat.

  6. Wählen Sie Übernehmen aus, um die Änderungen zu speichern. Das Zertifikat wird nun der Ausstellerzertifikatliste hinzugefügt. Wenn Sie das Zertifikat hochladen, wird es ihrem Azure Key Vault automatisch als geheimer Schlüssel hinzugefügt.

Sie können die Betriebsumgebung auch verwenden, um der Liste vertrauenswürdiger Zertifikate eine Zertifikatsperrliste (CRL-Datei) hinzuzufügen.

Tipp

Um ein neues Zertifikat in der Betriebsumgebung hinzuzufügen, müssen Sie der Rolle "Key Vault Secrets Officer " für Ihren Azure Key Vault zugewiesen sein.

Von Bedeutung

Wenn Sie ein Zertifikat aus Azure Key Vault hinzufügen, muss es als geheimer Schlüssel und nicht als Zertifikat gespeichert werden.

Konfigurieren des OPC UA-Servers

Um die Konfiguration der gegenseitigen Vertrauensstellung der Anwendungsauthentifizierung abzuschließen, müssen Sie Ihren OPC UA-Server so konfigurieren, dass er das Anwendungsinstanzzertifikat des Anschlusses für OPC UA als vertrauenswürdig einstuft:

  1. Führen Sie den folgenden Befehl aus, um das Zertifikat für den Anschluss für OPC UA in eine opcuabroker.crt-Datei zu extrahieren:

    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. Viele OPC UA-Server unterstützen Zertifikate nur im DER-Format. Verwenden Sie bei Bedarf den folgenden Befehl, um das Zertifikat opcuabroker.crt in opcuabroker.der zu konvertieren:

    openssl x509 -outform der -in opcuabroker.crt -out opcuabroker.der
    
  3. In der Dokumentation Ihres OPC UA-Servers wird erläutert, wie Sie die Zertifikatdatei opcuabroker.crt oder opcuabroker.der zur Liste der vertrauenswürdigen Zertifikate des Servers hinzufügen.

Konfigurieren eines Anwendungsinstanzzertifikats auf Unternehmensniveau

Für Produktionsumgebungen können Sie den Anschluss für OPC UA so konfigurieren, dass ein Anwendungsinstanzzertifikat auf Unternehmensniveau verwendet wird. In der Regel stellt eine Zertifizierungsstelle für Unternehmen dieses Zertifikat aus, und Sie benötigen das Zertifizierungsstellenzertifikat in Ihrer Konfiguration. Häufig gibt es eine Hierarchie von Zertifizierungsstellen, und Sie müssen Ihrer Konfiguration die vollständige Validierungskette von Zertifizierungsstellen hinzufügen.

Das folgende Beispiel verweist auf die folgenden Elemente:

Element Beschreibung
opcuabroker-certificate.der Datei, die den öffentlichen Schlüssel des Anwendungsinstanzzertikats auf Unternehmensniveau enthält
opcuabroker-certificate.pem Datei, die den privaten Schlüssel des Anwendungsinstanzzertikats auf Unternehmensniveau enthält
subjectName Die in das Anwendungsinstanzzertifikat eingebettete Zeichenfolge für den Antragstellernamen
applicationUri Der in die Anwendungsinstanz eingebettete Anwendungsinstanz-URI
Enterprise-grade-ca-1.der Datei, die den öffentlichen Schlüssel des Zertifizierungsstellenzertifikats auf Unternehmensniveau enthält
Enterprise-grade-ca-1.crl Die Datei mit der Zertifikatssperrliste der Zertifizierungsstelle.

Wie in den vorherigen Beispielen verwenden Sie ein dediziertes Kubernetes-Geheimnis zum Speichern der Zertifikate und Zertifikatssperrlisten. Führen Sie die folgenden Schritte aus, um das Zertifikat der Anwendungsinstanz auf Unternehmensniveau zu konfigurieren.

  1. Speichern Sie die Zertifikate und die Zertifikatssperrliste im Geheimnis aio-opc-ua-broker-client-certificate, indem Sie den folgenden Befehl verwenden:

    # 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. Wenn Sie die Zertifizierungsstelle verwenden, um Zertifikate für Ihren OPC UA-Broker auszustellen, konfigurieren Sie das Geheimnis aio-opc-ua-broker-issuer-list. Verwenden Sie einen Kubernetes-Client wie kubectl, um die Geheimnisse enterprise-grade-ca-1.der und enterprise-grade-ca-1.crl zu konfigurieren:

    # 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"
    

Da der Anschluss für OPC UA nun das Unternehmenszertifikat verwendet, vergessen Sie nicht, den öffentlichen Schlüssel des neuen Zertifikats in den Listen vertrauenswürdiger Zertifikate aller OPC UA-Server hinzuzufügen, mit denen eine Verbindung hergestellt werden muss.