Mi az az Azure IoT Hub Device Provisioning Service?
Az IoT Hub Device Provisioning Service (DPS) az IoT Hub segédszolgáltatása, amely emberi beavatkozás nélkül teszi lehetővé a megfelelő IoT Hub érintés nélküli, igény szerinti kiépítését. A DPS több millió eszköz biztonságos és méretezhető kiépítését teszi lehetővé. A kiépítésben hagyományosan részt vevő manuális lépések nagy része automatizált a DPS-vel, hogy csökkentse az IoT-eszközök üzembe helyezésének idejét, és csökkentse a manuális hibák kockázatát.
A Device Provisioning Service működése
Az alábbi ábra azt ismerteti, hogy mi történik a színfalak mögött egy eszköz DPS-vel való kiépítéséhez.
Az eszközkiépítési folyamat megkezdése előtt két manuális lépést kell előkészíteni:
- Az eszközoldalon az eszköz gyártója előkészíti az eszközt a kiépítésre úgy, hogy előre konfigurálja a hitelesítési hitelesítő adataival, valamint a hozzárendelt Device Provisioning Service-azonosítóval és -végponttal.
- A felhőoldalon Ön vagy az eszköz gyártója egyéni regisztrációkkal és regisztrációs csoportokkal készíti elő a Device Provisioning Service-példányt, amelyek azonosítják az érvényes eszközöket, és meghatározzák azok üzembe helyezésének módját.
Miután az eszköz és a felhő be van állítva a kiépítéshez, a következő lépések automatikusan elindulnak, amint az eszköz első alkalommal aktiválódik:
- Az eszköz először bekapcsol, majd csatlakozik a DPS-végponthoz, és bemutatja a hitelesítési hitelesítő adatokat.
- A DPS-példány ellenőrzi az eszköz identitását a regisztrációs listán. Az eszközidentitás ellenőrzése után a DPS hozzárendeli az eszközt egy IoT Hubhoz, és regisztrálja azt a központban.
- A DPS-példány megkapja az eszközazonosítót és a regisztrációs adatokat a hozzárendelt központtól, és átadja ezeket az információkat az eszköznek.
- Az eszköz a regisztrációs adataival közvetlenül csatlakozik a hozzárendelt IoT Hubhoz, és hitelesíti azt.
- Az eszköz és az IoT Hub közvetlenül kommunikál. A DPS-példánynak nincs további közvetítői szerepköre, kivéve, ha az eszköznek újra kell létrehoznia.
Mikor érdemes használni a Device Provisioning Service-t?
Számos kiépítési forgatókönyv létezik, amelyekben a DPS kiváló választás az eszközök IoT Hubhoz való csatlakoztatásához és konfigurálásához, például:
- Érintésmentes kiépítés egyetlen IoT-megoldásra, az IoT Hub-kapcsolati adatok gyári kódolása nélkül (kezdeti telepítés)
- Terheléselosztási eszközök több központban
- Eszközök csatlakoztatása a tulajdonos IoT-megoldásához az értékesítési tranzakciók adatai alapján (több-bérlős)
- Eszközök csatlakoztatása egy adott IoT-megoldáshoz a használati esettől függően (megoldáselkülönítés)
- Az eszközök legkisebb mértékű késleltetéssel rendelkező IoT Hubhoz való csatlakoztatása (földrajzi horizontális skálázás)
- Ismételt regisztráció az eszközt érintő változás alapján
- Az eszköz által az IoT Hubhoz való csatlakozáshoz használt kulcsok váltása (nem X.509-tanúsítványokkal történő csatlakozás esetében)
A DPS jelenleg nem támogatja a beágyazott IoT Edge-eszközök (szülő-gyermek hierarchiák) kiépítését.
A regisztráció folyamata
A DPS-sel történő eszközkiépítés előtt két lépésre van szükség:
- A gyártási lépés, amely során az eszközt előállítják és előkészítik a gyárban, valamint
- A felhőalapú telepítési lépés, amelynek keretében a Device Provisioning Service-t automatikus üzembe helyezésre konfigurálják.
Mindkét lépés beépíthető a meglévő gyártási és üzembehelyezési folyamatokba. A DPS néhány olyan üzembehelyezési folyamatot is leegyszerűsít, amelyek manuális munkát igényelnek a kapcsolati információk eszközre való lekéréséhez.
Gyártási lépés
Ez a lépés a gyártósoron történő műveletekről szól. Az ebben a lépésben részt vevő szerepkörök közé tartozik a lapkatervező, a lapkagyártó, az integrátor és/vagy az eszköz véggyártója. Ez a lépés magának a hardvernek a gyártásáról szól.
A DPS nem vezet be új lépést a gyártási folyamatba; hanem a meglévő lépéshez, amely telepíti a kezdeti szoftvert, és (ideális esetben) a hardveres biztonsági modult (HSM) az eszközön. Ahelyett, hogy ebben a lépésben létrehoz egy eszközazonosítót, az eszköz a kiépítési szolgáltatás adataival van beprogramozva, lehetővé téve, hogy meghívja a kiépítési szolgáltatást a kapcsolati adatok/IoT-megoldás hozzárendelésének lekéréséhez, amikor be van kapcsolva.
Szintén ebben a lépésben látja el a gyártó az eszköz telepítőjét/kezelőjét azonosítókulcs-adatokkal. Ezen adatok átadása lehet egyszerű, mint például annak megerősítése, hogy mindegyik eszköz a telepítője/kezelője által biztosított aláíró tanúsítványból létrehozott X.509-tanúsítvánnyal rendelkezik, illetve bonyolult, mint például a TPM-ellenőrzőkulcs nyilvános részének kinyerése mindegyik TPM-eszközből. Számos szilíciumgyártó kínálja ezeket a szolgáltatásokat.
Felhőalapú telepítési lépés
Ennek a lépésnek a lényege a felhő megfelelő automatikus üzembe helyezésre való konfigurálása. A felhőalapú telepítési lépésben általában kétféle felhasználó vesz részt: az, aki tudja, hogyan kell elvégezni az eszközök kezdeti beállítását (eszközkezelő), és az, aki tudja, hogyan kell elosztani az eszközöket az IoT Hubok között (megoldáskezelő).
A kiépítési szolgáltatás egyszeri kezdeti beállítása, amelyet a megoldás operátora általában kezel. A kiépítési szolgáltatás konfigurálása után nem kell módosítani, hacsak a használati eset nem változik.
Miután a szolgáltatás automatikus kiépítésre van konfigurálva, fel kell készülnie az eszközök regisztrálására. Ezt a lépést az eszköz üzemeltetője végzi, aki ismeri az eszközök kívánt konfigurációját, és gondoskodik arról, hogy a kiépítési szolgáltatás megfelelően igazolja az eszköz identitását. Az eszközkezelő hozzáadja a gyártótól kapott azonosítókulcs-adatokat a regisztrációs listához. A regisztrációs lista későbbi frissítése lehetséges, ha új bejegyzéseket adnak hozzá, vagy a létező bejegyzéseket frissítik az eszközökre vonatkozó legfrissebb adatokkal.
Regisztráció és üzembe helyezés
Az üzembe helyezés különféle jelentéseket takarhat attól függően, mely iparágban használják. Az IoT-eszközök felhőalapú megoldáson való üzembe helyezésének kontextusában az üzembe helyezés kétrészes folyamat:
- Az első lépés a kezdeti kapcsolat létesítése az eszköz és az IoT-megoldás között az eszköz regisztrálása révén.
- A második lépés a megfelelő konfiguráció alkalmazása az eszközre annak a megoldásnak az egyéni követelményei alapján, amelyre az eszközt regisztrálták.
Ha mindkét lépés befejeződött, az eszköz teljesen üzembe helyezettnek tekinthető. Egyes felhőszolgáltatások csak a kiépítési folyamat első lépését biztosítják, az eszközöket regisztrálják az IoT-megoldás végpontjára, de nem adják meg a kezdeti konfigurációt. A DPS mindkét lépést automatizálja, hogy zökkenőmentes üzembe helyezési élményt biztosítson az eszköz számára.
A Device Provisioning Service funkciói
A DPS számos funkcióval rendelkezik, így ideális az eszközök kiépítéséhez.
- Biztonságos állapotigazolás X.509- és a TPM-alapú identitásokhoz is.
- Az esetleg regisztráló eszközök/eszközcsoportok teljes rekordját tartalmazó regisztrációs lista. A regisztrációs lista tartalmazza az eszköz kívánt konfigurációjára vonatkozó adatokat, amint az regisztrál, és bármikor frissíthető.
- Több foglalási szabályzattal szabályozható, hogy a DPS hogyan rendel eszközöket az IoT Hubokhoz a forgatókönyvek támogatása érdekében: a legalacsonyabb késés, az egyenletesen súlyozott elosztás (alapértelmezett) és a statikus konfiguráció. A késés a Traffic Managerrel azonos módszerrel van meghatározva. Az egyéni kiosztás, amely lehetővé teszi saját foglalási szabályzatok implementálását az Azure Functionsben üzemeltetett webhookokon keresztül, szintén támogatott.
- A Naplózás monitorozása és hibakeresése segít biztosítani, hogy minden jól működjön.
- A több hubos támogatás lehetővé teszi, hogy a DPS több IoT Hubhoz rendeljen eszközöket. A DPS több Azure-előfizetésben is kommunikálhat a központokkal.
- A régiók közötti támogatás lehetővé teszi, hogy a DPS más régiókban lévő IoT Hubokhoz rendeljen eszközöket.
- A inaktív adatok titkosítása lehetővé teszi, hogy a DPS-ben lévő adatok transzparens módon titkosíthatók és visszafejthetők legyenek 256 bites AES-titkosítással, amely az egyik legerősebb blokktitkosítás, és a FIPS 140-2-kompatibilis.
Az eszközkiépítéssel kapcsolatos fogalmakkal és funkciókkal kapcsolatos további információkért tekintse át a DPS terminológiai cikkét, valamint az ugyanabban a szakaszban található többi fogalmi cikket.
Többplatformos támogatás
Az Összes Azure IoT-szolgáltatáshoz hasonlóan a DPS is platformfüggetlen a különböző operációs rendszerekkel. Az Azure különböző nyelveken kínál nyílt forráskódú SDK-kat az eszközök csatlakoztatásának és a szolgáltatás felügyeletének megkönnyítése érdekében. A DPS az alábbi protokollokat támogatja az eszközök csatlakoztatásához:
- HTTPS
- AMQP
- AMQP WebSocketen keresztül
- MQTT
- MQTT WebSocketen keresztül
A DPS csak a szolgáltatásműveletekhez támogatja a HTTPS-kapcsolatokat.
Régiók
A DPS számos régióban elérhető. Az összes szolgáltatás támogatott régióinak listája elérhető az Azure-régiókban. A Device Provisioning Service elérhetőségét az Azure állapota lapon tekintheti meg.
A rugalmasság és a megbízhatóság érdekében javasoljuk, hogy a rendelkezésre állási zónákat támogató régiók egyikében telepítsen.
Adattárolási szempont
A Device Provisioning Service tárolja az ügyféladatokat. Alapértelmezés szerint az ügyféladatok replikálva lesznek egy másodlagos régióba a vészhelyreállítási forgatókönyvek támogatásához. Délkelet-Ázsia és Dél-Brazília üzemelő példányai esetében az ügyfelek dönthetnek úgy, hogy csak az adott régióban őrzik meg adataikat a vészhelyreállítás letiltásával. További információ: Régiók közötti replikáció az Azure-ban.
A DPS ugyanazt az eszközkiépítési végpontot használja az összes kiépítési szolgáltatáspéldányhoz, és elvégzi a forgalom terheléselosztását a legközelebbi elérhető szolgáltatásvégponton. Ennek eredményeképpen a hitelesítési titkos kulcsok ideiglenesen átkerülhetnek azon a régión kívülre, ahol a DPS-példányt eredetileg létrehozták. Az eszköz csatlakoztatása után azonban az eszköz adatai közvetlenül a DPS-példány eredeti régiójába kerülnek. Annak érdekében, hogy az adatok ne hagyják el az eredeti vagy a másodlagos régiót, használjon privát végpontot. A privát végpontok beállításának megismeréséhez tekintse meg a DPS virtuális hálózatokhoz való támogatását.
Kvóták és korlátok
Minden Azure-előfizetésre alapértelmezett kvótakorlátozások vonatkoznak, és ezek a korlátozások hatással lehetnek az IoT-megoldás hatókörére. Az aktuális korlát előfizetésenként 10 Device Provisioning Service-példány.
További információ a kvótakorlátokról: Azure Subscription Service Limits.
Az alábbi táblázat az Azure IoT Hub Device Provisioning Service-erőforrásokra vonatkozó korlátozásokat sorolja fel.
Erőforrás | Korlát | Beállítható? |
---|---|---|
Eszközkiépítési szolgáltatások maximális száma Azure-előfizetésenként | 10 | Nem |
Regisztrációk maximális száma | 1,000,000 | Nem |
Egyéni regisztrációk maximális száma | 1,000,000 | Nem |
Regisztrációs csoportok maximális száma (X.509 tanúsítvány) | 100 | Nem |
Regisztrációs csoportok maximális száma (szimmetrikus kulcs) | 100 | Nem |
A hitelesítésszolgáltatók maximális száma | 25 | Nem |
Csatolt IoT Hubok maximális száma | 50 | Nem |
Az üzenet maximális mérete | 96 KB | Nem |
Tipp.
Ha a szimmetrikus kulcsregisztrációs csoportokra vonatkozó korlát blokkolási probléma, javasoljuk, hogy kerülő megoldásként egyéni regisztrációkat használjon.
A Device Provisioning Service a következő díjkorlátokkal rendelkezik.
Arány | Egységenkénti érték | Beállítható? |
---|---|---|
Üzemeltetés | 1000/perc/szolgáltatás | Nem |
Eszközregisztrációk | 1000/perc/szolgáltatás | Nem |
Eszköz lekérdezési művelete | 5/10 mp/eszköz | Nem |
Számlázható szolgáltatásműveletek és díjszabás
A DPS minden API-hívása egy műveletként számlázható. Ez magában foglalja az összes szolgáltatás API-t és az eszközregisztrációs API-t.
Az alábbi táblázatok az egyes DPS-szolgáltatás API-műveletek aktuális számlázható állapotát mutatják. A DPS díjszabásával kapcsolatos további információkért válassza az Azure IoT Hub díjszabási oldalának tetején található Díjszabás táblát. Ezután válassza az IoT Hub Device Provisioning Service lapot, valamint a szolgáltatás pénznemét és régióját.
API | Művelet | Számlázható? |
---|---|---|
Eszköz API | Eszközregisztrációs állapot keresése | Nem |
Eszköz API | Művelet állapotának keresése | Nem |
Eszköz API | Eszköz regisztrálása | Igen |
DPS Service API (regisztrációs állapot) | Törlés | Igen |
DPS Service API (regisztrációs állapot) | Get | Igen |
DPS Service API (regisztrációs állapot) | Lekérdezés | Igen |
DPS Service API (regisztrációs csoport) | Létrehozás vagy frissítés | Igen |
DPS Service API (regisztrációs csoport) | Törlés | Igen |
DPS Service API (regisztrációs csoport) | Get | Igen |
DPS Service API (regisztrációs csoport) | Igazolási mechanizmus lekérése | Igen |
DPS Service API (regisztrációs csoport) | Lekérdezés | Igen |
DPS Service API (regisztrációs csoport) | Tömeges művelet futtatása | Igen |
DPS Service API (egyéni regisztráció) | Létrehozás vagy frissítés | Igen |
DPS Service API (egyéni regisztráció) | Törlés | Igen |
DPS Service API (egyéni regisztráció) | Get | Igen |
DPS Service API (egyéni regisztráció) | Igazolási mechanizmus lekérése | Igen |
DPS Service API (egyéni regisztráció) | Lekérdezés | Igen |
DPS Service API (egyéni regisztráció) | Tömeges művelet futtatása | Igen |
DPS-tanúsítvány API | Létrehozás vagy frissítés | Nem |
DPS-tanúsítvány API | Törlés | Nem |
DPS-tanúsítvány API | Ellenőrző kód létrehozása | Nem |
DPS-tanúsítvány API | Get | Nem |
DPS-tanúsítvány API | Lista | Nem |
DPS-tanúsítvány API | Tanúsítvány ellenőrzése | Nem |
IoT DPS Resource API | A kiépítési szolgáltatás nevének rendelkezésre állásának ellenőrzése | Nem |
IoT DPS Resource API | Létrehozás vagy frissítés | Nem |
IoT DPS Resource API | Törlés | Nem |
IoT DPS Resource API | Get | Nem |
IoT DPS Resource API | Művelet eredményének lekérése | Nem |
IoT DPS Resource API | Lista erőforráscsoport szerint | Nem |
IoT DPS Resource API | Listázás előfizetés szerint | Nem |
IoT DPS Resource API | Lista kulcsok szerint | Nem |
IoT DPS Resource API | Kulcsnév listakulcsai | Nem |
IoT DPS Resource API | Érvényes termékváltozatok listázása | Nem |
IoT DPS Resource API | Frissítés | Nem |
Kapcsolódó Azure-összetevők
A DPS automatizálja az eszközök kiépítését az Azure IoT Hubbal. További információk az IoT Hubról.
Feljegyzés
A DPS jelenleg nem támogatja a beágyazott peremeszközök (szülő-gyermek hierarchiák) kiépítését.
Az IoT Central-alkalmazások belső DPS-példányt használnak az eszközkapcsolatok kezeléséhez. További információ: Hogyan csatlakoznak az eszközök az IoT Centralhoz.
Következő lépések
Mostanra nagyjából átlátja az IoT-eszközök Azure-ban való kiépítését. A következő lépés egy teljes körű IoT-forgatókönyv kipróbálása.
Az IoT Hub Device Provisioning Service beállítása az Azure Portallal