Vad är IoT Hub Device Provisioning Service?

Microsoft Azure har en stor uppsättning integrerade offentliga molntjänster för alla dina IoT-lösningsbehov. Tjänsten IoT Hub Device Provisioning Service (DPS) är en hjälptjänst för IoT Hub som möjliggör zero-touch och just-in-time-etablering till rätt IoT-hubb utan mänsklig inblandning. DPS möjliggör etablering av miljontals enheter på ett säkert och skalbart sätt.

När Device Provisioning Service ska användas

Det finns många etableringsscenarier där DPS är ett utmärkt alternativ för att ansluta och konfigurera enheter för IoT Hub, till exempel:

  • Zero touch-etablering till en enda IoT-lösning utan att hårdkoda IoT Hub-anslutningsinformationen som fabriksinställning (första konfigurationen)
  • Belastningsutjämning av enheter över flera hubbar
  • Ansluta enheter till ägarens IoT-lösning baserat på försäljningstransaktionsdata (flera innehavare)
  • Anslutning av enheter till en viss IoT-lösning beroende på användningsfall (lösningsisolering)
  • Anslutning av en enhet till den IoT-hubb som har lägst fördröjning (geografisk horisontell partitionering)
  • Ometablering baserat på en ändring i enheten
  • Rotera de nycklar som används av enheten för att ansluta till IoT Hub (när X.509-certifikat inte används för att ansluta)

Anteckning

Överväganden för datahemhemlighet:

DPS använder samma slutpunkt för enhetsetablering för alla etableringstjänstinstanser och utför belastningsutjämning för trafik till närmaste tillgängliga tjänstslutpunkt. Därför kan autentiseringshemligheter tillfälligt överföras utanför den region där DPS-instansen ursprungligen skapades. Men när enheten är ansluten flödar enhetsdata direkt till den ursprungliga regionen för DPS-instansen.

Använd en privat slutpunkt för att säkerställa att dina data inte lämnar regionen som DPS-instansen skapades i. Information om hur du ställer in privata slutpunkter finns i Stöd för Azure IoT Device Provisioning Service (DPS) för virtuella nätverk.

I bakgrunden

Alla scenarier som anges i föregående avsnitt kan göras med hjälp av DPS för zero-touch-etablering med samma flöde. Många av de manuella stegen som vanligtvis ingår i etableringen automatiseras med DPS för att minska tiden för att distribuera IoT-enheter och minska risken för manuella fel. I följande avsnitt beskrivs vad som händer i bakgrunden när en enhet etableras. Det första steget är manuellt; alla följande steg utförs automatiskt.

Grundläggande etableringsflöde

  1. Enhetstillverkaren lägger till enhetsregistreringsinformation i registreringslistan i Azure-portalen.
  2. Enheten kontaktar DPS-slutpunkten som angetts på fabriken. Enheten skickar identifieringsinformationen till DPS för att bevisa sin identitet.
  3. DPS verifierar enhetens identitet genom att verifiera registrerings-ID:t och nyckeln mot registreringslistans post med antingen en nonce-kontroll(Trusted Platform Module)eller standardverifiering för X.509 (X.509).
  4. DPS registrerar enheten med en IoT-hubb och fyller i enhetens önskade tvillingtillstånd.
  5. IoT-hubben returnerar enhets-ID-information till DPS.
  6. DPS returnerar IoT Hub-anslutningsinformationen till enheten. Enheten kan nu börja skicka data direkt till IoT-hubben.
  7. Enheten ansluter till IoT-hubben.
  8. Enheten får önskad status från sin tvillingenhet i IoT-hubben.

Etableringsprocessen

Det finns två separata steg i distributionsprocessen för en enhet där DPS tar en del som kan utföras oberoende av varandra:

  • Tillverkningssteget där enheten skapas och förberedas på fabriken samt
  • Molnkonfigurationssteget där Device Provisioning Service konfigureras för automatisk etablering.

Båda dessa steg passar smidigt in i befintliga tillverknings- och etableringsprocesser. DPS förenklar även vissa distributionsprocesser som inbegriper manuellt arbete för att hämta anslutningsinformation till enheten.

Tillverkningssteg

Det här steget handlar om vad som händer vid tillverkningen. De roller som ingår i det här steget innefattar kiseldesigner, kiseltillverkare, integrerare och sluttillverkare av enheten. Det här steget handlar om tillverkningen av själva maskinvaran.

DPS inför inte något nytt steg i tillverkningsprocessen. I stället är den knuten till det befintliga steget som installerar den första programvaran och (helst) HSM på enheten. I stället för att ett enhets-ID skapas i det här steget programmeras enheten med information om etableringstjänsten, vilket gör att den kan anropa etableringstjänsten för att få sin tilldelning för anslutningsinformation/IoT-lösning när den aktiveras.

I det här steget ger också tillverkaren enhetsdistributören/-operatören identifierande nyckelinformation. Att tillhandahålla den informationen kan vara så enkelt som att bekräfta att alla enheter har ett X.509-certifikat som genereras från ett signeringscertifikat som tillhandahålls av enhetsdistributören/-operatören eller så komplicerat som att extrahera den offentliga delen av en TPM-bekräftelsenyckel från varje TPM-enhet. Dessa tjänster erbjuds av många kiseltillverkare i dag.

Molnkonfigurationssteg

Det här steget handlar om att konfigurera molnet för korrekt automatisk etablering. Generellt finns det två typer av användare som ingår i molnkonfigurationssteget: någon som vet hur enheter måste konfigureras i början (en enhetsoperatör) och någon som vet hur enheter ska delas upp mellan IoT-hubbar (en lösningsoperatör).

Det finns en första engångskonfiguration av etableringen som måste utföras. Detta hanteras vanligtvis av lösningsoperatören. När etableringstjänsten har konfigurerats behöver den inte ändras såvida inte användningsfallet ändras.

När tjänsten har konfigurerats för automatisk etablering måste den förberedas inför att registrera enheter. Det här steget utförs av enhetsoperatören, som känner till önskad konfiguration för enheten och är ansvarig för att se till att etableringstjänsten kan garantera enhetens identitet korrekt när enheten söker efter sin IoT-hubb. Enhetsoperatören tar emot den identifierande nyckelinformationen från tillverkaren och lägger till den i registreringslistan. Det kan förekomma efterföljande uppdateringar av registreringslistan allt eftersom nya poster läggs till eller befintliga poster uppdateras med den senaste informationen om enheterna.

Registrering och etablering

Etablering innebär olika saker beroende på vilken bransch termen används i. I samband med etablering av IoT-enheter till sina molnlösningar är etablering en tvåstegsprocess:

  1. Den första delen är att upprätta den första anslutningen mellan enheten och IoT-lösningen genom att registrera enheten.
  2. Den andra delen är att tillämpa korrekt konfiguration på enheten baserat på de särskilda kraven i den lösning som enheten registrerats för.

När båda av dessa två steg har slutförts kan enheten anses ha etablerats fullständigt. Vissa molntjänster tillhandahåller endast det första steget i etableringsprocessen genom att registrera enheter till IoT-lösningens slutpunkt men utan att ge den inledande konfigurationen. DPS automatiserar båda stegen för att ge en sömlös etableringsupplevelse för enheten.

Funktion i Device Provisioning Service

DPS har många funktioner, vilket gör den idealisk för etablering av enheter.

  • Stöd för säker attestering för både X.509- och TPM-baserade identiteter.
  • Registreringslista som innehåller fullständiga uppgifter för enheter eller grupper av enheter som kan komma att registreras. Registreringslistan innehåller information om önskad konfiguration för enheten när den registreras, och den kan uppdateras när som helst.
  • Flera allokeringsprinciper för att styra hur DPS tilldelar enheter till IoT-hubbar som stöd för dina scenarier: Lägsta svarstid, jämnt viktad distribution (standard) och statisk konfiguration via registreringslistan. Svarstiden bestäms med samma metod som Traffic Manager.
  • Övervaknings- och diagnostikloggning för att kontrollera att allt fungerar korrekt.
  • Stöd för flera hubbar gör att DPS kan tilldela enheter till fler än en IoT-hubb. DPS kan prata med hubbar över flera Azure-prenumerationer.
  • Stöd för flera regioner gör att DPS kan tilldela enheter till IoT-hubbar i andra regioner.
  • Kryptering för vilodata gör att data i DPS kan krypteras och dekrypteras transparent med hjälp av 256-bitars AES-kryptering, ett av de starkaste blockchiffreringarna som är tillgängliga och är FIPS 140-2-kompatibel.

Du kan lära dig mer om begrepp och funktioner som ingår i enhetsetablering genom att läsa avsnittet DPS-terminologi tillsammans med de andra konceptuella ämnena i samma avsnitt.

Stöd för alla plattformar

Precis som alla Azure IoT-tjänster fungerar DPS plattformsoberoende med en mängd olika operativsystem. Azure erbjuder SDK:er med öppen källkod i en mängd språk, vilket underlättar anslutning av enheter och hantering av tjänsten. DPS stöder följande protokoll för att ansluta enheter:

  • HTTPS
  • AMQP
  • AMQP över WebSockets
  • MQTT
  • MQTT över WebSockets

DPS stöder endast HTTPS-anslutningar för tjänståtgärder.

Regioner

DPS är tillgängligt i många regioner. En uppdaterad lista över befintliga och nyligen tillkännagivna regioner för alla tjänster finns på Azure Regions (Azure-regioner). Du kan kontrollera tillgängligheten för Device Provisioning Service på sidan Azure Status (Azure-status).

Anteckning

DPS är globalt och är inte bundet till en plats. Du måste dock ange en region där de metadata som är associerade med dps-profilen ska finnas.

Tillgänglighet

Det finns en 99,9 % Serviceavtal för DPS och du kan läsa serviceavtalet. I det fullständigaAzure-serviceavtalet förklaras den garanterade tillgängligheten för Azure som helhet.

DPS stöder även Tillgänglighetszoner. En tillgänglighetszon är ett erbjudande med hög tillgänglighet som skyddar dina program och data mot datacenterfel. En region med stöd för tillgänglighetszoner består av minst tre zoner som stöder den regionen. Varje zon tillhandahåller ett eller flera datacenter på en unik fysisk plats med oberoende ström, kylning och nätverk. Detta ger replikering och redundans inom regionen. Stöd för tillgänglighetszoner för DPS aktiveras automatiskt för DPS-resurser i följande Azure-regioner:

  • Australien, östra
  • Brasilien, södra
  • Kanada, centrala
  • Japan, östra
  • Europa, norra
  • Europa, västra
  • Storbritannien, södra

Kvoter och begränsningar

Varje Azure-prenumeration har standardkvotgränser som kan påverka IoT-lösningens omfång. Den aktuella gränsen på per prenumerationsbasis är 10 Device Provisioning Services per prenumeration.

Mer information om kvotgränser finns i Tjänstbegränsningar för Azure-prenumerationer.

Anteckning

Vissa delar av den här tjänsten har justerbara gränser. Detta visas i tabellerna nedan med kolumnen Justerbar? När gränsen kan justeras är värdet Justerbar? Ja.

Det faktiska värdet som en gräns kan justeras till kan variera beroende på varje kunds distribution. Flera instanser av DPS kan krävas för mycket stora distributioner.

Om ditt företag kräver att en justerbar gräns eller kvot höjs över standardgränsen kan du begära ytterligare resurser genom att öppna en supportbegäran.

I följande tabell visas de begränsningar som gäller för Azure IoT Hub Device Provisioning Service-resurser.

Resurs Gräns Justerbar?
Maximalt antal enhetsetableringstjänster per Azure-prenumeration 10 Yes
Maximalt antal registreringar 1,000,000 Yes
Maximalt antal enskilda registreringar 1,000,000 Yes
Maximalt antal registreringsgrupper (X.509-certifikat) 100 Yes
Maximalt antal registreringsgrupper (symmetrisk nyckel) 100 No
Maximalt antal CA:er 25 No
Maximalt antal länkade IoT-hubbar 50 No
Maximal storlek för meddelande 96 kB No

Tips

Om den hårda gränsen för registreringsgrupper med symmetrisk nyckel är ett blockeringsproblem rekommenderar vi att du använder enskilda registreringar som en lösning.

Device Provisioning Service har följande hastighetsbegränsningar.

Pris Värde per enhet Justerbar?
Operations 200 per minut/tjänst Yes
Enhetsregistreringar 200 per minut/tjänst Yes
Avsökningsåtgärd för enhet 5/10 sek/enhet Inga

Fakturerbara tjänståtgärder och priser

Varje API-anrop i DPS är fakturerbart som en åtgärd. Detta inkluderar alla tjänst-API:er och API:et för enhetsregistrering.

Tabellerna nedan visar aktuell fakturerbar status för varje DPS-tjänst-API-åtgärd. Mer information om priser finns i Priser för Azure Hub i IoT Hub Device Provisioning Service avsnitt.

API Åtgärd Fakturerbar?
Enhets-API Status för enhetsregistrering Inga
Enhets-API Åtgärdsstatusuppslag Inga
Enhets-API Registrera enhet Ja
DPS-tjänst-API (registreringstillstånd) Ta bort Ja
DPS-tjänst-API (registreringstillstånd) Hämta Ja
DPS-tjänst-API (registreringstillstånd) Query Ja
DPS-tjänst-API (registreringsgrupp) Skapa eller uppdatera Ja
DPS-tjänst-API (registreringsgrupp) Ta bort Ja
DPS-tjänst-API (registreringsgrupp) Hämta Ja
DPS-tjänst-API (registreringsgrupp) Hämta attestation-mekanism Ja
DPS-tjänst-API (registreringsgrupp) Query Ja
DPS-tjänst-API (registreringsgrupp) Köra massåtgärd Ja
DPS-tjänst-API (enskild registrering) Skapa eller uppdatera Ja
DPS-tjänst-API (enskild registrering) Ta bort Ja
DPS-tjänst-API (enskild registrering) Hämta Ja
DPS-tjänst-API (enskild registrering) Hämta attestation-mekanism Ja
DPS-tjänst-API (enskild registrering) Query Ja
DPS-tjänst-API (enskild registrering) Köra massåtgärd Ja
DPS-certifikat-API Skapa eller uppdatera Inga
DPS-certifikat-API Ta bort Inga
DPS-certifikat-API Generera en verifieringskod Inga
DPS-certifikat-API Hämta Inga
DPS-certifikat-API Lista Inga
DPS-certifikat-API Verifiera certifikat Inga
API för IoT DPS-resurs Kontrollera tillgängligheten för etableringstjänstens namn Inga
API för IoT DPS-resurs Skapa eller uppdatera Inga
API för IoT DPS-resurs Ta bort Inga
API för IoT DPS-resurs Hämta Inga
API för IoT DPS-resurs Hämta åtgärdsresultat Inga
API för IoT DPS-resurs Lista efter resursgrupp Inga
API för IoT DPS-resurs Lista efter prenumeration Inga
API för IoT DPS-resurs Visa lista efter nycklar Inga
API för IoT DPS-resurs Lista nycklar för nyckelnamn Inga
API för IoT DPS-resurs Lista giltiga SKU:er Inga
API för IoT DPS-resurs Uppdatera Inga

DPS automatiserar enhetsetablering med Azure IoT Hub. Läs mer om IoT Hub.

Nästa steg

Nu har du en översikt över etablering av IoT-enheter i Azure. Nästa steg är att testa ett IoT-scenario från slutpunkt till slutpunkt.

Konfigurera IoT Hub Device Provisioning Service med Azure Portal

Skapa och etablera en simulerad enhet

Konfigurera enhet för etablering