Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
- Verwalten von Zertifikaten für Ihre Azure IoT Operations-Bereitstellung – in diesem Artikel wird beschrieben, wie Azure IoT Operations Azure Key Vault zum Verwalten von Zertifikaten verwendet.
- OPC UA-Zertifikatinfrastruktur für den Connector für OPC UA – in diesem Artikel werden die Rollen der Liste der vertrauenswürdigen Zertifikate und der Ausstellerzertifikate beschrieben.
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:
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 wieopenssl
, um das Zertifikat in das erforderliche Dateiformat zu transformieren.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.
Wechseln Sie zur Seite Ressourcenendpunkte auf der Einsatz-Webbenutzeroberfläche.
Um die Liste der vertrauenswürdigen Zertifikate anzuzeigen, wählen Sie "Zertifikate und geheime Schlüssel verwalten" und dann "Zertifikate" aus:
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:
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:
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.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.
Wechseln Sie zur Seite Ressourcenendpunkte auf der Einsatz-Webbenutzeroberfläche.
Um die Ausstellerzertifikatliste anzuzeigen, wählen Sie "Zertifikate und geheime Schlüssel verwalten" und dann "Zertifikate" aus:
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:
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:
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
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
In der Dokumentation Ihres OPC UA-Servers wird erläutert, wie Sie die Zertifikatdatei
opcuabroker.crt
oderopcuabroker.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.
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>
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.