Submit Search
イマドキ!ユースケース別に見るAWS IoT への接続パターン
1 like
2,490 views
S
seiichi arai
Developers.IO 2019 の発表資料
Engineering
Read more
1 of 117
Download now
Downloaded 15 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Most read
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Most read
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Most read
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
More Related Content
PDF
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
Amazon Web Services Japan
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
PDF
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
Amazon Web Services Japan
PDF
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
Amazon Web Services Japan
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
PPTX
Dockerからcontainerdへの移行
Akihiro Suda
PDF
DockerとPodmanの比較
Akihiro Suda
PDF
Dockerからcontainerdへの移行
Kohei Tokunaga
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
Amazon Web Services Japan
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
Amazon Web Services Japan
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
Amazon Web Services Japan
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
Dockerからcontainerdへの移行
Akihiro Suda
DockerとPodmanの比較
Akihiro Suda
Dockerからcontainerdへの移行
Kohei Tokunaga
What's hot
(20)
PDF
Dockerを支える技術
Etsuji Nakai
PDF
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
NTT DATA Technology & Innovation
PPTX
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
PDF
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
PDF
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
Amazon Web Services Japan
PDF
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
都元ダイスケ Miyamoto
PDF
CloudFormation/SAMのススメ
Eiji KOMINAMI
PDF
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
PDF
20200630 AWS Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
PPTX
AWSで作る分析基盤
Yu Otsubo
PDF
AWS Black Belt Online Seminar 2017 Amazon Kinesis
Amazon Web Services Japan
PDF
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
Amazon Web Services Japan
PPTX
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
PDF
Docker Compose 徹底解説
Masahito Zembutsu
PDF
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
PDF
AWSのログ管理ベストプラクティス
Akihiro Kuwano
PPTX
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
PDF
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
PDF
20190522 AWS Black Belt Online Seminar AWS Step Functions
Amazon Web Services Japan
PDF
インフラCICDの勘所
Toru Makabe
Dockerを支える技術
Etsuji Nakai
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
NTT DATA Technology & Innovation
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
Amazon Web Services Japan
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
都元ダイスケ Miyamoto
CloudFormation/SAMのススメ
Eiji KOMINAMI
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
20200630 AWS Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
AWSで作る分析基盤
Yu Otsubo
AWS Black Belt Online Seminar 2017 Amazon Kinesis
Amazon Web Services Japan
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
Amazon Web Services Japan
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
Docker Compose 徹底解説
Masahito Zembutsu
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
AWSのログ管理ベストプラクティス
Akihiro Kuwano
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
20190522 AWS Black Belt Online Seminar AWS Step Functions
Amazon Web Services Japan
インフラCICDの勘所
Toru Makabe
Ad
Similar to イマドキ!ユースケース別に見るAWS IoT への接続パターン
(20)
PDF
Internet of Toilet / Jaws festa 2016
Godai Nakamura
PDF
Amazon FreeRTOSを用いた量産向けIoTマイコンデバイス開発プロトタイピング
Amazon Web Services Japan
PDF
デバイスの運用で使える AWS IoTサービスの紹介
Amazon Web Services Japan
PDF
IoT@Loft #4 - IoT製品の量産化および運用を効率化させるためのAWS サービスの使い方
Amazon Web Services Japan
PDF
AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)
Amazon Web Services Japan
PDF
AWS初心者向けWebinar AWSではじめよう、IoTシステム構築(リピート開催用)
Amazon Web Services Japan
PDF
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
Amazon Web Services Japan
PDF
01_2021年上半期 AWS IoT サービスアップデート
Amazon Web Services Japan
PDF
AWS IoTにおけるデバイスへの認証情報のプロビジョニング
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar 2017 IoT向け最新アーキテクチャパターン
Amazon Web Services Japan
PPTX
AWS が提供する IoT ソリューションと ITS における活用
Amazon Web Services Japan
PDF
EV_iot-deepdive-awAWS IoT for Professionals Series .pdf
devpcb1
PPTX
エッジコンピューティングで実現できる活用シナリオ3選
Jun Ichikawa
PDF
AWS re:Invent 2019 Recap IoT アップデート
Amazon Web Services Japan
PPTX
AlexaのSmart HomeをAWSで作る方法
Jun Ichikawa
PDF
どこでも使えるIoTを目指して 〜さくらインターネットのIoTへの取り組み〜
法林浩之
PDF
IoT@Loft - IoT開発を成功させるためのPoCの進め方と実践
Amazon Web Services Japan
PDF
AWS IoT サービスこの1年の進化
Jun Ichikawa
PDF
20200219-iot@loft#8_security_of_smarthome
Amazon Web Services Japan
PDF
AWS の IoT 向けサービス
Amazon Web Services Japan
Internet of Toilet / Jaws festa 2016
Godai Nakamura
Amazon FreeRTOSを用いた量産向けIoTマイコンデバイス開発プロトタイピング
Amazon Web Services Japan
デバイスの運用で使える AWS IoTサービスの紹介
Amazon Web Services Japan
IoT@Loft #4 - IoT製品の量産化および運用を効率化させるためのAWS サービスの使い方
Amazon Web Services Japan
AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)
Amazon Web Services Japan
AWS初心者向けWebinar AWSではじめよう、IoTシステム構築(リピート開催用)
Amazon Web Services Japan
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
Amazon Web Services Japan
01_2021年上半期 AWS IoT サービスアップデート
Amazon Web Services Japan
AWS IoTにおけるデバイスへの認証情報のプロビジョニング
Amazon Web Services Japan
AWS Black Belt Online Seminar 2017 IoT向け最新アーキテクチャパターン
Amazon Web Services Japan
AWS が提供する IoT ソリューションと ITS における活用
Amazon Web Services Japan
EV_iot-deepdive-awAWS IoT for Professionals Series .pdf
devpcb1
エッジコンピューティングで実現できる活用シナリオ3選
Jun Ichikawa
AWS re:Invent 2019 Recap IoT アップデート
Amazon Web Services Japan
AlexaのSmart HomeをAWSで作る方法
Jun Ichikawa
どこでも使えるIoTを目指して 〜さくらインターネットのIoTへの取り組み〜
法林浩之
IoT@Loft - IoT開発を成功させるためのPoCの進め方と実践
Amazon Web Services Japan
AWS IoT サービスこの1年の進化
Jun Ichikawa
20200219-iot@loft#8_security_of_smarthome
Amazon Web Services Japan
AWS の IoT 向けサービス
Amazon Web Services Japan
Ad
イマドキ!ユースケース別に見るAWS IoT への接続パターン
1.
イマドキ!ユースケース別に見る AWS IoT への接続パターン CX事業本部
新井成一
2.
2自己紹介 新井 成一(あらい せいいち) •
社歴 (1年半) • 2018年4月にサーバーレス開発部にJoin • これまで携わった案件 • APIのバックエンド開発: 2件 • IoTのバックエンド開発: 6件 • 好きなAWSサービス • Amazon API Gateway, AWS IoT など
3.
3 IoT案件開始するとき、 いつも思うことがあります
4.
4 「AWS IoT使いたいんですが、 どうやって接続するんですか?」
5.
5 答えるのが難しい…
6.
6IoT案件でよく思うこと Q「AWS IoTにどうやって接続 するのか?」 開発者 (クラウド側担当) お客様 接続方法っていろいろな パターンがあるからな…
7.
7IoT案件でよく思うこと とりあえずつ ないでみたい MQTTで位置情 報収集と遠隔操 作がしたい Q「AWS IoTにどうやって接続 するのか?」 開発者 (クラウド側担当) お客様 接続方法っていろいろな パターンがあるからな…
8.
8IoT案件でよく思うこと A「ユースケースがわからない と答えられません!!」 とりあえずつ ないでみたい MQTTで位置情 報収集と遠隔操 作がしたい Q「AWS IoTにどうやって接続 するのか?」 開発者 (クラウド側担当) お客様 接続方法っていろいろな パターンがあるからな…
9.
9IoT案件でよく思うこと A「ユースケースがわからない と答えられません!!」 とりあえずつ ないでみたい MQTTで位置情 報収集と遠隔操 作がしたい Q「AWS IoTにどうやって接続 するのか?」 開発者 (クラウド側担当) お客様 接続方法っていろいろな パターンがあるからな…
10.
10 ユースケース別に 接続パターンをまとめてみました
11.
11今回する/しない話 今回する話 • AWS IoTの仕様の話 •
どこにつなげれるのか? (WHERE) • どうやってつなぐのか? (HOW) • 仕様を踏まえた上での接続パターンの紹介 今回しない話 • エッジサイドの話 • 他のクラウドベンダーの話 • AWS IoT以外のサービスとの接続パターン
12.
12対象者 IoTやAWSをなんとなく知っている アカウント持ってるけどAWS IoTまだ使ったことない AWS IoT使っているけど接続パターンを整理したい
13.
13INDEX • AWS IoTへの接続に関する話(仕様) •
エンドポイント ← WHERE • 通信プロトコル ← HOW • 認証・認可 ← HOW • ユースケース別に接続パターンを紹介 • まとめ
14.
14AWS IoTのサービス全体像
15.
15AWS IoTのサービス全体像 エッジサイド向 け クラウド側でのデ バイス管理など データ収集後の 分析向け
16.
16AWS IoTのサービス全体像 接続に関する 機能はココ
17.
17AWS IoT Core
is 何? AWS IoT Core は、インターネットに接続されたデ バイスから、クラウドアプリケーションやその他のデ バイスに簡単かつ安全に通信するためのマネージド型 クラウドサービスです。
18.
18AWS IoT Coreのいろいろな機能
19.
19AWS IoT Coreのいろいろな機能 今回お話する 機能はココ
20.
20INDEX • AWS IoTへの接続に関する話(仕様) •
エンドポイント • 通信プロトコル • 認証・認可 • ユースケース別に接続パターンを紹介 • まとめ
21.
21エンドポイント アカウント・リージョンごとに1つ 東京リージョンを含むアジア、米国、欧州などの全13 リージョンで利用可能
22.
22コンソールから簡単に確認できます
23.
23忘れがちだけど大事なこと グローバルに展開するIoTシステム • 全デバイスが同一リージョンにアクセスする必要はない • 近場のリージョンに接続するパターンを考える 複数環境(本番・開発)を持ちたい場合 •
1アカウント内の同じエンドポイントを共有するとアクセ スログの混在する • アカウント毎のエンドポイントに接続するパターンを考 える
24.
24INDEX • AWS IoTへの接続に関する話(仕様) •
エンドポイント • 通信プロトコル • 認証・認可 • ユースケース別に接続パターンを紹介 • まとめ
25.
25通信プロトコル MQTT MQTT over WebSocket HTTPS
26.
26MQTTとは? Pub/Sub型のメッセージングモデルによる双方向通信 • ネットワークが不安定な場所でも動作しやすいように設計され ているので、軽量かつシンプル Publisher: メッセージの送信者 Subscriber:
メッセージの受信者 Topic: メッセージの送受信先 Broker: メッセージを仕分けする仲介者
27.
27HTTPSとは? クライアント・サーバー間のリクエスト/レスポンス型 通信 • クライアントがサーバーに要求(HTTPリクエスト)を送信 • サーバが応答(HTTPレスポンス)を返却
28.
28MQTT vs HTTPS •
サーバーからデバイスへの命令(遠隔操作) • MQTT • 一度コネクションを確立すれば、サーバーが任意のタイミングでデバ イスに対してメッセージの通知が可能 • HTTPS • クライアントがサーバーに対し、「定期的なポーリング」もしくは 「ロングポーリング」を行う必要がある • データ通信量や命令の即時性に影響
29.
29AWS IoTのMQTTでは QoS2と Retain がサポートされていないので注意 ※その他は基本的にMQTTv3.1.1に準拠
30.
30INDEX • AWS IoTへの接続に関する話(仕様) •
エンドポイント • 通信プロトコル • 認証・認可 • ユースケース別に接続パターンを紹介 • まとめ
31.
31認証と認可について 認証とは? • 相手が誰(何)であるかを確認すること 認可とは? • 相手に特定の権限を与えること
32.
32認証方法と認証情報 X.509 クライアント 証明書 TLSクライ アント認証 AWSアクセスキー (クレデンシャル) で作成する署名 (SigV4) SigV4認証 ベアラートークン カスタム認 証
33.
33TLSクライアント認証の例
34.
34TLSクライアント認証の例 AWSコンソールからワンクリックで発行できます!
35.
35TLSクライアント認証の例
36.
36TLSクライアント認証の例 接続を要求
37.
37TLSクライアント認証の例 サーバー証明書 ください クライアント証明書 ください ① ②
38.
38TLSクライアント認証の例 TLSのセッション確立 サーバー証明書 ください ① ② クライアント証明書 ください
39.
39SigV4認証の例 後ほど紹介します。
40.
40カスタム認証の例 後ほど紹介します。
41.
41認可はIoT Policyでおこなう IoT Policyは… •
クライアント証明書にアタッチすることで権限を付与 • AWS IoT Coreへの細かい接続制限が可能
42.
42IoT Policyの例 { "Statement": [ { "Effect":
"Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:ap-northeast-1:123456789012:client/${iot:Connection.Thing.ThingName}” ] }, { ”Effect”: ”Allow”, ”Action”: [ ”iot:Subscribe” ], ”Resource”: [ ”arn:aws:iot:ap-northeast- 1:123456789012:topicfilter/devio/${iot:Connection.Thing.ThingName}/location" ] …以下省略
43.
43IoT Policyの例 { "Statement": [ { "Effect":
"Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:ap-northeast-1:123456789012:client/${iot:Connection.Thing.ThingName}” ] }, { ”Effect”: ”Allow”, ”Action”: [ ”iot:Subscribe” ], ”Resource”: [ ”arn:aws:iot:ap-northeast- 1:123456789012:topicfilter/devio/${iot:Connection.Thing.ThingName}/location" ] …以下省略
44.
44ここまでのまとめ エンドポイント シングルリージョン マルチリージョン 通信プロトコル MQTT MQTT over WebSocket HTTPS 認証・認可 TLSクライアント認証 SigV4認証 カスタム認証 ※分解したが無理な組み合わせもあるので注意
45.
45INDEX • AWS IoTへの接続に関する話(仕様) •
エンドポイント • 通信プロトコル • 認証・認可 • ユースケース別に接続パターンを紹介 • まとめ
46.
46代表的な接続パターン ① デバイス TSLクライアント認証 MQTT/HTTPS シングルリージョン ② ユーザー SigV4認証 MQTT over WebSocket/HTTPS シングルリージョン ③ ユーザー カスタム認証 MQTT over WebSocket/HTTPS シングルリージョン
47.
47おしらせ 接続パターンを洗い出してみて わかったこと
48.
48おしらせ 認証情報を いつ?どうやって? 払い出すのかが重要だった
49.
49代表的な接続パターン Before ① デバイス TSLクライアント認証 MQTT/HTTPS シングルリージョン ② ユーザー SigV4認証 MQTT over WebSocket/HTTPS シングルリージョン ③ ユーザー カスタム認証 MQTT
over WebSocket/HTTPS シングルリージョン
50.
50代表的な接続パターン After ①-A デバイス ? TSLクライアント認証 MQTT/HTTPS シングルリージョン ①-B デバイス ? TSLクライアント認証 MQTT/HTTPS シングルリージョン ①-C デバイス ? TSLクライアント認証 MQTT/HTTPS シングルリージョン ② ユーザー ? SigV4認証 MQTT over WebSocket/HTTPS シングルリージョン ③ ユーザー ? カスタム認証 MQTT
over WebSocket/HTTPS シングルリージョン
51.
51注意事項 あくまでパターンで ベストプラクティスではないです 分かりやすさ重視のため 細かな手順は省いています
52.
52凡例
53.
53 とりあえず デバイスをAWS IoTへ接続したい場合 (※主観ですが一番シンプル)
54.
54①-A: キッティング登録 ①-A デバイス AWS IoTからデバイス毎に発行したクライアント証明書 TLSクライアント認証 MQTT/HTTPS シングルリージョン
55.
55①-A: キッティング登録 事前準備 初回起動
56.
56①-A: キッティング登録 事前準備 初回起動 各デバイス固有のクライアント証明 書・秘密鍵(以下、認証情報)を発行 ①
57.
57①-A: キッティング登録 事前準備 初回起動 各デバイス固有のクライアント証明 書・秘密鍵(以下、認証情報)を発行 ① クライアント証明書へIoT Policy(権限)をアタッチ②
58.
58①-A: キッティング登録 事前準備 初回起動 デバイス毎に固有の 認証情報を埋め込み③ クライアント証明書へIoT Policy(権限)をアタッチ② 各デバイス固有のクライアント証明 書・秘密鍵(以下、認証情報)を発行 ①
59.
59①-A: キッティング登録 事前準備 初回起動 エンドポイントに対し てTLS接続を開始 ① MQTT/HTTPS
60.
60①-A: キッティング登録 事前準備 初回起動 MQTT/HTTPS TLSクライアント認証② エンドポイントに対し てTLS接続を開始 ①
61.
61①-A: キッティング登録 事前準備 初回起動 IoT
Policyによって アクセス制御 MQTT/HTTPS ③ エンドポイントに対し てTLS接続を開始 ① TLSクライアント認証②
62.
62Tips クラウド側は楽
63.
63Tips 生産現場でいろいろやることがある
64.
64①-A: キッティング登録 事前準備 初回起動 各デバイス固有のクライアント証明 書・秘密鍵(以下、認証情報)を発行 クライアント証明書へ IoT
Policyをアタッチ ① ②デバイス毎に固有の 認証情報を埋め込み ③
65.
65①-A: キッティング登録 事前準備 初回起動 各デバイス固有のクライアント証明 書・秘密鍵(以下、認証情報)を発行 クライアント証明書へ IoT
Policyをアタッチ ① ②デバイス毎に固有の 認証情報を埋め込み ③
66.
66①-A: キッティング登録 事前準備 初回起動 各デバイス固有のクライアント証明 書・秘密鍵(以下、認証情報)を発行 クライアント証明書へ IoT
Policyをアタッチ ① ②デバイス毎に固有の 認証情報を埋め込み ③
67.
67Tips インターネット接続 証明書を個別に発行&埋め込み作業 生産ラインを専用に用意
68.
68 生産現場でデバイス毎の認証情報を 払い出すのが難しい場合
69.
69①-B: Bootstrap ①-B デバイス 初回起動時にMQTTで取得したクライアント証明書 TLSクライアント認証 MQTT(must)/HTTPS シングルリージョン
70.
70①-B: Bootstrap 事前準備 初回起動 デバイス初期登録用トピックのPub/Sub のみ行える認証情報を事前に発行
71.
71①-B: Bootstrap 事前準備 初回起動 共通の認証情報を埋め込む
72.
72①-B: Bootstrap 事前準備 初回起動 デバイス初期登録トピックで起動し、新 規認証情報を発行するLambdaを用意
73.
73①-B: Bootstrap 事前準備 初回起動 デバイス初期登録用 トピックへのPublish ①
74.
74①-B: Bootstrap 事前準備 初回起動 トピックへのメッ セージでLambda起動② デバイス初期登録用 トピックへのPublish ①
75.
75①-B: Bootstrap 事前準備 初回起動 ③ 新規認証情報の発行処理 ポリシーのアタッチ デバイス初期登録用 トピックへのPublish ① トピックへのメッ セージでLambda起動②
76.
76①-B: Bootstrap 事前準備 初回起動 新規認証情報を送信④ デバイス初期登録用 トピックへのPublish ① トピックへのメッ セージでLambda起動② ③ 新規認証情報の発行処理 ポリシーのアタッチ
77.
77①-B: Bootstrap 事前準備 初回起動 新規認証情報 で接続開始⑤ デバイス初期登録用 トピックへのPublish ① トピックへのメッ セージでLambda起動② 新規認証情報を送信④ ③ 新規認証情報の発行処理 ポリシーのアタッチ
78.
78Tips 全デバイスに共通の情報なので 生産現場での作業は簡易化
79.
79Tips 共通の認証情報が漏洩が全デバイスに影響 デバイス・クラウドともに実装が追加 初回起動時の動作確認を入念にやる必要ある
80.
80 生産現場でインターネットにはつなげない 社内ネットワークにはつなげる & 自前の認証局を用意できる場合
81.
81①-C: JITR (Just
in Time Registration) ①-C デバイス 自前の認証局からデバイス毎に発行したクライアント証明書 TLSクライアント認証 MQTT/HTTPS シングルリージョン
82.
82①-C: JITR (Just
in Time Registration) 事前準備 初回起動 自前の認証局のCA証明書 を事前登録
83.
83①-C: JITR (Just
in Time Registration) 事前準備 初回起動 各デバイスに固有の認証 情報の発行と埋め込み
84.
84①-C: JITR (Just
in Time Registration) 事前準備 初回起動 JITR登録完了通知で起 動するLambdaを用意
85.
85①-C: JITR (Just
in Time Registration) 事前準備 初回起動 エンドポイントに対して TLS接続を開始①
86.
86①-C: JITR (Just
in Time Registration) 事前準備 初回起動 ② 登録済みのCAから発行され た証明書かチェックする エンドポイントに対して TLS接続を開始①
87.
87①-C: JITR (Just
in Time Registration) 事前準備 初回起動 検証が通れば、クラウド 側に証明書が登録される③ ② 登録済みのCAから発行され た証明書かチェックする エンドポイントに対して TLS接続を開始①
88.
88①-C: JITR (Just
in Time Registration) 事前準備 初回起動 検証が通れば、クラウド 側に証明書が登録される③ ② 登録済みのCAから発行され た証明書かチェックする エンドポイントに対して TLS接続を開始① IoT Policyをアタッチし て権限を付与④
89.
89①-C: JITR (Just
in Time Registration) 事前準備 初回起動 ⑤ そのうち接続が 確立できる IoT Policyをアタッチし て権限を付与④ 検証が通れば、クラウド 側に証明書が登録される③ ② 登録済みのCAから発行され た証明書かチェックする エンドポイントに対して TLS接続を開始①
90.
90Tips 生産現場での作業は簡易化
91.
91Tips 自社管理のCAなら維持費が発生 デバイス・クラウドともに実装が追加 初回起動時の動作確認を入念にやる必要ある
92.
92 ユーザーがモバイルやウェブアプリから AWS IoT Coreにつなぎたい場合
93.
93②: Amazon Cognito
Identities ② ユーザー Cognito Identity Poolsから取得した一時クレデンシャル SigV4認証 MQTT over WebSocket/HTTPS シングルリージョン
94.
94②: Amazon Cognito
Identities IdPsのクライアントIDを登録 事前準備 初回 MQTT over WebSocket / HTTPS
95.
95②: Amazon Cognito
Identities MQTT over WebSocket / HTTPS 事前準備 初回 ① ログイン
96.
96②: Amazon Cognito
Identities MQTT over WebSocket / HTTPS 事前準備 初回 アクセストークンを送信し、 一時クレデンシャルに変換② ① ログイン
97.
97②: Amazon Cognito
Identities MQTT over WebSocket / HTTPS 事前準備 初回 署名(SigV4)をリクエスト に追加して接続開始③ アクセストークンを送信し、 一時クレデンシャルに変換② ① ログイン
98.
98②: Amazon Cognito
Identities MQTT over WebSocket / HTTPS 事前準備 初回 ④ アクセス可否 アクセストークンを送信し、 一時クレデンシャルに変換② ① ログイン 署名(SigV4)をリクエスト に追加して接続開始③
99.
99Tips ユーザーがメッセージブローカ経由で デバイスにメッセージが送れる 一時クレデンシャルを利用して 他のAWSサービスにも接続できる
100.
100Tips APIを設けるパターンと比べて メッセージのバリデーションはできない
101.
101 独自の認証・認可戦略を行いたい場合
102.
102③: カスタム認証 ③ ユーザー 認証基盤から払い出したJWT(Json Web
Token) カスタム認証 MQTT over WebSocket/HTTPS シングルリージョン
103.
103③: カスタム認証 キーペアの公開鍵 を登録 事前準備 初回 独自の認可 処理を実装 MQTT
over WebSocket/HTTPS
104.
104③: カスタム認証 事前準備 初回 MQTT
over WebSocket/HTTPS ログイン ①
105.
105③: カスタム認証 事前準備 初回 JWTをリクエスト に追加して送信 ② MQTT
over WebSocket/HTTPS ログイン ①
106.
106③: カスタム認証 事前準備 初回 JWTをリクエスト に追加して送信 ③
公開鍵で署名検証 ② MQTT over WebSocket/HTTPS ログイン ①
107.
107③: カスタム認証 事前準備 初回 ④ JWTをリクエスト に追加して送信 ペイロードの内容から 独自の処理を実行③
公開鍵で署名検証 ② MQTT over WebSocket/HTTPS ログイン ①
108.
108③: カスタム認証 事前準備 初回 ④ JWTをリクエスト に追加して送信 ペイロードの内容から 独自の処理を実行③
公開鍵で署名検証 ② MQTT over WebSocket/HTTPS ログイン ① ポリシーを返却⑤
109.
109③: カスタム認証 アクセス可否 事前準備 初回 ④ JWTをリクエスト に追加して送信 ペイロードの内容から 独自の処理を実行③
公開鍵で署名検証 ② MQTT over WebSocket/HTTPS ログイン ① ⑥ ポリシーを返却⑤
110.
110Tips Lambda関数を利用して独自の認可処理を プログラマブルに組める アクセス制御の自由度は高め
111.
111 その他 紹介しきれなかった接続パターンたち
112.
112紹介しきれなかった接続パターン マルチリージョンでの接続パターン • 自前CAを各リージョンに事前登録しておくことで、1つ のクライアント証明書でマルチリージョン接続が可能 Soracom SIMを利用する際の接続パターン •
証明書の発行を代行するサービス(Krypton)が利用可能 • 証明書なしでもAWS IoT Coreへメッセージを転送して くれるサービス(Funnel)が利用可能
113.
113まとめ 今回は下記3つの仕様を考慮した接続パターンをいくつ か紹介しました • エンドポイント • シングルリージョン/マルチリージョン •
通信プロトコル • MQTT/MQTT over WebSocket/HTTPS • 認証・認可 • TLSクライアント認証/Sigv4認証/カスタム認証
114.
114まとめ ユースケース別に 接続パターンを洗い出してみた!
115.
115まとめ デバイスへ認証情報を 発行するタイミングが重要だった…
116.
116まとめ AWS IoTを利用する際の 参考になれば幸いです
117.
117 ご清聴ありがとうございました
Download