Azure IoT デバイス管理
接続されているデバイスに関しては、リモート デバイス管理は、システム オペレーターが使用する主要な機能の 1 つです。 これにより、オペレーターでは、デバイスにローカルまたは物理的にアクセスする必要なく、デバイスのソフトウェアとパラメーターをリモートで再構成および更新できます。 Windows 10 IoT Core では、OEM は、これらの機能を提供するデバイスをすぐに構築できます。 Windows 10 IoT Core や他の Windows 10 バージョンでは、OMA DM に基づくモバイル デバイス管理 (MDM) が既に提供されています。 これは主に、SCCM や Intune などの管理ツールを用いたエンタープライズ ソリューションで使用されます。 これらのソリューションは、エンタープライズ環境に置かれたデバイスには適していますが、IoT ソリューションに見られるようなより多様な環境では課題があります。 これらの課題は、軽量のデバイス管理を必要とする IoT デバイスでも見られます。 これらのデバイスに対して、Microsoft では、Azure IoT Hub によるデバイス管理を提供しています。
Windows IoT を使用したスケーラブルなデバイス管理
家電、HVAC システムなどのデバイスで実行されている Windows IoT Core では、カスタマイズ可能で軽量なデバイス管理ソリューションが必要です。 Windows Creator エディションでは、Microsoft は Azure IoT Hub デバイス管理を有効にします。 OEM では、Windows IoT Azure DM クライアント ライブラリを使用して、Azure IoT Hub に接続されたデバイスにデバイス管理機能を追加できます。 このライブラリは、標準の Windows デバイス管理コンポーネント (構成サービス プロバイダー (CSP) にアクセスします。 OEM では、デバイス管理のために SCCM、Intune、および Azure IoT Hub をサポートするデバイスを構築し、顧客に最適な種類の DM ソリューションの選択を任せることができるようになりました。
それはどのように機能するのでしょうか。
Windows IoT Azure DM クライアント ライブラリは、ホスト アプリケーションにリンクされています。 Azure IoT Hub 接続をホスト アプリと共有します。 そのため、デバイス管理を有効にするための追加登録は不要です。 次の図は、Windows IoT Azure DM クライアント ライブラリを使用した Azure IoT Hub DM ソリューションのアーキテクチャを示しています。
Microsoft では、CommProxy.exe と SystemConfigurator.exe という 2 つのシステム コンポーネントを提供しており、OEM はこれらをデバイス イメージに含める必要があります。 これらのコンポーネントでは、CSP へのアクセスを提供します。 IoTDMClientLib では、CSP インターフェイスを Azure IoT Hub デバイス管理で使用できる機能にマップします。 また、CSP を使用しない DM 機能 (タイムゾーンの設定など) も提供します。 IoTDMClientLib は、オープン ソース コンポーネントとして提供されます。 OEM ではこれを拡張して、センサーやアクチュエータの構成など、デバイスに固有の DM 機能を追加できます。
デバイス正常性構成証明
IoT デバイスの安全な操作のためには、デバイスが信頼された、準拠した状態で起動されているかどうかを評価する必要があります。 Windows IoT デバイス正常性構成証明 (DHA) により、オペレーターはデバイスのセキュリティで保護された状態を確認し、必要に応じて Azure IoT Hub デバイス管理を使用して適切な修復アクションを実行できます。 DHA は、Windows IoT Core Azure デバイス管理クライアントの一部です。 ソリューションで DHA 機能を使用するには、Microsoft DHA サービスにアクセスする必要があります。 サービスのサブスクリプションは、Windows 10 IoT Core Services を通じて使用できます。
リファレンス
デバイス正常性構成証明のための Azure リソースのデプロイ
開始する方法
WindowsIoT Azure DM クライアント ライブラリは、GitHub で使用できます。 IoTDMClientLib プロジェクトの他に、すぐに始められるサンプルも含まれています。 詳細については、次のリンクを参照してください。
Project GitHub ページ
WindowsIoT Azure DM クライアント ライブラリは、GitHub で使用できます。
DM ダッシュボード
DM ダッシュボードは、デバイスで DM 機能をテストするアプリケーションです。 アプリは Azure IoT Hub を介してデバイスに接続します。 アプリを使用して、デバイスの DM 機能を検証できます。 IoTDMClientLib に追加されたサードパーティの DM 機能をテストするために拡張できます。
DM バックグラウンド アプリケーション
DM バックグラウンド アプリケーションは、Azure IoT Hub に接続し、Windows IoT Core でバックグラウンド アプリとして実行する必要があるアプリケーションで IoTDMClientLib を使用する方法を示しています。
トースター アプリケーション
トースター アプリケーションは、上記のデバイス管理のバックグラウンド アプリとして、デバイスの Azure DM 機能を有効にします。 このアプリはフォアグラウンドで実行され、デバイス UI を介して DM パラメーターと機能にアクセスできます。
Azure デバイス プロビジョニング サービス (DPS) にデバイスを登録する
Azure デバイス プロビジョニング サービスを使用すると、顧客は実稼働後にデバイスを自動的に関連付け、IoT Hub を構成できます。 このプロセスのために、デバイス プロビジョニング サービスでは、デバイスが動作するときにデバイスを安全に構成するのに役立つ、一意でチャレンジ可能なデバイス ID が必要になります。 デバイス プロビジョニング サービスでは、この目的のために TPM のパブリック保証キー (EKeyPub) を使用します。 デバイスを DPS に登録するには、デバイスから EKeyPub を取得する必要があります。 この手順の推奨時間は、実稼働中 (デバイスのエンド オブ ライン テスト中) です。 ただし、必要に応じて、このプロセスを実稼働後に実行することもできます。
Microsoft では、デバイス プロビジョニング サービスの登録プロセスを効率化する Limpet ツールを提供しています。 製造のセットアップに応じて、オンライン接続が可能な場合は、Limpet を使用して直接デバイス プロビジョニング サービスにデバイスを登録することができます。または、Limpet は、後でデバイス プロビジョニング サービスでデバイスをオフラインで登録するために、EKeyPub を収集することもできます。
Limpet を使用したデバイス プロビジョニング サービスの登録プロセスの詳細については、Limpet ドキュメントの「デバイス プロビジョニング サービスにデバイスを登録する」セクションを参照してください。
プロジェクト リポジトリ:Limpet プロジェクト リポジトリ
ライセンス: Limpet は MIT オープン ソース ライセンスの下でライセンスされています