Delen via


Wat is Azure IoT Hub Device Provisioning Service?

De IoT Hub Device Provisioning Service (DPS) is een hulpsysteem voor IoT Hub dat zero-touch en just-in-time provisioning naar de juiste IoT hub mogelijk maakt zonder menselijke tussenkomst. Met DPS kunnen miljoenen apparaten op een veilige en schaalbare manier worden ingericht. Veel van de handmatige stappen die gebruikelijk zijn bij het inrichten van apparaten zijn geautomatiseerd met DPS om zo het implementeren van IoT-apparaten te versnellen en de kans op handmatige fouten te verkleinen.

Hoe Device Provisioning Service werkt

In het volgende diagram wordt beschreven wat er achter de schermen gebeurt om een apparaat in te richten met DPS.

Diagram dat laat zien hoe het apparaat, Device Provisioning Service en IoT Hub samenwerken.

Voordat het apparaatconfiguratieproces begint, zijn er twee handmatige stappen om voor te bereiden:

  • Aan de apparaatzijde bereidt de fabrikant van het apparaat het apparaat voor op inrichting door het vooraf te configureren met de verificatiereferenties en de toegewezen Device Provisioning Service-id en het eindpunt.
  • Aan de cloudzijde bereidt u of de fabrikant van het apparaat het Device Provisioning Service-exemplaar voor met inschrijvingen die geldige apparaten identificeren en definiëren hoe ze moeten worden ingericht.

Zodra het apparaat en de cloud zijn ingesteld voor inrichting, beginnen de volgende stappen automatisch wanneer het apparaat voor het eerst wordt ingeschakeld:

  1. Het apparaat wordt voor het eerst ingeschakeld en maakt vervolgens verbinding met het DPS-eindpunt en geeft de bijbehorende verificatiereferenties weer.
  2. Het DPS-exemplaar controleert de identiteit van het apparaat op basis van de inschrijvingslijst. Zodra de apparaat-id is geverifieerd, wijst DPS het apparaat toe aan een IoT-hub en registreert deze in de hub.
  3. De DPS-instantie ontvangt de apparaat-id en registratiegegevens van de toegewezen hub en geeft die informatie weer door aan het apparaat.
  4. Het apparaat gebruikt de registratiegegevens om rechtstreeks verbinding te maken met de toegewezen IoT-hub en te verifiëren.
  5. Het apparaat en de IoT-hub communiceren rechtstreeks. De DPS-instantie heeft geen verdere rol als intermediair, tenzij het apparaat opnieuw moet worden ingericht.

Wanneer Device Provisioning Service gebruiken

Er zijn veel scenario's waarin DPS een uitstekende keuze is voor het verbinden en configureren van apparaten met IoT Hub, zoals:

  • Zero-touch provisioning voor een enkele IoT-oplossing zonder hardcoding van IoT Hub verbindingsgegevens tijdens de eerste installatie in de fabriek.
  • Taakverdeling van apparaten over meerdere hubs
  • Apparaten verbinden met de IoT-oplossing van de eigenaar op basis van verkooptransactiegegevens (multitenancy)
  • Apparaten verbinden met een bepaalde IoT-oplossing, afhankelijk van het gebruiksscenario (isolatie van oplossing)
  • Apparaat met de laagst mogelijke latentie (geo-sharding) verbinden met de IoT-hub
  • Herconfigureren op basis van een wijziging aan het apparaat
  • Aanpassen van de sleutels die door het apparaat worden gebruikt om verbinding te maken met IoT Hub (als er geen verbinding wordt gemaakt met behulp van X.509-certificaten)

DPS biedt geen ondersteuning voor het inrichten van geneste IoT Edge-apparaten (ouder/kind hiërarchieën).

Voorzieningsproces

Er zijn twee stappen die plaatsvinden voordat een apparaat wordt ingericht met DPS:

  • De productiestap waarin het apparaat wordt gemaakt en voorbereid in de fabriek, en
  • De configuratiestap voor de cloud waarin Device Provisioning Service wordt geconfigureerd voor automatisch inrichten.

Beide stappen kunnen worden opgenomen in bestaande productie- en implementatieprocessen. DPS vereenvoudigt zelfs enkele implementatieprocessen die handmatig werk vereisen om verbindingsgegevens op het apparaat te krijgen.

Productiestap

Deze stap omvat alles wat te maken heeft met de productielijn. De rollen die betrokken zijn bij deze stap zijn siliciumontwerper, siliciumfabrikant, integrator en/of de eindfabrikant van het apparaat. Deze stap gaat om het maken van de hardware zelf.

DPS introduceert geen nieuwe stap in het productieproces; In plaats daarvan wordt deze gekoppeld aan de bestaande stap die de eerste software installeert en (idealiter) de hardwarebeveiligingsmodule (HSM) op het apparaat installeert. In plaats van in deze stap een apparaat-id te maken, wordt het apparaat geprogrammeerd met de gegevens van de inrichtingsservice, zodat deze de inrichtingsservice kan aanroepen om de verbindingsgegevens/ioT-oplossingstoewijzing op te halen wanneer het wordt ingeschakeld.

In deze stap verstrekt de fabrikant ook belangrijke identificatiegegevens aan de persoon die het apparaat implementeert/gebruikt (operator). Het verstrekken van die gegevens kan zo eenvoudig zijn als het bevestigen dat alle apparaten beschikken over een X.509-certificaat dat is gegenereerd op basis van een ondertekend certificaat dat is geleverd door de persoon die het apparaat implementeert/gebruikt, of zo ingewikkeld als het extraheren van het openbare deel van een TPM-goedkeuringssleutel van elk TPM-apparaat. Veel siliciumfabrikanten bieden deze diensten aan.

Configuratiestap voor de cloud

Deze stap betreft het configureren van de cloud voor een juiste automatische inrichting. In het algemeen er zijn twee typen gebruikers betrokken bij deze stap: iemand die weet hoe apparaten in eerste instantie moeten worden geconfigureerd (een operator van apparaten) en iemand anders die weet hoe apparaten moeten worden verdeeld tussen de IoT-hubs (een operator van oplossingen).

Er is een eenmalige eerste installatie van de configuratiedienst, die de beheerder van de oplossing meestal afhandelt. Zodra de configuratieservice is geconfigureerd, hoeft deze niet te worden gewijzigd, tenzij het gebruiksscenario verandert.

Nadat de service is geconfigureerd voor automatische inrichting, moet deze worden voorbereid om apparaten te registreren. Deze stap wordt uitgevoerd door de apparaatoperator, die de gewenste configuratie van de apparaten kent en ervoor zorgt dat de voorzieningsservice op de juiste manier de identiteit van een apparaat kan verifiëren. De operator van het apparaat neemt de belangrijkste identificatiegegevens van de fabrikant en voegt deze toe aan de lijst met registraties. De lijst met registraties kan nog worden gewijzigd als er nieuwe items worden toegevoegd of bestaande vermeldingen worden bijgewerkt met de meest recente informatie over de apparaten.

Registratie en voorziening

Provisioning kan verschillende dingen betekenen, afhankelijk van de branche waarin de term wordt gebruikt. In de context van het inrichten van IoT-apparaten bij hun cloudoplossing bestaat het proces uit twee delen:

  • Het eerste deel omvat het tot stand brengen van de eerste verbinding tussen het apparaat en de IoT-oplossing door het apparaat te registreren.
  • Het tweede gedeelte bestaat uit het toepassen van de juiste configuratie op het apparaat op basis van de specifieke vereisten van de oplossing waarbij het apparaat is geregistreerd.

Zodra beide stappen zijn voltooid, kunnen we zeggen dat het apparaat volledig is ingericht.

De functies van de apparaatprovisioningservice.

DPS bevat veel functies, wat het ideaal maakt voor het voorzien van apparaten.

  • Ondersteuning voor beveiligde attestation voor identiteiten op basis van zowel X.509 als TPM.
  • Inschrijvingslijst met de volledige record van apparaten/groepen apparaten die zich op een bepaald moment kunnen registreren. De inschrijvingslijst bevat informatie over de gewenste configuratie van een apparaat zodra het wordt geregistreerd en kan op elk gewenst moment worden bijgewerkt.
  • Meerdere toewijzingsbeleidsregels om te bepalen hoe DPS apparaten toewijst aan IoT-hubs ter ondersteuning van uw scenario's: laagste latentie, gelijkmatig gewogen distributie (standaard) en statische configuratie. Met aangepaste toewijzing kunt u uw eigen toewijzingsbeleid implementeren via webhooks die worden gehost in Azure Functions in plaats van een van de standaardinstellingen te gebruiken.
  • Controle en logboekregistratie van diagnostische gegevens om ervoor te zorgen dat alles goed werkt.
  • Ondersteuning voor meerdere hubs zorgt ervoor dat DPS apparaten kan toewijzen aan meer dan één IoT-hub. DPS kan communiceren met hubs binnen verschillende Azure-abonnementen.
  • Ondersteuning voor meerdere regio's zorgt ervoor dat DPS apparaten kan toewijzen aan IoT-hubs in andere regio's.
  • Versleuteling voor data-at-rest maakt het mogelijk dat gegevens in DPS op transparante wijze worden versleuteld en ontsleuteld met 256-bits AES-encryptie, een van de sterkste blokversleutelingsmethoden die beschikbaar zijn, en voldoet aan FIPS 140-2.

Meer informatie over de concepten en functies die betrokken zijn bij het inrichten van apparaten vindt u in het artikel over DPS-terminologie en de andere conceptuele artikelen in dezelfde sectie.

Ondersteuning voor meerdere platforms

Net als alle Azure IoT-services werkt DPS platformoverschrijdend met verschillende besturingssystemen. Azure biedt opensource-SDK's in verschillende talen om het verbinden van apparaten te vergemakkelijken en de service te beheren.

DPS ondersteunt de volgende protocollen voor het verbinden van apparaten:

  • HTTPS*
  • AMQP
  • AMQP via WebSockets
  • MQTT
  • MQTT via WebSockets

*DPS ondersteunt alleen HTTPS-verbindingen voor servicebewerkingen.

Regio's

DPS is in diverse regio's beschikbaar. Zie Azure-regio's voor de lijst met ondersteunde regio's voor alle services. U kunt de beschikbaarheid van Device Provisioning Service controleren op de azure-statuspagina .

Voor tolerantie en betrouwbaarheid raden we u aan om te implementeren in een van de regio's die beschikbaarheidszones ondersteunen.

Overwegingen voor gegevenslocatie

Device Provisioning Service slaat klantgegevens op. Klantgegevens worden standaard gerepliceerd naar een secundaire regio ter ondersteuning van scenario's voor herstel na noodgevallen. Voor implementaties in Zuidoost-Azië en Brazilië - zuid kunnen klanten ervoor kiezen om hun gegevens alleen binnen die regio te bewaren door herstel na noodgevallen uit te schakelen. Zie Replicatie tussen regio's in Azure voor meer informatie.

DPS gebruikt hetzelfde eindpunt voor apparaatinrichting voor alle exemplaren van de inrichtingsservice en voert verkeertaakverdeling uit naar het dichtstbijzijnde beschikbare service-eindpunt. Als gevolg hiervan kunnen verificatiegeheimen tijdelijk worden overgedragen buiten de regio waar de DPS-instantie in eerste instantie is gemaakt. Zodra het apparaat is verbonden, worden de apparaatgegevens echter rechtstreeks naar de oorspronkelijke regio van het DPS-exemplaar verzonden. Gebruik een privé-eindpunt om ervoor te zorgen dat uw gegevens de oorspronkelijke of secundaire regio niet verlaten. Zie DPS-ondersteuning voor virtuele netwerken voor meer informatie over het instellen van privé-eindpunten.

Quota en limieten

Elk Azure-abonnement heeft standaardquotumlimieten die van invloed kunnen zijn op het bereik van uw IoT-oplossing. De huidige limiet is 10 Device Provisioning Service-exemplaren per abonnement.

Zie Servicelimieten voor Azure-abonnementen voor meer informatie over quotumlimieten.

In de volgende tabel staan de limieten die van toepassing zijn op Azure IoT Hub Device Provisioning Service-resources.

Bron Limiet
Maximaal aantal apparaatinrichtingsservices per Azure-abonnement 10
Maximaal aantal registraties 1.000.000
Maximum aantal afzonderlijke inschrijvingen 1.000.000
Maximum aantal inschrijvingsgroepen (X.509-certificaat) 100
Maximum aantal inschrijvingsgroepen (symmetrische sleutel) 100
Maximaal aantal CA's 25
Maximaal aantal gekoppelde IoT-hubs 50
Maximale berichtgrootte 96 kB

Tip

Als de vaste limiet voor symmetrische sleutelinschrijvingsgroepen een blokkerend probleem is, gebruikt u afzonderlijke inschrijvingen als tijdelijke oplossing.

Device Provisioning Service heeft de volgende frequentielimieten.

Tarief Waarde per eenheid
Operations 1.000 per minuut/service
Apparaatregistraties 1.000/min/service
Bewerking voor apparaatpolling 5/10 seconden/apparaat

Factureerbare servicebewerkingen en prijzen

Elke API-aanroep op DPS, ongeacht of deze afkomstig is van de service-API's of de api voor apparaatregistratie, kan als één bewerking worden gefactureerd.

In de volgende tabellen ziet u de huidige factureerbare status voor elke DPS-API-bewerking. Als u meer wilt weten over prijzen voor DPS, selecteert u de prijstabel boven aan de pagina met prijzen van Azure IoT Hub . Selecteer vervolgens het tabblad IoT Hub Device Provisioning Service en de valuta en regio voor uw service.

API Operatie Factureerbare?
DPS Device API - runtime-registratie Opzoeken van apparaatregistratiestatus Nee
Status van de bewerking opzoeken Nee
Apparaat registreren Ja
DPS-service-API - apparaatregistratiestatus Alle Ja
DPS-service-API - inschrijvingsgroep Alle Ja
DPS-service-API - afzonderlijke inschrijving Alle Ja
DPS-certificaat-API Alle Nee
IoT DPS-resource-API Alle Nee

Met DPS kunnen apparaten met behulp van Azure IoT Hub automatisch worden ingericht. Lees hier meer informatie over IoT Hub.

IoT Central-toepassingen gebruiken een intern DPS-exemplaar om apparaatverbindingen te beheren. Zie Hoe apparaten verbinding maken met IoT Central voor meer informatie.

Volgende stappen

IoT Hub Device Provisioning Service instellen met Azure Portal

Een gesimuleerd apparaat maken en inrichten