Was ist Azure IoT Hub Device Provisioning Service?

Microsoft Azure bietet einen umfangreichen Satz von integrierten öffentlichen Clouddiensten für alle Ihre IoT-Lösunganforderungen. IoT Hub Device Provisioning Service (DPS) ist ein Hilfsdienst für IoT Hub und ermöglicht eine unbeaufsichtigte Just-In-Time-Bereitstellung im richtigen IoT-Hub ganz ohne Benutzereingriff. DPS ermöglicht die skalierbare und sichere Bereitstellung von Millionen von Geräten.

Wann sollte der Device Provisioning-Dienst verwendet werden?

DPS ist in vielen Bereitstellungsszenarien eine hervorragende Wahl, um Geräte mit IoT Hub zu verbinden für IoT Hub zu konfigurieren. Beispiele wären etwa:

  • Bereitstellung ohne manuelles Eingreifen für eine einzelne IoT-Lösung ohne werkseitige Hartcodierung von IoT Hub-Verbindungsinformationen (Anfangssetup)
  • Hubübergreifender Lastenausgleich für Geräte
  • Herstellen der Verbindung von Geräten mit der IoT-Lösung ihrer Besitzer auf Basis der Verkaufstransaktionsdaten (Mehrinstanzenfähigkeit)
  • Herstellen der Verbindung von Geräten mit einer bestimmten IoT-Lösung abhängig vom Anwendungsfall (Lösungsisolation)
  • Herstellen der Verbindung eines Geräts mit IoT Hub mit der geringsten Wartezeit (Geo-Sharding)
  • Erneute Bereitstellung basierend auf einer Änderung im Gerät
  • Wechseln der Schlüssel, die vom Gerät verwendet werden, um eine Verbindung mit IoT Hub herzustellen (wenn keine X. 509-Zertifikate verwendet werden, um Verbindungen herstellen)

Die Bereitstellung von geschachtelten Edgegeräten (über- und untergeordnete Hierarchien) wird von DPS derzeit nicht unterstützt.

Abläufe im Hintergrund

Alle im vorherigen Abschnitt aufgelisteten Szenarien können per DPS für die Bereitstellung ohne manuelles Eingreifen mit dem gleichen Ablauf implementiert werden. Viele der normalerweise mit der Bereitstellung verbundenen manuellen Schritte sind bei DPS automatisiert, um die Bereitstellung von IoT-Geräten zu beschleunigen und das Risiko manueller Fehler zu verringern. Im Folgenden wird beschrieben, was bei der Bereitstellung eines Geräts im Hintergrund geschieht. Der erste Schritt ist manuell, alle folgenden Schritte sind automatisiert.

Basic provisioning flow

  1. Der Gerätehersteller fügt die Geräteregistrierungsinformationen der Registrierungsliste im Azure-Portal hinzu.
  2. Das Gerät kontaktiert den werkseitig festgelegten DPS-Endpunkt. Das Gerät übergibt Identifikationsinformationen an DPS, um seine Identität nachzuweisen.
  3. DPS überprüft die Identität des Geräts. Hierzu werden die Registrierungs-ID und der entsprechende Schlüssel anhand des Registrierungslisteneintrags überprüft – entweder unter Verwendung einer Nonce-Abfrage (Trusted Platform Module) oder einer standardmäßigen X.509-Überprüfung (X.509).
  4. DPS registriert das Gerät bei einem IoT-Hub und gibt den gewünschten Zwillingsstatus des Geräts an.
  5. Der IoT-Hub gibt die Geräte-ID-Informationen an DPS zurück.
  6. DPS gibt die IoT-Hub-Verbindungsinformationen an das Gerät zurück. Das Gerät kann nun direkt Daten an den IoT Hub senden.
  7. Das Gerät stellt eine Verbindung mit dem IoT Hub her.
  8. Das Gerät ruft den gewünschten Status von seinem Gerätezwilling im IoT Hub ab.

Bereitstellung

Der Bereitstellungsprozess eines Geräts mit DPS-Beteiligung umfasst zwei unabhängig ausführbare Schritte:

  • Der Fertigungsschritt, in dem das Gerät werkseitig erstellt und vorbereitet wird, und
  • Der Cloudeinrichtungsschritt, in dem der Device Provisioning-Dienst für die automatisierte Bereitstellung konfiguriert wird.

Beide Schritte fügen sich nahtlos in bestehende Fertigungs- und Bereitstellungsprozesse ein. DPS vereinfacht sogar einige Bereitstellungsprozesse, die mit manuellen Schritten verbunden sind, um Verbindungsinformationen auf das Gerät zu übertragen.

Fertigungsschritt

Dieser Schritt umfasst alles, was in der Fertigung geschieht. An diesem Schritt sind Hardwareentwickler und -hersteller, Integrator und/oder Endhersteller des Geräts beteiligt. Dieser Schritt betrifft das Erstellen der Hardware selbst.

DPS fügt dem Fertigungsprozess keinen neuen Schritt hinzu, sondern wird vielmehr in den vorhandenen Schritt eingebunden, mit dem die grundlegende Software und (im Idealfall) das HSM auf dem Gerät installiert werden. Statt dass in diesem Schritt eine Geräte-ID erstellt wird, wird das Gerät mit den Bereitstellungsdienstinformationen programmiert, sodass es den Bereitstellungsdienst aufrufen kann, um beim Einschalten seine Verbindungsinformationen/IoT-Lösungszuweisung zu erhalten.

Auch in diesem Schritt liefert der Hersteller dem Bereitsteller/Bediener des Geräts Indentifikationsschlüsselinformationen. Die Angabe dieser Informationen ist möglicherweise einfach nur die Bestätigung, dass alle Geräte über ein X.509-Zertifikat verfügen, das aus einem vom Gerätebereitsteller/-bediener bereitgestellten Signaturzertifikat generiert wurde, kann jedoch auch komplexer sein und das Extrahieren des öffentlichen Teils eines TPM-Endorsement Keys aus jedem TPM-Gerät beinhalten. Diese Dienste werden heute von vielen Hardwareherstellern angeboten.

Cloudeinrichtungsschritt

In diesem Schritt wird die Cloud für die ordnungsgemäße automatische Bereitstellung konfiguriert. Im Allgemeinen sind zwei Arten von Benutzern am Cloudeinrichtungsschritt beteiligt: eine Person (ein Gerätebediener), die weiß, wie Geräte erstmalig eingerichtet werden müssen, und eine andere Person (ein Lösungsoperator), die weiß, wie Geräte auf die IoT Hubs aufgeteilt werden sollen.

Eine einmalige anfängliche Einrichtung der Bereitstellung muss ausgeführt werden, und dies wird im Allgemeinen vom Lösungsoperator übernommen. Sobald der Bereitstellungsdienst konfiguriert ist, muss er nicht geändert werden, solange sich der Anwendungsfall nicht ändert.

Wenn der Dienst für die automatische Bereitstellung konfiguriert ist, muss er auf das Registrieren von Geräten vorbereitet werden. Dieser Schritt erfolgt durch den Gerätebediener, der die gewünschte Konfiguration der Geräte kennt und dafür verantwortlich ist, sicherzustellen, dass der Bereitstellungsdienst ordnungsgemäß die Identität des Geräts nachweisen kann, wenn es seinen IoT Hub sucht. Die Gerätebediener übernimmt die Indentifikationsschlüsselinformationen vom Hersteller und fügt sie der Registrierungsliste hinzu. Die Registrierungsliste kann später aktualisiert werden, indem neue Einträge hinzugefügt oder vorhandene Einträge mit den neuesten Informationen zu den Geräten aktualisiert werden.

Registrierung und Bereitstellung

Bereitstellung kann abhängig von der Branche, wo der Begriff verwendet wird, verschiedene Bedeutungen haben. Im Kontext der Bereitstellung von IoT-Geräten für ihre Cloudlösung ist sie ein aus zwei Teilen bestehender Prozess:

  1. Im ersten Teil wird durch Registrieren des Geräts eine erstmalige Verbindung des Geräts mit der IoT-Lösung hergestellt.
  2. Im zweiten Schritt wird die richtige Konfiguration des Geräts basierend auf den spezifischen Anforderungen der Lösung, für die es registriert wurde, angewendet.

Nach Ausführung dieser beiden Schritte kann das Gerät als vollständig bereitgestellt bezeichnet werden. Einige Clouddienste ermöglichen nur den ersten Schritt des Bereitstellungsvorgangs, das Registrieren von Geräten beim Endpunkt der IoT-Lösung, aber nicht die Erstkonfiguration. DPS automatisiert beide Schritte für eine nahtlose Bereitstellung des Geräts.

Features des Device Provisioning-Diensts

Dank zahlreicher Features eignet sich DPS perfekt für die Bereitstellung von Geräten.

  • Unterstützung des sicheren Nachweises für Identitäten auf X.509- und TPM-Basis.
  • Eine Registrierungsliste mit der vollständigen Aufzeichnung von Geräten/Gerätegruppen, die sich zu einem beliebigen Zeitpunkt registrieren könnten. Die Registrierungsliste enthält Informationen zu der gewünschten Konfiguration des Geräts, sobald es registriert ist, und sie kann jederzeit aktualisiert werden.
  • Mehrere Zuordnungsrichtlinien, um die DPS-basierte Zuweisung von Geräten zu IoT-Hubs für Ihre Szenarien zu steuern: Niedrigste Latenz, gleichmäßig gewichtete Verteilung (Standard) und statische Konfiguration über die Registrierungsliste. Wartezeit wird mithilfe der gleichen Methode ermittelt wie bei Traffic Manager.
  • Überwachungs- und Diagnoseprotokolle, um sicherzustellen, dass alles ordnungsgemäß funktioniert
  • Unterstützung für mehrere Hubs, sodass Device Provisioning Service (DPS) Geräte mehreren IoT Hubs zuweisen kann. DPS kann über mehrere Azure-Abonnements hinweg mit Hubs kommunizieren.
  • Regionsübergreifende Unterstützung, um DPS das Zuweisen von Geräten zu IoT-Hubs in anderen Regionen zu ermöglichen.
  • Mit der Verschlüsselung für ruhende Daten können Daten in DPS auf transparente Weise mit der 256-Bit-AES-Verschlüsselung – einer der stärksten verfügbaren Blockchiffren – ver- und entschlüsselt werden. Die Verschlüsselung ist darüber hinaus mit dem FIPS 140-2-Standard konform.

Weitere Informationen zu den mit der Gerätebereitstellung verbundenen Konzepten und Features finden Sie im Thema DPS-Terminologie sowie in den anderen konzeptionellen Themen desselben Abschnitts.

Plattformübergreifende Unterstützung

DPS kann wie alle Azure IoT-Dienste plattformübergreifend mit verschiedenen Betriebssystemen verwendet werden. Azure bietet Open Source-SDKs in einer Vielzahl von Sprachen zur Erleichterung von Geräteverbindungen und Dienstverwaltung. DPS unterstützt die folgenden Protokolle zum Verbinden von Geräten:

  • HTTPS
  • AMQP
  • AMQP über Websockets
  • MQTT
  • MQTT über Websockets

Für Dienstvorgänge unterstützt DPS nur HTTPS-Verbindungen.

Regions

DPS steht in vielen Regionen zur Verfügung. Eine für alle Dienste laufend aktualisierte Liste der vorhandenen und neu angekündigten Regionen finden Sie unter Azure-Regionen. Die Verfügbarkeit des Device Provisioning-Diensts können Sie auf der Seite Azure-Status überprüfen.

Überlegungen zur Datenresidenz

Device Provisioning Service speichert Kundendaten nicht außerhalb der Geografie, in der Sie die Dienstinstanz bereitstellen. Weitere Informationen finden Sie unter Regionsübergreifende Replikation in Azure.

DPS verwendet jedoch den gleichen Endpunkt für die Gerätebereitstellung für alle DPS-Instanzen und führt den Lastenausgleich des Datenverkehrs für den nächstgelegenen verfügbaren Dienstendpunkt durch. Daher können Authentifizierungsgeheimnisse vorübergehend außerhalb der Region übertragen werden, in der die DPS-Instanz ursprünglich erstellt wurde. Sobald das Gerät verbunden ist, werden die Gerätedaten jedoch direkt in die ursprüngliche Region der DPS-Instanz übertragen.

Verwenden Sie einen privaten Endpunkt, um sicherzustellen, dass Ihre Daten nicht die Region verlassen, in der Ihre DPS-Instanz erstellt wurde. Informationen zum Einrichten privater Endpunkte finden Sie unter Unterstützung von Azure IoT Hub Device Provisioning Service (DPS) für virtuelle Netzwerke.

Kontingente und Grenzwerte

Für jedes Azure-Abonnement gelten standardmäßig bestimmte Kontingentgrenzen, die den Umfang Ihrer IoT-Lösung beeinträchtigen könnten. Die aktuelle Grenze auf Abonnementbasis sind 10 Device Provisioning-Dienste pro Abonnement.

Weitere Informationen zu Kontingentgrenzen finden Sie unter Einschränkungen für Azure-Abonnements und Dienste, Kontingente und Einschränkungen.

Hinweis

In einigen Bereichen dieses Diensts lassen sich Grenzwerte anpassen. Diese sind in der nachfolgenden Tabelle in der Spalte Anpassbar? entsprechend gekennzeichnet. Wenn der Grenzwert angepasst werden kann, enthält die Spalte Anpassbar? den Wert Ja.

Der tatsächliche Wert, an den ein Grenzwert angepasst werden kann, kann je nach Bereitstellung der einzelnen Kunden variieren. Für sehr große Bereitstellungen sind möglicherweise mehrere Instanzen von DPS erforderlich.

Falls Ihr Unternehmen die Anhebung eines anpassbaren Grenzwertes oder Kontingents über den Standardgrenzwert hinaus benötigt, können Sie eine Anforderung für zusätzliche Ressourcen absenden, indem Sie ein Supportticket eröffnen. Das Anfordern einer Erhöhung garantiert nicht, dass sie gewährt wird, da sie von Fall zu Fall überprüft werden muss. Wenden Sie sich während Ihrer Implementierung so früh wie möglich an den Microsoft-Support, um festzustellen, ob Ihre Anfrage genehmigt werden kann und Sie entsprechend planen können.

Die folgende Tabelle enthält die Grenzwerte, die für Ressourcen des Azure IoT Hub Device Provisioning-Diensts gelten.

Resource Begrenzung Anpassbar?
Maximale Anzahl von Gerätebereitstellungsdiensten pro Azure-Abonnement 10 Ja
Maximale Anzahl von Registrierungen (Registrations) 1\.000.000 Ja
Maximale Anzahl individueller Registrierungen 1\.000.000 Ja
Maximale Anzahl von Registrierungsgruppen (X.509-Zertifikat) 100 Ja
Maximale Anzahl von Registrierungsgruppen (symmetrischer Schlüssel) 100 Nein
Maximale Anzahl von Zertifizierungsstellen 25 Nein
Maximale Anzahl der verknüpften IoT-Hubs 50 Nein
Maximale Nachrichtengröße 96 KB Nein

Tipp

Wenn der harte Grenzwert für Registrierungsgruppen mit symmetrischem Schlüssel ein Blockierproblem ist, wird empfohlen, individuelle Registrierungen als Problemumgehung zu verwenden.

Für den Device Provisioning-Dienst gelten die folgenden Ratenbegrenzungen.

Rate Wert pro Einheit Anpassbar?
Vorgänge 200/Minute/Dienst Ja
Geräteregistrierungen 200/Minute/Dienst Ja
Abrufvorgang für Geräte 5/10 Sekunden/Gerät Nein

Abrechenbare Dienstvorgänge und Preise

Jeder API-Aufruf für DPS ist als ein Vorgang abrechenbar. Dies schließt alle Dienst-APIs und die Geräteregistrierungs-API ein.

Die folgenden Tabellen zeigen den aktuellen abrechenbaren Status für jeden API-Vorgang des DPS-Diensts. Wenn Sie sich zu den Preisen für DPS informieren möchten, wählen Sie oben auf der Seite Azure IoT Hub – Preise die Tabelle Preise aus. Wählen Sie dann die Registerkarte IoT Hub Device Provisioning Service sowie die Währung und Region für Ihren Dienst aus.

API Vorgang Abrechenbar?
Geräte-API Ermitteln des Geräteregistrierungsstatus No
Geräte-API Ermitteln des Vorgangsstatus No
Geräte-API Register Device Yes
DPS-Dienst-API (Registrierungsstatus) Löschen Yes
DPS-Dienst-API (Registrierungsstatus) Get Yes
DPS-Dienst-API (Registrierungsstatus) Abfrage Yes
DPS-Dienst-API (Registrierungsgruppe) Erstellen oder Aktualisieren Yes
DPS-Dienst-API (Registrierungsgruppe) Löschen Yes
DPS-Dienst-API (Registrierungsgruppe) Get Yes
DPS-Dienst-API (Registrierungsgruppe) Abrufen des Nachweismechanismus Yes
DPS-Dienst-API (Registrierungsgruppe) Abfrage Yes
DPS-Dienst-API (Registrierungsgruppe) Ausführen eines Massenvorgangs Yes
DPS-Dienst-API (individuelle Registrierung) Erstellen oder Aktualisieren Yes
DPS-Dienst-API (individuelle Registrierung) Löschen Yes
DPS-Dienst-API (individuelle Registrierung) Get Yes
DPS-Dienst-API (individuelle Registrierung) Abrufen des Nachweismechanismus Yes
DPS-Dienst-API (individuelle Registrierung) Abfrage Yes
DPS-Dienst-API (individuelle Registrierung) Ausführen eines Massenvorgangs Yes
DPS-Zertifikat-API Erstellen oder Aktualisieren No
DPS-Zertifikat-API Löschen No
DPS-Zertifikat-API Generieren eines Prüfcodes No
DPS-Zertifikat-API Get No
DPS-Zertifikat-API Liste No
DPS-Zertifikat-API Überprüfen des Zertifikats No
IoT DPS-Ressourcen-API Überprüfen der Verfügbarkeit des Provisioning Service-Namens No
IoT DPS-Ressourcen-API Erstellen oder Aktualisieren No
IoT DPS-Ressourcen-API Löschen No
IoT DPS-Ressourcen-API Get No
IoT DPS-Ressourcen-API Hiermit rufen Sie das Vorgangsergebnis ab. No
IoT DPS-Ressourcen-API Nach Ressourcengruppe gruppieren No
IoT DPS-Ressourcen-API Nach Abonnement auflisten No
IoT DPS-Ressourcen-API Auflisten nach Schlüsseln No
IoT DPS-Ressourcen-API Auflisten von Schlüsseln für den Schlüsselnamen No
IoT DPS-Ressourcen-API Auflisten gültiger SKUs No
IoT DPS-Ressourcen-API Aktualisieren No

DPS automatisiert die Gerätebereitstellung mit Azure IoT Hub. Erfahren Sie mehr über IoT Hub.

Hinweis

Die Bereitstellung von geschachtelten Edgegeräten (über- und untergeordnete Hierarchien) wird von DPS derzeit nicht unterstützt.

IoT Central-Anwendungen verwenden eine interne DPS-Instanz, um Geräteverbindungen zu verwalten. Weitere Informationen finden Sie unter:

Nächste Schritte

Sie haben jetzt einen Überblick über die Bereitstellung von IoT-Geräten in Azure erhalten. Der nächste Schritt ist, dass Sie ein End-to-End-IoT-Szenario testen.

Einrichten von IoT Hub Device Provisioning Service über das Azure-Portal

Erstellen und Bereitstellen eines simulierten Geräts

Einrichten von Geräten für die Bereitstellung