Microsoft Azure提供一套豐富的集成公有云服務(wù),滿足所有IoT解決方案需求。IoT中心設(shè)備預(yù)配服務(wù)(DPS)是IoT中心的幫助器服務(wù),支持零接觸、實時預(yù)配到適當(dāng)?shù)腎oT中心,不需要人為干預(yù)。使用DPS能夠以安全且可縮放的方式預(yù)配數(shù)百萬臺設(shè)備。
何時使用設(shè)備預(yù)配服務(wù)
在很多預(yù)配方案中,DPS都是將設(shè)備連接并配置到IoT中心的絕佳選擇,例如:
零接觸預(yù)配到單一IoT解決方案,無需在出廠(初始設(shè)置)時對IoT中心連接信息進(jìn)行硬編碼
跨多個中心對設(shè)備進(jìn)行負(fù)載均衡
根據(jù)銷售交易數(shù)據(jù)將設(shè)備連接到其所有者的IoT解決方案(多租戶)
根據(jù)用例將設(shè)備連接到特定的IoT解決方案(解決方案隔離)
將設(shè)備連接到具有最低延遲的IoT中心(異地分片)
根據(jù)設(shè)備中的更改重新進(jìn)行預(yù)配
滾動設(shè)備使用的密鑰以連接到IoT中心(當(dāng)不使用X.509證書進(jìn)行連接時)
幕后
上一部分中列出的所有方案都可通過相同流程采用零接觸預(yù)配的DPS來完成。預(yù)配向來所涉及的許多手動步驟通過DPS自動完成,以減少部署IoT設(shè)備的時間并降低手動錯誤的風(fēng)險。下面的部分介紹了在預(yù)配設(shè)備時在幕后發(fā)生的情況。第一個步驟是手動的,后續(xù)的所有步驟都是自動的。
設(shè)備制造商將設(shè)備注冊信息添加到Azure門戶中的注冊列表。
設(shè)備聯(lián)系工廠中設(shè)置的DPS終結(jié)點。設(shè)備將標(biāo)識信息傳遞給DPS來證明其身份。
DPS通過使用nonce質(zhì)詢(受信任的平臺模塊)或標(biāo)準(zhǔn)X.509驗證(X.509)根據(jù)注冊列表項來驗證注冊ID和密鑰,從而驗證設(shè)備的標(biāo)識。
DPS將設(shè)備注冊到IoT中心,并填充設(shè)備的所需孿生狀態(tài)。
IoT中心將設(shè)備ID信息返回給DPS。
DPS將IoT中心連接信息返回給設(shè)備。設(shè)備現(xiàn)在可以開始將數(shù)據(jù)直接發(fā)送到IoT中心。
設(shè)備連接到IoT中心。
設(shè)備從其在IoT中心中的設(shè)備孿生獲取所需的狀態(tài)。
預(yù)配過程
在設(shè)備的部署過程中有兩個不同的步驟,其中DPS部分可以獨立完成:
制造步驟,其中設(shè)備在出廠時創(chuàng)建和準(zhǔn)備,以及
云設(shè)置步驟,其中將設(shè)備預(yù)配服務(wù)配置為自動預(yù)配。
這兩個步驟都與現(xiàn)有的制造和部署過程無縫銜接。DPS甚至簡化了一些部署過程,這些過程需要手動操作來獲取設(shè)備上的連接信息。
制造步驟
此步驟有關(guān)制造線上發(fā)生的情況。此步驟中涉及的角色包括硅設(shè)計者、硅制造商、集成商和/或設(shè)備的最終制造商。此步驟關(guān)于創(chuàng)建硬件本身。
DPS不會在制造過程中引入新的步驟;而是與在設(shè)備上安裝初始軟件和(理想情況下)HSM的現(xiàn)有步驟相關(guān)。此步驟中不創(chuàng)建設(shè)備ID,而是使用預(yù)配服務(wù)信息對設(shè)備進(jìn)行編程,設(shè)備開啟時,將能夠調(diào)用預(yù)配服務(wù)來獲取其連接信息/IoT解決方案分配。
同樣在此步驟中,制造商向設(shè)備部署人員/操作員提供識別性密鑰信息。可以通過簡單方法提供該信息,例如,確認(rèn)所有設(shè)備都有基于設(shè)備部署人員/操作員提供的簽名證書生成的X.509證書;也可以通過復(fù)雜方法提供該信息,例如,從每個TPM設(shè)備提取TPM認(rèn)可密鑰的公共部分。這些服務(wù)如今由眾多硅制造商提供。
云設(shè)置步驟
此步驟有關(guān)配置云實現(xiàn)正確的自動預(yù)配。云設(shè)置步驟中通常涉及兩種類型的用戶:知道設(shè)備需要如何初始設(shè)置的用戶(設(shè)備操作員),以及知道如何在IoT中心之間拆分設(shè)備的人員(解決方案操作員)。
必須對預(yù)配進(jìn)行一次性初始設(shè)置,這通常由解決方案操作員來執(zhí)行。配置預(yù)配服務(wù)后,不需要修改,除非用例發(fā)生更改。
將服務(wù)配置為自動預(yù)配后,必須使其準(zhǔn)備好注冊設(shè)備。此步驟由設(shè)備操作員完成,設(shè)備操作員知道設(shè)備的所需配置,并且負(fù)責(zé)確保預(yù)配服務(wù)在尋找其IoT中心時可以正確地證明設(shè)備的標(biāo)識。設(shè)備操作員從制造商處獲取識別性密鑰信息,并將其添加到注冊列表。添加新條目或現(xiàn)有條目更新為關(guān)于設(shè)備的最新信息后,隨之會更新注冊列表。
注冊和預(yù)配
預(yù)配意味著各種含義,具體取決于使用術(shù)語的行業(yè)。在將IoT設(shè)備預(yù)配至其云解決方案的情況中,預(yù)配由兩部分構(gòu)成:
第一部分是通過注冊設(shè)備來建立設(shè)備和IoT解決方案之間的初始連接。
第二部分是根據(jù)其注冊到的解決方案的具體要求將適當(dāng)?shù)呐渲脩?yīng)用于設(shè)備。
只有這兩個步驟都完成后,才能說該設(shè)備已完全預(yù)配。某些云服務(wù)僅提供預(yù)配過程的第一步,即將設(shè)備注冊到IoT解決方案終結(jié)點,但不提供初始配置。DPS自動執(zhí)行這兩個步驟,為設(shè)備提供無縫的預(yù)配體驗。
設(shè)備預(yù)配服務(wù)的功能
DPS具有許多功能,非常適合用于預(yù)配設(shè)備。
對基于X.509和TPM的標(biāo)識的安全證明支持。
注冊列表,其中包含可能在某一時刻注冊的設(shè)備/設(shè)備組的完整記錄。注冊列表包含有關(guān)設(shè)備注冊后所需的設(shè)備配置信息,并可隨時更新。
多個分配策略,用于根據(jù)自己的需要控制DPS向IoT中心分配設(shè)備的方式:通過注冊列表控制最小延遲、平均加權(quán)分布(默認(rèn)值)和靜態(tài)配置。延遲是使用與流量管理器相同的方法確定的。
監(jiān)視和診斷日志記錄,用于確保一切都正常工作。
多中心支持,允許DPS將設(shè)備分配給多個IoT中心。DPS可以跨多個Azure訂閱來與中心通信。
跨區(qū)域支持使DPS能夠?qū)⒃O(shè)備分配到其他區(qū)域的IoT中心。
靜態(tài)數(shù)據(jù)加密允許使用256位AES加密(可用的最強(qiáng)大的分組加密法之一,并且符合FIPS 140-2)透明地加密和解密DPS中的數(shù)據(jù)。
可以通過查看DPS術(shù)語主題以及同一部分的其他概念性主題來詳細(xì)了解設(shè)備預(yù)配中涉及的概念和功能。
跨平臺支持
與所有Azure IoT服務(wù)一樣,DPS可以在各種操作系統(tǒng)上跨平臺運行。Azure采用各種語言提供了開放源SDK,以便于連接設(shè)備并管理服務(wù)。DPS支持使用以下協(xié)議來連接設(shè)備:
HTTPS
AMQP
基于Web套接字的AMQP
MQTT
基于Web套接字的MQTT
DPS僅支持使用HTTPS連接來執(zhí)行服務(wù)操作。
區(qū)域
DPS已在許多區(qū)域中推出。Azure區(qū)域頁面中提供了所有服務(wù)的現(xiàn)有區(qū)域和新宣布推出區(qū)域的更新列表??梢栽贏zure狀態(tài)頁面上檢查設(shè)備預(yù)配服務(wù)的可用性。
備注
DPS是全局性的,而不局限于某個位置。但是,必須指定與DPS配置文件關(guān)聯(lián)的元數(shù)據(jù)將駐留在其中一個區(qū)域。
可用性
DPS的服務(wù)級別協(xié)議為99.9%。具體請閱讀SLA。完整Azure SLA說明了Azure作為整體的保證可用性。
配額
每個Azure訂閱附帶默認(rèn)的配額限制,這些限制可能影響IoT解決方案的范圍。每個訂閱的當(dāng)前限制是每訂閱10個設(shè)備預(yù)配服務(wù)。
下表列出了適用于Azure IoT中心設(shè)備預(yù)配服務(wù)資源的限制。
備注
若要增加預(yù)配服務(wù)上的登記和注冊數(shù)量,請聯(lián)系Microsoft支持部門。
備注
增加CA的最大數(shù)目不受支持。
超過以下配額時,設(shè)備預(yù)配服務(wù)將限制請求。
有關(guān)配額限制的更多詳細(xì)信息,請參閱:
Azure訂閱服務(wù)限制
相關(guān)Azure組件
DPS通過Azure IoT中心將設(shè)備預(yù)配自動化。了解有關(guān)IoT中心的詳細(xì)信息。