「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
IoTデバイスの登録・認証・管理を行い、
IoTデバイスとバックエンドの双方向の通信を仲介するマネージド サービス
双方向通信の仲介 †
デバイス認証 †
デバイス認証によるセキュリティ強化
メッセージ ハブ †
メッセージング パターン †
複数のメッセージング パターンをサポート
- ファイルのアップロード
- IoTデバイス制御の要求/応答メソッド
ソリューション構築 †
接続 †
- ほぼすべてのIoTデバイス
- 何百万ものIoTデバイス
- 大規模なデバイス・プロビジョニング(DPS)
監視 †
イベントを追跡により、ソリューションの正常性維持に役立つ。
- IoTデバイスの作成
- IoTデバイスの障害
- IoTデバイスの接続
アプリケーション開発 †
Azure IoT Hub SDKを使用して開発。
- Azure IoT Hub Device SDK
デバイス側のアプリケーションの構築を容易にする。
- Azure IoT Hub Service SDK
クラウド・サービス側のアプリケーションの構築を容易にする。
- Azure Provisioning SDK
DPSを使用してデバイスをIoT Hub にプロビジョニング
詳細 †
機能 †
メッセージ ルーティング †
- コードのないルーティング ルール
- HubがIoTデバイスのテレメトリ(稼働データ)を送信する場所を制御
- 複数のエンドポイントにメッセージをルーティング
IoTデバイスの構成と制御 †
- IoTデバイス毎、またはIoTデバイス共通特性に基づいて、IoTデバイスの状態を設定。
- IoTデバイスのデバイス メタデータと状態情報を保存、同期、照会。
- IoTデバイスで報告された状態の変化に自動的に対応。
スケール調整 †
毎秒数百万のイベントに対応するようにスケーリングします。
- 数百万のIoTデバイスの同時接続
- および IoT ワークロードをサポート
クォータと制限 †
DoS攻撃からの保護するため、サブスクリプションごとの IoT ハブの数を制限
https://docs.microsoft.com/ja-jp/azure/azure-subscription-service-limits
セキュリティ †
参照アーキテクチャに準拠
- セキュリティ保護された通信チャネルを使用
- IoTデバイスを自動的にプロビジョニング
- IoTデバイス毎の認証(安全に接続・管理)
- IoTデバイスのアクセス制御、接続制御
認証・認可 †
- デバイス毎のセキュリティ資格情報でアクセス制御
・対称キー
・自己署名証明書
・CA署名証明書
- ヒトやサービスからIoT Hubにアクセスする場合
共有アクセスポリシーでアクセス制御
- 共有アクセスポリシーとデバイス毎のセキュリティ資格情報の違い
- 共有アクセスポリシー
- ヒトやサービスが使用する。
- ポリシー名とアクセス許可を登録する。
- デバイス毎のセキュリティ資格情報
- デバイスが使用する。
- デバイスIDのみ登録(アクセス許可は登録しない)。
- 共有アクセスポリシーと対称キーはSASトークンに変換する。
- SDKを使わずに、接続するにはSASトークンを渡す必要がある。
- SASトークンは、以下をSHA256で署名して生成する。
- 共有アクセスポリシーの場合
・共有アクセスポリシー名
・共有アクセスキー
・リソースURI
・有効期限
- 対称キーからの場合
・対称キー
・リソースURI
・有効期限
プロビジョニング †
IoT Hub Device Provisioning Service
IoTデバイスの接続 †
IoT Hub と対話するアプリケーションを作成できる。
プラットフォーム †
プログラミング言語 †
Endpoint †
Device Endpoint †
デバイス側
- D2C send Endpoint
デバイスから送信
- C2D queue Endpoint
デバイスへ送信
Service Endpoint †
クラウド・サービス側(バックエンド)
- D2C receive Endpoint
- C2D send & feedback Endpoint
- Twins Endpoint
- Methods Endpoint
- Custom Endpoint
バックエンド †
PoC等
ストリーミング処理の定番
Azure Event Hubsにプッシュして、他サービスでプル
イベント駆動アプリケーションを対象としたメッセージング
- テレメトリ以外のデータ
- 多様なエンドポイントをサポート
- イベント発生順は保証されない。
従来のエンタープライズ・アプリケーションを対象としたメッセージング
補足 †
Device Provisioning Service †
- 適切な IoT ハブへのゼロタッチの JITプロビジョニングを
人の介入を必要とせずに実現する、IoT Hub のヘルパー サービス
- シンプルな「Plug & Play」のプロビジョニング
参考 †
matsujirushi’s blog †
YouTube? †
microsoft.com †
Microsoft Azure †
Microsoft Docs †
Learn | Microsoft Docs †
Tags: :クラウド, :IoT, :Azure