Freigeben über


Verwalten von IoT Edge-Zertifikaten

Gilt für:Ja-Symbol IoT Edge 1.1

Wichtig

IoT Edge 1.1 Ende des Supports war der 13. Dezember 2022. Überprüfen Sie den Microsoft Produktlebenszyklus für Informationen zur Unterstützung dieses Produkts, Dienstes, dieser Technologie oder API. 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 Funktion der verschiedenen Zertifikate auf einem IoT Edge-Gerät finden Sie unter Verstehen, wie Azure IoT Edge Zertifikateverwendet.

Hinweis

Der in diesem Artikel verwendete Begriff Stamm-CA bezieht sich auf das Zertifikat der obersten Instanz in der Zertifikatskette für Ihre IoT-Lösung. Sie müssen nicht den Zertifikatstamm einer Fremdzertifizierungsstelle oder den Stamm der Zertifizierungsstelle Ihrer Organisation verwenden. In vielen Fällen handelt es sich tatsächlich um ein Zertifikat der Zwischenzertifizierungsstelle.

Voraussetzungen

  • Verstehen, wie Azure IoT Edge Zertifikateverwendet.

  • 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äte-CA

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 Funktion der verschiedenen Zertifikate auf einem IoT Edge-Gerät finden Sie unter Verstehen, wie Azure IoT Edge Zertifikateverwendet.

IoT Edge generiert in mehreren Fällen automatisch eine Geräte-CA auf dem Gerät, darunter:

  • Wenn Sie beim Installieren und Bereitstellen von IoT Edge keine eigenen Produktionszertifikate bereitstellen, generiert der IoT Edge-Sicherheitsmanager automatisch ein Geräte-CA-Zertifikat. Dieses selbstsignierte Zertifikat ist nur für Entwicklungs- und Testszenarien und nicht für die Produktion gedacht. Dieses Zertifikat läuft nach 90 Tagen ab.
  • Der IoT Edge-Sicherheitsmanager generiert ein Workload-CA-Zertifikat , das auch vom Geräte-CA-Zertifikat signiert wird.

Für diese beiden automatisch generierten Zertifikate haben Sie die Möglichkeit, ein Flag in der Konfigurationsdatei festzulegen, um die Anzahl der Tage für die Lebensdauer der Zertifikate zu konfigurieren.

Hinweis

Es gibt ein drittes automatisch generiertes Zertifikat, das der IoT Edge-Sicherheits-Manager erstellt, das IoT Edge-Hubserverzertifikat. Dieses Zertifikat hat immer eine Lebensdauer von 30 Tagen, wird aber automatisch vor Ablauf verlängert. Der in der Konfigurationsdatei festgelegte Wert der automatisch generierten Lebensdauer der Zertifizierungsstelle wirkt sich nicht auf dieses Zertifikat aus.

Anpassen der CA-Zertifikatslebensdauer für Schnellstartgeräte

Nach Verfallsdatum nach der angegebenen Anzahl von Tagen muss IoT Edge neu gestartet werden, um das CA-Zertifikat des Geräts neu zu generieren. Das CA-Zertifikat des Geräts wird nicht automatisch erneuert.

  1. Um den Ablauf des Zertifikats auf einen anderen Wert als die standard 90 Tage zu konfigurieren, fügen Sie den Wert in Tagen zum Zertifikate Abschnitt der Konfigurationsdatei 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 zuvor generierte 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 Lebensdauereinstellung.

    sudo iotedge check --verbose
    

    Überprüfen Sie die Ausgabe der Produktionsbereitschaft : Überprüfung der Zertifikate, die die Anzahl der Tage auflistet, bis die automatisch generierten Geräte-CA-Zertifikate ablaufen.

Gerätezertifizierungsstelle für den Produktionseinsatz installieren

Sobald Sie in ein Produktionsszenario wechseln oder ein Gatewaygerät erstellen möchten, müssen Sie Eigene Zertifikate bereitstellen.

Erstellen und Installieren einer Gerätezertifizierungsstelle für den Produktionseinsatz

  1. Verwenden Sie Ihre eigene Zertifizierungsstelle, um die folgenden Dateien zu erstellen:

    • Stammzertifizierungsstelle
    • Zertifikat der Gerätezertifizierungsstelle
    • Privater Schlüssel der Geräte-CA

    Die Stammzertifizierungsstelle ist nicht die oberste Zertifizierungsstelle für eine Unternehmensorganisation. Es ist die oberste Zertifizierungsstelle für das IoT Edge-Szenario, das das IoT Edge-Hubmodul, Benutzermodule und alle nachgeschalteten Geräte verwenden, um eine Vertrauensstellung zwischeneinander herzustellen.

    Um ein Beispiel dieser Zertifikate zu sehen, überprüfen Sie die Skripts zur Erstellung von Demozertifikaten in Verwalten von Test-CA-Zertifikaten für Beispiele und Anleitungen.

    Hinweis

    Zurzeit verhindert eine Einschränkung in libiothsm die Verwendung von Zertifikaten, die am oder nach dem 1. Januar 2038 ablaufen.

  2. Kopieren Sie die drei Zertifikats- 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 generiert haben, können Sie diesen Schritt überspringen und den Pfad zum Arbeitsverzeichnis verwenden.

    Tipp

    Wenn Sie die Beispielskripts verwendet haben, um Demozertifikate zuerstellen, befinden sich die drei Zertifikats- und Schlüsseldateien in den folgenden Pfaden:

    • Gerät CA-Zertifikat: <WRKDIR>\certs\iot-edge-device-MyEdgeDeviceCA-full-chain.cert.pem
    • Privater CA-Geräteschlüssel: <WRKDIR>\private\iot-edge-device-MyEdgeDeviceCA.key.pem
    • Stammzertifizierungsstelle: <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 Zertifikateigenschaften in config.yaml auf den Datei-URI-Pfad zum Zertifikat und zu den Schlüsseldateien auf dem IoT Edge-Gerät fest. Entfernen Sie das #-Zeichen vor den Zertifikateigenschaften, um die Kommentierung der vier Zeilen aufzuheben. Stellen Sie sicher, dass in der Zertifikate: Zeile keine Leerzeichen davor stehen und dass geschachtelte Elemente um zwei Leerzeichen eingerückt sind. 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 über Lese-/Schreibberechtigungen für das Verzeichnis verfügt, das die Zertifikate enthält, iotedge.

  4. Wenn Sie zuvor 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 entweder vom Edge-CA-Zertifikat oder durch eine über 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 Edge-Zertifizierungsstelle umbenannt.
  • Das Workload-CA-Zertifikat wurde als veraltet markiert. Der IoT Edge Security Manager generiert nun direkt das IoT Edge-Hubserverzertifikat edgeHub aus dem Edge-CA-Zertifikat, ohne dass das Zwischenzertifikat der Workload-CA-Zertifizierungsstelle 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.