Terminologie zu Azure IoT Hub Device Provisioning Service

IoT Hub Device Provisioning Service (DPS) ist ein Hilfsdienst für IoT Hub, der eine Gerätebereitstellung ohne manuelles Eingreifen ermöglicht. Mit DPS können Sie Millionen von Geräten auf sichere und skalierbare Weise bereitstellen.

Die Gerätebereitstellung ist ein zweiteiliger Prozess.

  1. Im ersten Schritt wird durch Registrieren des Geräts die Erstverbindung zwischen dem Gerät und der IoT-Lösung hergestellt.
  2. Im zweiten Schritt wird basierend auf den spezifischen Anforderungen der Lösung die geeignete Konfiguration auf das Gerät angewendet.

Nach Ausführung beider Schritte ist das Gerät vollständig bereitgestellt. Mit dem Device Provisioning-Dienst werden beide Schritte automatisiert, sodass das Gerät nahtlos bereitgestellt wird.

Dieser Artikel bietet eine Übersicht über die Bereitstellungskonzepte, die sich zur Verwaltung des Diensts eignen. Dieser Artikel ist besonders für Personen relevant, die am Schritt zum Einrichten der Cloud bei der Vorbereitung von Geräten für die Bereitstellung beteiligt sind.

Endpunkt für Dienstvorgänge

Der Endpunkt für Dienstvorgänge ist der Endpunkt zum Verwalten der Diensteinstellungen und der Registrierungsliste. Dieser Endpunkt wird nur vom Dienstadministrator verwendet. Er wird nicht von Geräten verwendet.

Endpunkt zur Gerätebereitstellung

Der Endpunkt zur Gerätebereitstellung ist der einzelne Endpunkt, den alle Geräte für die Bereitstellung verwenden. Die URL ist für alle Bereitstellungsdienstinstanzen identisch, sodass bei neuen Verbindungsinformationen in Lieferkettenszenarien nicht die Firmware von Geräten aktualisiert werden muss. Durch den ID-Bereich wird die Mandantenisolation sichergestellt.

Verknüpfte IoT Hubs

Der Device Provisioning-Dienst kann nur Geräte in IoT Hubs bereitstellen, die mit dem Dienst verknüpft wurden. Wenn Sie einen IoT-Hub mit einer Instanz des Device Provisioning Service verknüpfen, erhält der Dienst Lese-/Schreibberechtigungen für die Geräteregistrierung des IoT-Hubs. Mit dem Link kann ein Device Provisioning Service eine Geräte-ID registrieren und die anfängliche Konfiguration im Gerätezwilling festlegen. Verknüpfte IoT Hubs können sich in allen Azure-Regionen befinden. Sie können Hubs in anderen Abonnements mit Ihrem Bereitstellungsdienst verknüpfen.

Weitere Informationen finden Sie unter Verknüpfen und Verwalten von IoT-Hubs.

Zuordnungsrichtlinie

Die Zuweisungsrichtlinie ist eine Einstellung auf Dienstebene, die bestimmt, wie der Gerätebereitstellungsdienst einem IoT-Hub Geräte zuweist. Es gibt vier unterstützte Zuordnungsrichtlinien:

  • Gleichmäßig gewichtete Verteilung: Bei verknüpften IoT Hubs ist die Wahrscheinlichkeit gleich hoch, dass Geräte für sie bereitgestellt werden. Dies ist die Standardeinstellung. Wenn Sie Geräte nur für einen IoT-Hub bereitstellen, können Sie diese Einstellung beibehalten.

  • Niedrigste Latenz: Geräte werden für einen IoT Hub mit der geringsten Latenz für das Gerät bereitgestellt. Wenn mehrere verknüpfte IoT Hubs die gleiche geringste Latenz aufweisen, verteilt der Bereitstellungsdienst die Geräte auf diese Hubs.

  • Statische Konfiguration über die Registrierungsliste: Die Angabe des gewünschten IoT Hub in der Registrierungsliste hat gegenüber der Zuordnungsrichtlinie auf Dienstebene Vorrang.

  • Benutzerdefiniert (Azure-Funktion verwenden): Mit einer benutzerdefinierten Zuteilungsrichtlinie können Sie genauer steuern, wie Geräte einem IoT-Hub zugewiesen werden. Benutzerdefinierte Zuteilungsrichtlinien verwenden eine Azure-Funktion, um einem IoT-Hub Geräte zuzuweisen. DPS ruft Ihren Azure Functions-Code auf und stellt Ihrem Code alle relevanten Informationen zum Gerät und zur Registrierung bereit. Der Funktionscode wird ausgeführt und gibt die IoT Hub-Informationen für die Bereitstellung des Geräts zurück. Weitere Informationen finden Sie unter Grundlegendes zu benutzerdefinierten Zuteilungsrichtlinien.

Weitere Informationen finden Sie unter Verwenden von Zuteilungsrichtlinien.

Anmeldung

Bei einer Registrierung handelt es sich um den Datensatz der Geräte oder Gerätegruppen, die mittels automatischer Bereitstellung registriert werden können. Der Registrierungsdatensatz enthält unter anderem folgende Informationen zum Gerät bzw. zur Gerätegruppe:

  • Der verwendete Nachweismechanismus des Geräts
  • Die optionale gewünschte Erstkonfiguration
  • Die gewünschte IoT-Hub-Instanz
  • Die gewünschte Geräte-ID

Für den Device Provisioning Service werden zwei Arten von Registrierungen unterstützt: Individuelle Registrierung und Registrierungsgruppe.

Registrierungsgruppe

Eine Registrierungsgruppe stellt eine Gruppe von Geräten dar, die einen bestimmten Nachweismechanismus gemeinsam nutzen. Registrierungsgruppen unterstützen das X.509-Zertifikat oder den Nachweis des symmetrischen Schlüssels.

Der Name der Registrierungsgruppe und die von Geräten präsentierten Registrierungs-IDs müssen Zeichenfolgen ohne Berücksichtigung der Groß-/Kleinschreibung sein und können alphanumerische Zeichen sowie folgende Sonderzeichen enthalten: - . _ :. Das letzte Zeichen muss alphanumerisch oder ein Bindestrich (-) sein. Der Name kann bis zu 128 Zeichen lang sein. In symmetrischen Schlüsselregistrierungsgruppen kann die Registrierungs-IDs, die von Geräten präsentiert werden, bis zu 128 Zeichen lang sein. In X.509-Registrierungsgruppen sind jedoch die maximale Länge des allgemeinen Betreffs in einem X.509-Zertifikat 64 Zeichen, die Registrierungs-IDs sind auf 64 Zeichen beschränkt.

Geräte in einer X.509-Registrierungsgruppe stellen X.509-Zertifikate bereit, die von der gleichen Stamm- oder Zwischenzertifizierungsstelle signiert wurden. Der allgemeine Name (Common Name, CN) des Endentitätszertifikats der einzelnen Geräte wird zur Registrierungs-ID für die jeweiligen Geräte. Geräte in einer Registrierungsgruppe mit symmetrischem Schlüssel stellen SAS-Token bereit, die vom symmetrischen Schlüssel der Gruppe abgeleitet werden.

Bei Geräten in einer Registrierungsgruppe wird die Registrierungs-ID auch als Geräte-ID verwendet, die für IoT Hub registriert ist.

Tipp

Es empfiehlt sich, eine Registrierungsgruppe für eine große Anzahl von Geräten, die eine gewünschte Erstkonfiguration gemeinsam nutzen, oder für Geräte zu verwenden, die alle demselben Mandanten zugeordnet sind.

Individuelle Registrierung

Eine individuelle Registrierung ist ein Eintrag für ein einzelnes Gerät, das registriert werden kann. Individuelle Registrierungen können entweder untergeordnete X.509-Zertifikate verwenden oder SAS-Token (in einem physischen oder virtuellen TPM) als Nachweismechanismen.

Bei der Registrierungs-ID in einer individuellen Registrierung handelt es sich um eine Zeichenfolge alphanumerischer Zeichen ohne Beachtung der Groß-/Kleinschreibung plus diese Sonderzeichen: - . _ :. Das letzte Zeichen muss alphanumerisch oder ein Bindestrich (-) sein. DPS unterstützt Registrierungs-IDs, die bis zu 128 Zeichen lang sind.

Bei individuellen X.509-Registrierungen muss der allgemeine Name (Common Name, CN) des Zertifikats mit der Registrierungs-ID übereinstimmen, sodass der allgemeine Name dem Format der Registrierungs-ID-Zeichenfolge entsprechen muss. Der allgemeine Betreffname verfügt über eine maximale Länge von 64 Zeichen, sodass die Registrierungs-ID auf 64 Zeichen für X.509-Registrierungen beschränkt ist.

Bei individuellen Registrierungen wird möglicherweise die gewünschte IoT Hub-Geräte-ID verwendet, die im Registrierungseintrag angegeben ist. Wenn keine ID nicht angegeben wird, wird die Registrierungs-ID als Geräte-ID verwendet, die für IoT Hub registriert ist.

Tipp

Individuelle Registrierungen sollten für Geräte verwendet werden, die besondere Erstkonfigurationen erfordern, oder für Geräte, die sich nur mittels SAS-Token per TPM-Nachweis authentifizieren können.

Nachweismechanismus

Ein Nachweismechanismus ist eine Methode zum Überprüfen der Identität eines Geräts. Er wird für einen Registrierungseintrag konfiguriert und informiert den Bereitstellungsdienst darüber, welche Methode verwendet werden soll, wenn die Identität eines Geräts während der Registrierung überprüft wird.

Hinweis

IoT Hub verwendet das „Authentifizierungsschema“ für ein ähnliches Konzept in diesem Dienst.

Der Device Provisioning-Dienst unterstützt die folgenden Arten von Nachweisen:

  • X.509-Zertifikate – basierend auf dem Standardauthentifizierungsablauf für X.509-Zertifikate. Weitere Informationen finden Sie unter X.509-Nachweis.
  • Trusted Platform Module (TPM) – basierend auf einer Nonce-Abfrage mit dem TPM-Standard für Schlüssel zum Bereitstellen eines signierten SAS-Tokens (Shared Access Signature). Dies erfordert keine physische TPM-Instanz auf dem Gerät. Der Dienst erwartet für den Nachweis jedoch den Endorsement Key gemäß TPM-Spezifikation. Weitere Informationen finden Sie unter TPM-Nachweis.
  • Symmetrischer Schlüssel basierend auf Shared Access Signature (SAS)-Sicherheitstokens, die eine Hashsignatur und ein eingebettetes Ablaufdatum haben. Weitere Informationen finden Sie unter Symmetric key attestation (Nachweis des symmetrischen Schlüssels).

Hardwaresicherheitsmodul

Ein Hardwaresicherheitsmodul (HSM) dient der sicheren, hardwarebasierten Speicherung von Gerätegeheimnissen und gilt als die sicherste Form der Geheimnisspeicherung. Sowohl X.509-Zertifikate als auch SAS-Token können in einem HSM gespeichert werden.

Tipp

Es wird dringend empfohlen, ein HSM mit Geräten zu verwenden, um Geheimnisse sicher auf Ihren Geräten zu speichern.

Gerätegeheimnisse können auch in der Software (Arbeitsspeicher) gespeichert werden. Im Vergleich zu einem HSM ist diese Art der Speicherung jedoch weniger sicher.

ID-Bereich

Der ID-Bereich wird einem Device Provisioning Service zugewiesen, wenn er erstellt wird, und er wird verwendet, um den spezifischen Bereitstellungsdienst eindeutig zu identifizieren. Der ID-Bereich wird vom Dienst generiert. Er kann nicht geändert werden und stellt Eindeutigkeit sicher. Die Eindeutigkeit des ID-Bereichs ist wichtig für lang andauernde Bereitstellungsvorgänge und Zusammenführungs- sowie Kaufszenarien.

Registrierungsdatensatz

Ein Registrierungsdatensatz ist der Datensatz eines Geräts, das über Device Provisioning Service erfolgreich in einer IoT Hub-Instanz registriert/bereitgestellt wurde. Registrierungsdatensätze werden automatisch erstellt. Sie können gelöscht, aber nicht aktualisiert werden.

Registrierungs-ID

Die Registrierungs-ID wird zur eindeutigen Identifizierung einer Geräteregistrierung in DPS verwendet. Die Registrierungs-ID muss im ID-Bereich des Bereitstellungsdiensts eindeutig sein. Jedes Gerät benötigt eine Registrierungs-ID. Die Registrierungs-ID ist eine von der Groß- und Kleinschreibung unabhängige Zeichenfolge aus alphanumerischen Zeichen und Sonderzeichen: - . _ :. Das letzte Zeichen muss alphanumerisch oder ein Bindestrich (-) sein. DPS unterstützt Registrierungs-IDs, die bis zu 128 Zeichen lang sind.

  • Bei Verwendung des TPM-Nachweises wird die Registrierungs-ID vom TPM selbst bereitgestellt.
  • Bei X.509-basierten Nachweisen wird die Registrierungs-ID auf den allgemeinen Namen (Common Name, CN) des Antragstellers des Gerätezertifikats festgelegt. Daher muss der allgemeine Name dem Format der Registrierungs-ID-Zeichenfolge entsprechen. Die Registrierungs-ID ist jedoch auf 64 Zeichen beschränkt, da dies die maximale Länge des allgemeinen Antragstellernamens in einem X.509-Zertifikat ist.

Geräte-ID

Die Geräte-ID ist die ID, die in IoT Hub angezeigt wird. Die gewünschte Geräte-ID kann im Registrierungseintrag festgelegt werden. Dies ist jedoch nicht zwingend erforderlich. Das Festlegen der gewünschten Geräte-ID wird nur in Einzelregistrierungen unterstützt. Wenn in der Registrierungsliste keine gewünschte Geräte-ID angegeben wurde, wird bei der Registrierung des Geräts die Registrierungs-ID als die Geräte-ID verwendet. Erfahren Sie mehr zu Geräte-IDs in IoT Hub.

Operationen (Operations)

Vorgänge stellen die Abrechnungseinheit des Device Provisioning-Diensts dar. Ein Vorgang entspricht der erfolgreichen Ausführung einer Anweisung für den Dienst. Vorgänge können Geräteregistrierungen und erneute Registrierungen sowie dienstseitige Änderungen wie das Hinzufügen und Aktualisieren von Registrierungslisteneinträgen umfassen.