Freigeben über


Erstellen und Bereitstellen von IoT Edge-Geräten im großen Maßstab mit einem TPM unter Windows

Gilt für:Ja-Symbol IoT Edge 1.1

Von großer Bedeutung

IoT Edge 1.1 Ende des Supports war der 13. Dezember 2022. Informationen darüber, wie dieses Produkt, dieser Dienst, diese Technologie oder diese API unterstützt werden, finden Sie im Microsoft Product Lifecycle. Weitere Informationen zum Aktualisieren auf die neueste Version von IoT Edge finden Sie unter Update IoT Edge.

Dieser Artikel enthält Anweisungen zum automatischen Bereitstellen eines Azure IoT Edge für Windows-Geräts mithilfe eines Trusted Platform Module (TPM). Sie können IoT Edge-Geräte mit dem Azure IoT Hub Device Provisioning Service automatisch bereitstellen. Wenn Sie mit dem Prozess der automatischen Bereitstellung nicht vertraut sind, lesen Sie die Übersicht zur Bereitstellung, bevor Sie den Vorgang fortsetzen.

Hinweis

Azure IoT Edge mit Windows-Containern wird ab Version 1.2 von Azure IoT Edge nicht unterstützt.

Erwägen Sie die verwendung der neuen Methode zum Ausführen von IoT Edge auf Windows-Geräten, Azure IoT Edge für Linux unter Windows.

Wenn Sie Azure IoT Edge für Linux unter Windows verwenden möchten, können Sie die Schritte in der entsprechenden Anleitungausführen.

In diesem Artikel werden zwei Methodiken beschrieben. Wählen Sie Ihre Präferenz basierend auf der Architektur Ihrer Lösung aus:

  • Automatische Bereitstellung eines Windows-Geräts mit physischer TPM-Hardware.
  • Automatische Bereitstellung eines Windows-Geräts, auf dem ein simuliertes TPM ausgeführt wird. Wir empfehlen diese Methodik nur als Testszenario. Ein simuliertes TPM bietet nicht die gleiche Sicherheit wie ein physisches TPM.

Die Anleitungen unterscheiden sich je nach Ihrer Methodik. Sorgen Sie deshalb künftig dafür, dass die richtige Registerkarte angezeigt wird.

Die Aufgaben sind wie folgt:

  • Rufen Sie die Bereitstellungsinformationen Ihres Geräts ab.
  • Erstellen Sie eine individuelle Registrierung für das Gerät.
  • Installieren Sie die IoT Edge-Laufzeit, und verbinden Sie das Gerät mit IoT Hub.

Voraussetzungen

Die Voraussetzungen sind für physische TPM- und virtuelle TPM-Lösungen identisch.

Cloudressourcen

  • Ein aktiver IoT-Hub
  • Eine Instanz des IoT Hub Device Provisioning Service (Gerätebereitstellungsdienst) in Azure, die mit Ihrem IoT-Hub verknüpft ist

Geräteanforderungen

Ein Windows-Entwicklungscomputer. In diesem Artikel wird Windows 10 verwendet.

Hinweis

TPM 2.0 ist erforderlich, wenn Sie den TPM-Nachweis beim Device Provisioning Service verwenden.

Wenn Sie ein TPM verwenden, können Sie nur individuelle Registrierungen des Device Provisioning Service erstellen, aber keine Gruppenregistrierungen.

Einrichten ihres TPM

In diesem Abschnitt erstellen Sie ein Tool, mit dem Sie die Registrierungs-ID und den Bestätigungsschlüssel für Ihr TPM abrufen können.

  1. Führen Sie die Schritte unter Einrichten einer Windows-Entwicklungsumgebung aus, um das Azure IoT-Geräte-SDK für C zu installieren und zu erstellen.

  2. Führen Sie die folgenden Befehle in einer PowerShell-Sitzung mit erhöhten Rechten aus, um das SDK-Tool zu kompilieren, mit dem die Bereitstellungsinformationen für Ihr TPM abgerufen werden.

    cd azure-iot-sdk-c\cmake
    cmake -Duse_prov_client:BOOL=ON ..
    cd provisioning_client\tools\tpm_device_provision
    make
    .\tpm_device_provision
    
  3. Im Ausgabefenster werden die Registrierungs-ID des Geräts und der Bestätigungsschlüssel angezeigt. Kopieren Sie diese Werte zur späteren Verwendung, wenn Sie eine individuelle Registrierung für Ihr Gerät im Device Provisioning Service erstellen.

Tipp

Wenn Sie das SDK-Tool nicht zum Abrufen der Informationen verwenden möchten, müssen Sie eine weitere Möglichkeit zum Abrufen der Bereitstellungsinformationen finden. Der Endorsement Key, der bei jedem TPM-Chip einzigartig ist, wird vom zugehörigen TPM-Chiphersteller abgerufen. Sie können eine eindeutige Registrierungs-ID für Ihr TPM-Gerät ableiten. Sie können beispielsweise einen SHA-256-Hash des Bestätigungsschlüssels erstellen.

Nachdem Sie über Ihre Registrierungs-ID und Ihren Endorsement Key verfügen, können Sie den Vorgang fortsetzen.

Erstellen einer Registrierung für den Device Provisioning Service

Verwenden Sie die Bereitstellungsinformationen Ihres TPM, um eine individuelle Registrierung im Gerätebereitstellungsdienst zu erstellen.

Wenn Sie eine Registrierung im Gerätebereitstellungsdienst erstellen, können Sie einen anfänglichen Gerätezwillingsstatus festlegen. Im Gerätezwilling können Sie Tags zum Gruppieren von Geräten nach beliebigen Metriken – z. B. Region, Umgebung, Standort oder Gerätetyp – festlegen, die in Ihrer Lösung verwendet werden. Diese Tags werden verwendet, um automatische Bereitstellungen zu erstellen.

Tipp

Die Schritte in diesem Artikel beziehen sich auf das Azure-Portal. Sie können aber auch individuelle Registrierungen über die Azure CLI erstellen. Weitere Informationen finden Sie unter az iot dps-Registrierung. Verwenden Sie als Teil des CLI-Befehls das Flag edge-enabled (Edge-fähig), um anzugeben, dass die Registrierung für ein IoT Edge-Gerät gilt.

  1. Wechseln Sie im Azure-Portal zu Ihrer Instanz von IoT Hub Device Provisioning Service.

  2. Klicken Sie in Einstellungen auf Registrierungen verwalten.

  3. Wählen Sie Individuelle Registrierung hinzufügen aus, und führen Sie dann die folgenden Schritte zum Konfigurieren der Registrierung aus:

    1. Klicken Sie unter Mechanismus auf die Option TPM.

    2. Geben Sie den Endorsement Key und die Registrierungs-ID an, den bzw. die Sie von Ihrer VM oder Ihrem physischen Gerät kopiert haben.

    3. Geben Sie bei Bedarf eine ID für Ihr Gerät an. Wenn Sie keine Geräte-ID angeben, wird die Registrierungs-ID verwendet.

    4. Wählen Sie True aus, um zu deklarieren, dass Ihre VM oder Ihr physisches Gerät ein IoT Edge-Gerät ist.

    5. Wählen Sie die verknüpfte IoT-Hub-Instanz, mit der Sie Ihr Gerät verbinden möchten, oder wählen Sie Link to new IoT Hub aus. Sie können mehrere Hubs auswählen. Das Gerät wird dann je nach gewählter Zuweisungsrichtlinie einem dieser Hubs zugewiesen.

    6. Fügen Sie optional einen Tagwert zum Anfänglicher Gerätezwilling-Zustand hinzu. Sie können mithilfe von Tags Gruppen von Geräten als Ziel für die Modulbereitstellung festlegen. Weitere Informationen finden Sie unter IoT Edge-Module in großem Umfang bereitstellen.

    7. Wählen Sie Speichern aus.

Nachdem nun eine Registrierung für dieses Gerät vorhanden ist, kann die IoT Edge-Runtime das Gerät während der Installation automatisch bereitstellen.

Installieren von IoT Edge

In diesem Abschnitt bereiten Sie Ihre Windows-VM oder Ihr physisches Gerät für IoT Edge vor. Anschließend installieren Sie IoT Edge.

Azure IoT Edge basiert auf einer OCI-kompatiblen Containerruntime. Moby, ein Moby-basiertes Modul, ist im Installationsskript enthalten, was bedeutet, dass es keine zusätzlichen Schritte zum Installieren des Moduls gibt.

So installieren Sie die IoT Edge-Laufzeit:

  1. Führen Sie PowerShell als Administrator aus.

    Verwenden Sie eine AMD64-Sitzung von PowerShell, nicht PowerShell(x86). Wenn Sie nicht sicher sind, welchen Sitzungstyp Sie verwenden, führen Sie den folgenden Befehl aus:

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. Führen Sie den Befehl Deploy-IoTEdge aus, der die folgenden Aufgaben ausführt:

    • Überprüft, ob sich Ihr Windows-Computer auf einer unterstützten Version befindet.
    • Aktiviert die Containerfunktion
    • Lädt die Moby-Engine und die IoT Edge-Laufzeit herunter.
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. Starten Sie Ihr Gerät neu, wenn Sie dazu aufgefordert werden.

Wenn Sie IoT Edge auf einem Gerät installieren, können Sie zusätzliche Parameter verwenden, um den Prozess zu ändern, einschließlich:

  • Den Datenverkehr über einen Proxyserver leiten.
  • Verweisen des Installers auf ein lokales Verzeichnis für die Offlineinstallation

Weitere Informationen zu diesen zusätzlichen Parametern finden Sie unter PowerShell-Skripts für IoT Edge mit Windows-Containern.

Bereitstellen des Geräts mit seiner Cloud-Identität

Nachdem die Runtime auf Ihrem Gerät installiert wurde, konfigurieren Sie es mit den Informationen, die es zum Herstellen einer Verbindung zwischen dem Device Provisioning Service und IoT Hub verwendet.

  1. Kennen Sie den Bereich der Gerätebereitstellungsdienst-ID und die Geräteregistrierungs-ID , die in den vorherigen Abschnitten gesammelt wurden.

  2. Öffnen Sie ein PowerShell-Fenster im Administratormodus. Achten Sie darauf, eine AMD64-Sitzung von PowerShell zu verwenden, wenn Sie IoT Edge und nicht PowerShell (x86) installieren.

  3. Der Initialize-IoTEdge Befehl konfiguriert die IoT Edge-Laufzeit auf Ihrem Computer. Der Befehl ist standardmäßig für die manuelle Bereitstellung mit Windows-Containern festgelegt. Verwenden Sie das -Dps Kennzeichen, um den Gerätebereitstellungsdienst anstelle der manuellen Bereitstellung zu verwenden.

    Ersetzen Sie die Platzhalterwerte für paste_scope_id_here und paste_registration_id_here durch die Daten, die Sie zuvor gesammelt haben.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -Dps -ScopeId paste_scope_id_here -RegistrationId paste_registration_id_here
    

Bestätigen einer erfolgreichen Installation

Wenn die Laufzeit erfolgreich gestartet wurde, wechseln Sie zu Ihrem IoT-Hub, und beginnen Sie mit der Bereitstellung von IoT Edge-Modulen auf Ihrem Gerät. Verwenden Sie die folgenden Befehle auf Ihrem Gerät, um zu überprüfen, ob die Laufzeit erfolgreich installiert und gestartet wurde.

  1. Überprüfen Sie den Status des IoT Edge-Diensts.

    Get-Service iotedge
    
  2. Überprüfen Sie Dienstprotokolle aus den letzten 5 Minuten.

    . {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog
    
  3. Laufende Module auflisten.

    iotedge list
    

Nächste Schritte

Der Registrierungsprozess des Device Provisioning Service ermöglicht es Ihnen, beim Bereitstellen des neuen Geräts gleichzeitig die Geräte-ID und die Gerätezwillingstags festzulegen. Sie können diese Werte verwenden, um einzelne Geräte oder Gruppen von Geräten über die automatische Geräteverwaltung als Ziel festzulegen.

Weitere Informationen finden Sie unter „Bedarfsgerechtes Bereitstellen und Überwachen von IoT Edge-Modulen mithilfe des Microsoft Azure-Portals oder mithilfe der Azure CLI“.