Verwalten von IoT Edge-Zertifikaten
Gilt für: IoT Edge 1.1
Wichtig
IoT Edge 1.1: Datum für das Supportende war der 13. Dezember 2022. Informationen zur Unterstützung für dieses Produkt, diesen Dienst, diese Technologie oder diese API finden Sie in der Microsoft Lifecycle-Richtlinie. Weitere Informationen zum Aktualisieren auf die neueste Version von IoT Edge finden Sie unter Update IoT Edge.
Alle IoT Edge-Geräte verwenden Zertifikate, um sichere Verbindungen zwischen der Runtime und allen Modulen zu erstellen, die auf dem Gerät ausgeführt werden. IoT Edge-Geräte, die als Gateways fungieren, verwenden dieselben Zertifikate, um auch eine Verbindung mit ihren Downstreamgeräten herzustellen. Weitere Informationen zur Aufgabe der verschiedenen Zertifikate auf einem IoT Edge-Gerät finden Sie unter Grundlegendes zur Verwendung von Zertifikaten durch Azure IoT Edge.
Hinweis
Der in diesem Artikel verwendete Begriff Stamm-CA (Certificate Authority, Zertifizierungsstelle, ZS) bezieht sich auf das Zertifikat der obersten Zertifizierungsstelle in der Zertifikatkette für Ihre IoT-Lösung. Sie müssen nicht den Zertifikatstamm einer syndizierten Zertifizierungsstelle oder den Stamm der Zertifizierungsstelle Ihres Unternehmens verwenden. In vielen Fällen ist es tatsächlich nur ein Zertifikat einer Zwischenzertifizierungsstelle.
Voraussetzungen
Machen Sie sich mit der grundlegenden Zertifikatverwendung von Azure IoT Edge vertraut.
Ein IoT Edge-Gerät. Wenn Sie kein IoT Edge-Gerät eingerichtet haben, können Sie eines in einem virtuellen Azure-Computer erstellen. Führen Sie die Schritte in einem der Schnellstarts zum Erstellen eines virtuellen Linux-Geräts oder Erstellen eines virtuellen Windows-Geräts aus.
Möglichkeit, die IoT Edge Konfigurationsdatei
config.toml
gemäß der Konfigurationsvorlage zu bearbeitenWenn Ihre
config.toml
nicht auf der Vorlage basiert, öffnen Sie die Vorlage, und verwenden Sie die Hinweise in den Kommentaren, um Konfigurationsabschnitte hinzuzufügen, die der Struktur der Vorlage entsprechen.Wenn Sie über eine neue IoT Edge-Installation verfügen, die noch nicht konfiguriert wurde, kopieren Sie die Vorlage, um die Konfiguration zu initialisieren. Verwenden Sie diesen Befehl nicht, wenn Sie über eine vorhandene Konfiguration verfügen. Damit wird die Datei überschrieben.
sudo cp /etc/aziot/config.toml.edge.template /etc/aziot/config.toml
Gerätezertifizierungsstelle
Alle IoT Edge-Geräte verwenden Zertifikate, um sichere Verbindungen zwischen der Runtime und allen Modulen zu erstellen, die auf dem Gerät ausgeführt werden. IoT Edge-Geräte, die als Gateways fungieren, verwenden dieselben Zertifikate, um auch eine Verbindung mit ihren Downstreamgeräten herzustellen. Weitere Informationen zur Aufgabe der verschiedenen Zertifikate auf einem IoT Edge-Gerät finden Sie unter Grundlegendes zur Verwendung von Zertifikaten durch Azure IoT Edge.
IoT Edge generiert in verschiedenen Fällen automatisch eine Zertifizierungsstelle auf dem Gerät:
- Wenn Sie bei der Installation und Bereitstellung von IoT Edge keine eigenen Produktionszertifikate bereitstellen, generiert der IoT Edge-Sicherheits-Manager automatisch ein gerätebezogenes Zertifizierungsstellenzertifikat. Dieses selbstsignierte Zertifikat ist nur für Entwicklungs- und Testszenarien und nicht für die Produktion gedacht. Es läuft nach 90 Tagen ab.
- Der IoT Edge Security Manager generiert auch ein workloadbezogenes Zertifizierungsstellenzertifikat, das vom gerätebezogenen Zertifizierungsstellenzertifikat signiert ist.
Bei diesen beiden automatisch generierten Zertifikaten können Sie ein Flag in der Konfigurationsdatei festlegen, um die Anzahl der Tage für die Gültigkeitsdauer der Zertifikate zu konfigurieren.
Hinweis
Es gibt ein drittes automatisch generiertes Zertifikat, das vom IoT Edge-Sicherheits-Manager erstellt wird, das IoT Edge-Hubserverzertifikat. Dieses Zertifikat hat stets eine Gültigkeitsdauer von 30 Tagen, wird aber vor Ablauf automatisch verlängert. Der in der Konfigurationsdatei festgelegte Wert für die automatisch generierte Gültigkeitsdauer der Zertifizierungsstelle wirkt sich nicht auf dieses Zertifikat aus.
Anpassen der Lebensdauer des Schnellstartzertifikats der Gerätezertifizierungsstelle
Bei Ablauf nach der angegebenen Anzahl von Tagen muss IoT Edge neu gestartet werden, um das Zertifikat der Gerätezertifizierungsstelle erneut zu generieren. Das Zertifikat der Gerätezertifizierungsstelle wird nicht automatisch verlängert.
Wenn Sie für das Ablaufdatum des Zertifikats einen Wert konfigurieren möchten, der nicht dem Standardwert von 90 Tagen entspricht, fügen Sie im Abschnitt certificates der Konfigurationsdatei den Wert in Tagen hinzu.
certificates: device_ca_cert: "<ADD URI TO DEVICE CA CERTIFICATE HERE>" device_ca_pk: "<ADD URI TO DEVICE CA PRIVATE KEY HERE>" trusted_ca_certs: "<ADD URI TO TRUSTED CA CERTIFICATES HERE>" auto_generated_ca_lifetime_days: <value>
Hinweis
Zurzeit verhindert eine Einschränkung in libiothsm die Verwendung von Zertifikaten, die am oder nach dem 1. Januar 2038 ablaufen.
Löschen Sie den Inhalt des Ordners
hsm
, um alle zuvor generierten Zertifikate zu entfernen./var/aziot/hsm/certs
/var/aziot/hsm/cert_keys
Starten Sie den IoT Edge-Dienst neu.
sudo systemctl restart iotedge
Bestätigen Sie die Einstellung der Gültigkeitsdauer.
sudo iotedge check --verbose
Prüfen Sie die Ausgabe der Prüfung Produktionsbereitschaft: Zertifikate, in der die Anzahl der Tage bis zum Ablauf der automatisch generierten gerätebezogenen Zertifizierungsstellenzertifikate aufgelistet ist.
Installieren der Gerätezertifizierungsstelle für die Produktion
Wenn Sie in ein Produktionsszenario wechseln oder ein Gatewaygerät erstellen möchten, müssen Sie Ihre eigenen Zertifikate bereitstellen.
Erstellen und Installieren der Gerätezertifizierungsstelle für die Produktion
Verwenden Sie Ihre eigene Zertifizierungsstelle, um die folgenden Dateien zu erstellen:
- Stamm-CA
- Zertifikat der Gerätezertifizierungsstelle
- Privater Schlüssel des Zertifikats der Gerätezertifizierungsstelle
Die Stammzertifizierungsstelle ist nicht die oberste Zertifizierungsstelle für eine Organisation. Es ist die oberste Zertifizierungsstelle für das IoT Edge-Szenario gemeint, die das IoT Edge-Hub-Modul, die Benutzermodule und alle Downstreamgeräte verwenden, um eine gegenseitige Vertrauensstellung aufzubauen.
Ein Beispiel für diese Zertifikate finden Sie in den Skripts zum Erstellen von Demozertifikaten in Verwalten von Zertifikaten von Testzertifizierungsstellen für Beispiele und Tutorials.
Hinweis
Zurzeit verhindert eine Einschränkung in libiothsm die Verwendung von Zertifikaten, die am oder nach dem 1. Januar 2038 ablaufen.
Kopieren Sie diese drei Zertifikat und Schlüsseldateien auf Ihr IoT Edge-Gerät. Sie können einen Dienst wie Azure Key Vault oder eine Funktion wie Secure Copy Protocol zum Verschieben der Zertifikatsdateien verwenden. Wenn Sie die Zertifikate auf dem IoT Edge-Gerät selbst erstellt haben, können Sie diesen Schritt überspringen und den Pfad für das Arbeitsverzeichnis verwenden.
Tipp
Wenn Sie die Beispielskripts zum Erstellen von Demozertifikaten verwendet haben, befinden sich die drei Zertifikat- und Schlüsseldateien in den folgenden Pfaden:
- Zertifikat der Gerätezertifizierungsstelle:
<WRKDIR>\certs\iot-edge-device-MyEdgeDeviceCA-full-chain.cert.pem
- Privater Schlüssel des Zertifikats der Gerätezertifizierungsstelle:
<WRKDIR>\private\iot-edge-device-MyEdgeDeviceCA.key.pem
- Stamm-CA:
<WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem
- Zertifikat der Gerätezertifizierungsstelle:
Öffnen Sie die Konfigurationsdatei des IoT Edge-Sicherheitsdaemons:
/etc/iotedge/config.yaml
Legen Sie die Eigenschaften für Zertifikat in „config.yaml“ auf den URI-Pfad zu den Zertifikat- und Schlüsseldateien auf dem IoT Edge-Gerät fest. Entfernen Sie das
#
-Zeichen vor den Zertifikateigenschaften, um die Auskommentierung der vier Zeilen aufzuheben. Stellen Sie sicher, dass der Zeile certificates: kein Leerzeichen vorangestellt ist und dass die geschachtelten Zertifikate jeweils um zwei Leerzeichen eingerückt sind. Zum Beispiel:certificates: device_ca_cert: "file:///<path>/<device CA cert>" device_ca_pk: "file:///<path>/<device CA key>" trusted_ca_certs: "file:///<path>/<root CA cert>"
Stellen Sie sicher, dass der Benutzer iotedge Lese-/Schreibberechtigungen für das Verzeichnis mit den Zertifikaten hat.
Wenn Sie zuvor bereits andere Zertifikate für IoT Edge auf dem Gerät verwendet haben, löschen Sie die Dateien in den folgenden beiden Verzeichnissen, bevor Sie IoT Edge starten oder neu starten:
/var/aziot/hsm/certs
/var/aziot/hsm/cert_keys
Starten Sie IoT Edge neu.
sudo iotedge system restart
Modulserverzertifikate
Edge Daemon stellt Modulserver- und Identitätszertifikate zur Verwendung durch Edge-Module aus. Edgemodule müssen ihre Identitäts- und Serverzertifikate bei Bedarf selbst erneuern.
Verlängerung
Serverzertifikate können über das Edge-Zertifizierungsstellenzertifikat oder eine mit DPS konfigurierte Zertifizierungsstelle ausgestellt werden. Unabhängig von der Ausstellungsmethode müssen diese Zertifikate vom Modul verlängert werden.
Änderungen in Version 1.2 und höher
- Das Zertifikat der Gerätezertifizierungsstelle wurde in Zertifikat der Edgezertifizierungsstelle umbenannt.
- Das Zertifikat der Workloadzertifizierungsstelle wurde als veraltet markiert. Der IoT Edge Security Manager generiert das IoT Edge-Hubserverzertifikat
edgeHub
nun direkt aus dem Zertifikat der Edgezertifizierungsstelle, ohne dass das Zwischenzertifikat der Workloadzertifizierungsstelle zwischen diesen vorhanden sein muss. - Der Standardname und -speicherort der Standardkonfigurationsdatei wurde von
/etc/iotedge/config.yaml
in/etc/aziot/config.toml
geändert. Mithilfe des Befehlsiotedge config import
können Konfigurationsinformationen aus dem alten Speicherort und die Syntax in den neuen Speicherort migriert werden.
Nächste Schritte
Das Installieren von Zertifikaten auf einem IoT Edge-Gerät ist erforderlich, bevor Sie die Lösung in der Produktionsumgebung bereitstellen. Unter Vorbereiten der Bereitstellung einer IoT Edge-Lösung für die Produktion finden Sie weitere Informationen.