Freigeben über


Verwalten von IoT Edge-Zertifikaten

Gilt für: yes icon 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 bearbeiten

    • Wenn 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.

  1. 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.

  2. Löschen Sie den Inhalt des Ordners hsm, um alle zuvor generierten Zertifikate zu entfernen.

    • /var/aziot/hsm/certs
    • /var/aziot/hsm/cert_keys
  3. Starten Sie den IoT Edge-Dienst neu.

    sudo systemctl restart iotedge
    
  4. 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

  1. 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.

  2. 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
  1. Öffnen Sie die Konfigurationsdatei des IoT Edge-Sicherheitsdaemons: /etc/iotedge/config.yaml

  2. 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>"
    
  3. Stellen Sie sicher, dass der Benutzer iotedge Lese-/Schreibberechtigungen für das Verzeichnis mit den Zertifikaten hat.

  4. 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
  5. 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 Befehls iotedge 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.