Bereitstellung von Geräten mit dem Azure IoT Hub Device Provisioning-DienstProvisioning devices with Azure IoT Hub Device Provisioning Service

Microsoft Azure bietet einen umfangreichen Satz von integrierten öffentlichen Clouddiensten für alle Ihre IoT-Lösunganforderungen.Microsoft Azure provides a rich set of integrated public cloud services for all your IoT solution needs. 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.The IoT Hub Device Provisioning Service (DPS) is a helper service for IoT Hub that enables zero-touch, just-in-time provisioning to the right IoT hub without requiring human intervention. DPS ermöglicht die skalierbare und sichere Bereitstellung von Millionen von Geräten.DPS enables the provisioning of millions of devices in a secure and scalable manner.

Wann sollte der Device Provisioning-Dienst verwendet werden?When to use Device Provisioning Service

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:There are many provisioning scenarios in which DPS is an excellent choice for getting devices connected and configured to IoT Hub, such as:

  • Bereitstellung ohne manuelles Eingreifen für eine einzelne IoT-Lösung ohne werkseitige Hartcodierung von IoT Hub-Verbindungsinformationen (Anfangssetup)Zero-touch provisioning to a single IoT solution without hardcoding IoT Hub connection information at the factory (initial setup)
  • Hubübergreifender Lastenausgleich für GeräteLoad-balancing devices across multiple hubs
  • Herstellen der Verbindung von Geräten mit der IoT-Lösung ihrer Besitzer auf Basis der Verkaufstransaktionsdaten (Mehrinstanzenfähigkeit)Connecting devices to their owner's IoT solution based on sales transaction data (multitenancy)
  • Herstellen der Verbindung von Geräten mit einer bestimmten IoT-Lösung abhängig vom Anwendungsfall (Lösungsisolation)Connecting devices to a particular IoT solution depending on use-case (solution isolation)
  • Herstellen der Verbindung eines Geräts mit IoT Hub mit der geringsten Wartezeit (Geo-Sharding)Connecting a device to the IoT hub with the lowest latency (geo-sharding)
  • Erneute Bereitstellung basierend auf einer Änderung im GerätReprovisioning based on a change in the device
  • 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)Rolling the keys used by the device to connect to IoT Hub (when not using X.509 certificates to connect)

Abläufe im HintergrundBehind the scenes

Alle im vorherigen Abschnitt aufgelisteten Szenarien können per DPS für die Bereitstellung ohne manuelles Eingreifen mit dem gleichen Ablauf implementiert werden.All the scenarios listed in the previous section can be done using DPS for zero-touch provisioning with the same flow. 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.Many of the manual steps traditionally involved in provisioning are automated with DPS to reduce the time to deploy IoT devices and lower the risk of manual error. Im Folgenden wird beschrieben, was bei der Bereitstellung eines Geräts im Hintergrund geschieht.The following section describes what goes on behind the scenes to get a device provisioned. Der erste Schritt ist manuell, alle folgenden Schritte sind automatisiert.The first step is manual, all of the following steps are automated.

Grundlegender Bereitstellungsablauf

  1. Der Gerätehersteller fügt die Geräteregistrierungsinformationen der Registrierungsliste im Azure-Portal hinzu.Device manufacturer adds the device registration information to the enrollment list in the Azure portal.
  2. Das Gerät kontaktiert den werkseitig festgelegten DPS-Endpunkt.Device contacts the DPS endpoint set at the factory. Das Gerät übergibt Identifikationsinformationen an DPS, um seine Identität nachzuweisen.The device passes the identifying information to DPS to prove its identity.
  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).DPS validates the identity of the device by validating the registration ID and key against the enrollment list entry using either a nonce challenge (Trusted Platform Module) or standard X.509 verification (X.509).
  4. DPS registriert das Gerät bei einem IoT-Hub und gibt den gewünschten Zwillingsstatus des Geräts an.DPS registers the device with an IoT hub and populates the device's desired twin state.
  5. Der IoT-Hub gibt die Geräte-ID-Informationen an DPS zurück.The IoT hub returns device ID information to DPS.
  6. DPS gibt die IoT-Hub-Verbindungsinformationen an das Gerät zurück.DPS returns the IoT hub connection information to the device. Das Gerät kann nun direkt Daten an den IoT Hub senden.The device can now start sending data directly to the IoT hub.
  7. Das Gerät stellt eine Verbindung mit dem IoT Hub her.The device connects to IoT hub.
  8. Das Gerät ruft den gewünschten Status von seinem Gerätezwilling im IoT Hub ab.The device gets the desired state from its device twin in IoT hub.

BereitstellungProvisioning process

Der Bereitstellungsprozess eines Geräts mit DPS-Beteiligung umfasst zwei unabhängig ausführbare Schritte:There are two distinct steps in the deployment process of a device in which DPS takes a part that can be done independently:

  • Der Fertigungsschritt, in dem das Gerät werkseitig erstellt und vorbereitet wird, undThe manufacturing step in which the device is created and prepared at the factory, and
  • Der Cloudeinrichtungsschritt, in dem der Device Provisioning-Dienst für die automatisierte Bereitstellung konfiguriert wird.The cloud setup step in which the Device Provisioning Service is configured for automated provisioning.

Beide Schritte fügen sich nahtlos in bestehende Fertigungs- und Bereitstellungsprozesse ein.Both these steps fit in seamlessly with existing manufacturing and deployment processes. DPS vereinfacht sogar einige Bereitstellungsprozesse, die mit manuellen Schritten verbunden sind, um Verbindungsinformationen auf das Gerät zu übertragen.DPS even simplifies some deployment processes that involve manual work to get connection information onto the device.

FertigungsschrittManufacturing step

Dieser Schritt umfasst alles, was in der Fertigung geschieht.This step is all about what happens on the manufacturing line. An diesem Schritt sind Hardwareentwickler und -hersteller, Integrator und/oder Endhersteller des Geräts beteiligt.The roles involved in this step include silicon designer, silicon manufacturer, integrator and/or the end manufacturer of the device. Dieser Schritt betrifft das Erstellen der Hardware selbst.This step is concerned with creating the hardware itself.

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.DPS does not introduce a new step in the manufacturing process; rather, it ties into the existing step that installs the initial software and (ideally) the HSM on the device. 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.Instead of creating a device ID in this step, the device is programmed with the provisioning service information, enabling it to call the provisioning service to get its connection info/IoT solution assignment when it is switched on.

Auch in diesem Schritt liefert der Hersteller dem Bereitsteller/Bediener des Geräts Indentifikationsschlüsselinformationen.Also in this step, the manufacturer supplies the device deployer/operator with identifying key information. 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.Supplying that information could be as simple as confirming that all devices have an X.509 certificate generated from a signing certificate provided by the device deployer/operator, or as complicated as extracting the public portion of a TPM endorsement key from each TPM device. Diese Dienste werden heute von vielen Hardwareherstellern angeboten.These services are offered by many silicon manufacturers today.

CloudeinrichtungsschrittCloud setup step

In diesem Schritt wird die Cloud für die ordnungsgemäße automatische Bereitstellung konfiguriert.This step is about configuring the cloud for proper automatic provisioning. 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.Generally there are two types of users involved in the cloud setup step: someone who knows how devices need to be initially set up (a device operator), and someone else who knows how devices are to be split among the IoT hubs (a solution operator).

Eine einmalige anfängliche Einrichtung der Bereitstellung muss ausgeführt werden, und dies wird im Allgemeinen vom Lösungsoperator übernommen.There is a one-time initial setup of the provisioning that must occur, which is usually handled by the solution operator. Sobald der Bereitstellungsdienst konfiguriert ist, muss er nicht geändert werden, solange sich der Anwendungsfall nicht ändert.Once the provisioning service is configured, it does not have to be modified unless the use case changes.

Wenn der Dienst für die automatische Bereitstellung konfiguriert ist, muss er auf das Registrieren von Geräten vorbereitet werden.After the service has been configured for automatic provisioning, it must be prepared to enroll devices. 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.This step is done by the device operator, who knows the desired configuration of the device(s) and is in charge of making sure the provisioning service can properly attest to the device's identity when it comes looking for its IoT hub. Die Gerätebediener übernimmt die Indentifikationsschlüsselinformationen vom Hersteller und fügt sie der Registrierungsliste hinzu.The device operator takes the identifying key information from the manufacturer and adds it to the enrollment list. 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.There can be subsequent updates to the enrollment list as new entries are added or existing entries are updated with the latest information about the devices.

Registrierung und BereitstellungRegistration and provisioning

Bereitstellung kann abhängig von der Branche, wo der Begriff verwendet wird, verschiedene Bedeutungen haben.Provisioning means various things depending on the industry in which the term is used. Im Kontext der Bereitstellung von IoT-Geräten für ihre Cloudlösung ist sie ein aus zwei Teilen bestehender Prozess:In the context of provisioning IoT devices to their cloud solution, provisioning is a two part process:

  1. Im ersten Teil wird durch Registrieren des Geräts eine erstmalige Verbindung des Geräts mit der IoT-Lösung hergestellt.The first part is establishing the initial connection between the device and the IoT solution by registering the device.
  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.The second part is applying the proper configuration to the device based on the specific requirements of the solution it was registered to.

Nach Ausführung dieser beiden Schritte kann das Gerät als vollständig bereitgestellt bezeichnet werden.Once both of those two steps have been completed, we can say that the device has been fully provisioned. 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.Some cloud services only provide the first step of the provisioning process, registering devices to the IoT solution endpoint, but do not provide the initial configuration. DPS automatisiert beide Schritte für eine nahtlose Bereitstellung des Geräts.DPS automates both steps to provide a seamless provisioning experience for the device.

Features des Device Provisioning-DienstsFeatures of the Device Provisioning Service

Dank zahlreicher Features eignet sich DPS perfekt für die Bereitstellung von Geräten.DPS has many features, making it ideal for provisioning devices.

  • Unterstützung des sicheren Nachweises für Identitäten auf X.509- und TPM-Basis.Secure attestation support for both X.509 and TPM-based identities.
  • Eine Registrierungsliste mit der vollständigen Aufzeichnung von Geräten/Gerätegruppen, die sich zu einem beliebigen Zeitpunkt registrieren könnten.Enrollment list containing the complete record of devices/groups of devices that may at some point register. Die Registrierungsliste enthält Informationen zu der gewünschten Konfiguration des Geräts, sobald es registriert ist, und sie kann jederzeit aktualisiert werden.The enrollment list contains information about the desired configuration of the device once it registers, and it can be updated at any time.
  • 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.Multiple allocation policies to control how DPS assigns devices to IoT hubs in support of your scenarios: Lowest latency, evenly weighted distribution (default), and static configuration via the enrollment list. Wartezeit wird mithilfe der gleichen Methode ermittelt wie bei Traffic Manager.Latency is determined using the same method as Traffic Manager.
  • Überwachungs- und Diagnoseprotokolle, um sicherzustellen, dass alles ordnungsgemäß funktioniertMonitoring and diagnostics logging to make sure everything is working properly.
  • Unterstützung für mehrere Hubs, sodass Device Provisioning Service (DPS) Geräte mehreren IoT Hubs zuweisen kann.Multi-hub support allows DPS to assign devices to more than one IoT hub. DPS kann über mehrere Azure-Abonnements hinweg mit Hubs kommunizieren.DPS can talk to hubs across multiple Azure subscriptions.
  • Regionsübergreifende Unterstützung, um DPS das Zuweisen von Geräten zu IoT-Hubs in anderen Regionen zu ermöglichen.Cross-region support allows DPS to assign devices to IoT hubs in other regions.
  • 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.Encryption for data at rest allows data in DPS to be encrypted and decrypted transparently using 256-bit AES encryption, one of the strongest block ciphers available, and is FIPS 140-2 compliant.

Weitere Informationen zu den Konzepten und Features in Verbindung mit der Gerätebereitstellung finden Sie unter IoT Hub Device Provisioning Service device concepts (IoT Hub Device Provisioning-Dienst: Gerätekonzepte), IoT Hub Device Provisioning Service concepts (IoT Hub Device Provisioning-Dienst: Konzepte) und IoT Hub Device Provisioning Service security concepts (IoT Hub Device Provisioning-Dienst: Sicherheitskonzepte).You can learn more about the concepts and features involved in device provisioning in device concepts, service concepts, and security concepts.

Plattformübergreifende UnterstützungCross-platform support

DPS kann wie alle Azure IoT-Dienste plattformübergreifend mit verschiedenen Betriebssystemen verwendet werden.Just like all Azure IoT services, DPS works cross-platform with a variety of operating systems. Azure bietet Open Source-SDKs in einer Vielzahl von Sprachen zur Erleichterung von Geräteverbindungen und Dienstverwaltung.Azure offers open-source SDKs in a variety of languages to facilitate connecting devices and managing the service. DPS unterstützt die folgenden Protokolle zum Verbinden von Geräten:DPS supports the following protocols for connecting devices:

  • HTTPSHTTPS
  • AMQPAMQP
  • AMQP über WebsocketsAMQP over web sockets
  • MQTTMQTT
  • MQTT über WebsocketsMQTT over web sockets

Für Dienstvorgänge unterstützt DPS nur HTTPS-Verbindungen.DPS only supports HTTPS connections for service operations.

RegionsRegions

DPS steht in vielen Regionen zur Verfügung.DPS is available in many regions. Eine für alle Dienste laufend aktualisierte Liste der vorhandenen und neu angekündigten Regionen finden Sie unter Azure-Regionen.The updated list of existing and newly announced regions for all services is at Azure Regions. Die Verfügbarkeit des Device Provisioning-Diensts können Sie auf der Seite Azure-Status überprüfen.You can check availability of the Device Provisioning Service on the Azure Status page.

Hinweis

DPS ist global und nicht an einen Standort gebunden.DPS is global and not bound to a location. Sie müssen jedoch eine Region zum Speichern der Metadaten für Ihr DPS-Profil angeben.However, you must specify a region in which the metadata associated with your DPS profile will reside.

VerfügbarkeitAvailability

Für DPS gilt eine Vereinbarung zum Servicelevel (SLA) von 99,9 Prozent.There is a 99.9% Service Level Agreement for DPS, and you can read the SLA. Die vollständige Azure-SLA erläutert die garantierte Verfügbarkeit von Azure insgesamt.The full Azure SLA explains the guaranteed availability of Azure as a whole.

KontingenteQuotas

Für jedes Azure-Abonnement gelten standardmäßig bestimmte Kontingentgrenzen, die den Umfang Ihrer IoT-Lösung beeinträchtigen könnten.Each Azure subscription has default quota limits in place that could impact the scope of your IoT solution. Die aktuelle Grenze auf Abonnementbasis sind 10 Device Provisioning-Dienste pro Abonnement.The current limit on a per-subscription basis is 10 Device Provisioning Services per subscription.

Die folgende Tabelle enthält die Grenzwerte, die für Ressourcen des Azure IoT Hub Device Provisioning-Diensts gelten.The following table lists the limits that apply to Azure IoT Hub Device Provisioning Service resources.

ResourceResource BegrenzungLimit
Maximale Anzahl von Gerätebereitstellungsdiensten pro Azure-AbonnementMaximum device provisioning services per Azure subscription 1010
Maximale Anzahl von Registrierungen (Enrollments)Maximum number of enrollments 1.000.0001,000,000
Maximale Anzahl von Registrierungen (Registrations)Maximum number of registrations 1.000.0001,000,000
Maximale Anzahl von RegistrierungsgruppenMaximum number of enrollment groups 100100
Maximale Anzahl von ZertifizierungsstellenMaximum number of CAs 2525
Maximale Anzahl der verknüpften IoT-HubsMaximum number of linked IoT hubs 5050
Maximale NachrichtengrößeMaximum size of message 96 KB96 KB

Hinweis

Sie können sich an den Microsoft-Support wenden, um die Anzahl der Registrierungen für Ihren Bereitstellungsdienst zu erhöhen.To increase the number of enrollments and registrations on your provisioning service, contact Microsoft Support.

Hinweis

Die Erhöhung der maximalen Anzahl von Zertifizierungsstellen wird nicht unterstützt.Increasing the maximum number of CAs is not supported.

Der Device Provisioning Service drosselt Anforderungen, wenn die folgenden Kontingente überschritten werden.The Device Provisioning Service throttles requests when the following quotas are exceeded.

DrosselungThrottle Wert pro EinheitPer-unit value
Operationen (Operations)Operations 200/Minute/Dienst200/min/service
GeräteregistrierungenDevice registrations 200/Minute/Dienst200/min/service
Abrufvorgang für GeräteDevice polling operation 5/10 Sekunden/Gerät5/10 sec/device

Weitere Informationen zu Kontingentgrenzen finden Sie hier:For more details on quota limits:

DPS automatisiert die Gerätebereitstellung mit Azure IoT Hub.DPS automates device provisioning with Azure IoT Hub. Erfahren Sie mehr über IoT Hub.Learn more about IoT Hub.

Nächste SchritteNext steps

Sie haben jetzt einen Überblick über die Bereitstellung von IoT-Geräten in Azure erhalten.You now have an overview of provisioning IoT devices in Azure. Der nächste Schritt ist, dass Sie ein End-to-End-IoT-Szenario testen.The next step is to try out an end-to-end IoT scenario.