読者の皆様へ: あなたのリクエストに応じて、大切な情報を見逃すことなく、ノイズを減らす機能を開発しました。お気に入りのトピックを選択して、メールとウェブで通知をもらいましょう。
マイクロソフトは先頃、Azure IoT Hub Device Provisioning Serviceの一般供用を開始すると発表した。このサービスは数ヶ月の間、顧客によるパブリックプレビューにあったが、リリースではさらなる新機能と新たな言語サポートが追加されている。
このサービスはMicrosoft AzureのIoTアーキテクチャの一部をなすもので、Microsoftの主張によれば、人の介入を必要とせず、フィールドで大量のIoTデバイスをプロビジョニング可能なゼロタッチ・ソリューションを提供するように設計されている。
発表の中では、IoT HubのシニアプログラムマネージャであるNicole Berdy氏が次のように述べている。
Device Provisioning Processはサプライチェーンの課題を念頭に置いて設計されており、数百万というデバイスのセキュアでスケーラブルなプロビジョニングに必要なインフラストラクチャを提供します。
一般的なIoTデバイスのプロビジョニング方法のひとつは、デバイスの製造時点で接続文字列を追加しておいて、デバイスの配置後すぐにメッセージを送信可能にする、というものだ。しかしながらこの方法は、セキュリティとスケールに問題を発生させる。各デバイスに対して、製造以前にユニークな接続文字列を生成して適用する必要があるためだ。
Azure IoT Hub Device Provisioning Service(DPS)のプロセスフローはこれとは違う。
まずメーカが、Azure PortalにあるDPSのインスタンスにデバイス登録情報を追加する。これ以降、製造されたデバイスが工場に設置されると、DPSサービスのエンドポイントに設定されるようになる。
デバイスがアクティベートされると、以下のプロセスが何の介入もなく実施される。
- デバイスがサービスにコンタクトし、識別のためにデバイス識別情報を送信する。
- 登録情報とキーを使用した検証が行われると、サービスはそのデバイスをIoT Hubに登録し、デバイスの初期設定情報を含む必要なツイン状態を生成する。
- IoT HubがデバイスのIDをDPSに返す。
- DPSがIoT Hub接続情報をデバイスに返す。
- デバイスがIoT Hubと直接通信して、IoT Hubから必要な状態設定を取得する。
この時点において、デバイスは正常に通信可能である。DPSはAzure IoT Hubがサポートするものと同じプロトコル、すなわちHTTP、AMQP、MQTT、Webソケット経由のAMQP、Webソケット経由のMQTTをサポートする。
開発はデバイス、サーバ側サービス側ともにSDKを通じてサポートされる。C、C#、Java、Node、Python用のSDKが用意されている。SDKはGitHubでダウンロード可能である。サービスの使用を開始するためのクイックスタート・チュートリアルも用意されている。
IoTソリューションで重要なのは、デバイスと通信がセキュアであることの保証である。これを実現するためにDPSは現在、2つのデバイス識別機構をサポートしている。
- X.509証明書交換による、デバイス製造時にインストールされた証明書の検証。
- インストールされたTPMデバイスからの、Trusted Platform Module(TPM)保証鍵(endorsement key)公開鍵部分の抽出。TPMはハードウェアを保護する専用マイクロプロセッサで、国際標準となっている。
Azure IoT Hub Device Provisioning Serviceは多数のAzure IoT Hubと接続可能で、さまざまなリージョンに存在する多数のIoT Hubにデバイスをアサインすることにより、デバイスのジオロケーションやロードバランシング、異なるAzureサブスクリプション間での複数の顧客および環境のサポートを可能にする。
このサービスは2018年2月1日から、1,000オペレーション当たり0.10ドルで提供される。完全なドキュメントは、Microsoft Azureのドキュメントサイトから入手可能だ。
この記事を評価
- 編集者評
- 編集長アクション