Submit Search
Upload
組み込みメーカーだからこそのAWS Cognitoの使い方
•
Download as PPTX, PDF
•
3 likes
•
1,683 views
S
shotaueda3
Follow
AWS Dev Day Tokyo 2018のLT大会の登壇資料になります。 (https://aws.amazon.com/jp/aws-devday-tokyo-2018/)
Read less
Read more
Technology
Report
Share
Report
Share
1 of 18
Download now
Recommended
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
都元ダイスケ Miyamoto
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜
Masaru Kurahayashi
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct Connect
Amazon Web Services Japan
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
Koichiro Matsuoka
これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用
Masaru Kurahayashi
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
Kongの概要と導入事例
Kongの概要と導入事例
briscola-tokyo
Recommended
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
都元ダイスケ Miyamoto
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜
Masaru Kurahayashi
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct Connect
Amazon Web Services Japan
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
Koichiro Matsuoka
これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用
Masaru Kurahayashi
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
Kongの概要と導入事例
Kongの概要と導入事例
briscola-tokyo
[CTO Night & Day 2019] 高可用性アーキテクチャについて考える #ctonight
[CTO Night & Day 2019] 高可用性アーキテクチャについて考える #ctonight
Amazon Web Services Japan
デプロイメントパイプラインって何?
デプロイメントパイプラインって何?
ke-m kamekoopa
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
Entity Framework(Core)についての概要を学ぼう
Entity Framework(Core)についての概要を学ぼう
TomomitsuKusaba
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装
Masatoshi Tada
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
Amazon Web Services Japan
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
Amazon Web Services Japan
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway
Amazon Web Services Japan
[AKIBA.AWS] VPCをネットワーク図で理解してみる
[AKIBA.AWS] VPCをネットワーク図で理解してみる
Shuji Kikuchi
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
Amazon Web Services Japan
FlutterでGraphQLを扱う
FlutterでGraphQLを扱う
IgaHironobu
AWS Black Belt Online Seminar 2017 AWSにおけるアプリ認証パターンのご紹介
AWS Black Belt Online Seminar 2017 AWSにおけるアプリ認証パターンのご紹介
Amazon Web Services Japan
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Akito Tsukahara
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
infinite_loop
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
yoshiaki iwanaga
HTML5J AWS でできるIoT
HTML5J AWS でできるIoT
Toshiaki Enami
JAWSDAYS2016 Technical Deep DIVE
JAWSDAYS2016 Technical Deep DIVE
陽平 山口
More Related Content
What's hot
[CTO Night & Day 2019] 高可用性アーキテクチャについて考える #ctonight
[CTO Night & Day 2019] 高可用性アーキテクチャについて考える #ctonight
Amazon Web Services Japan
デプロイメントパイプラインって何?
デプロイメントパイプラインって何?
ke-m kamekoopa
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
Entity Framework(Core)についての概要を学ぼう
Entity Framework(Core)についての概要を学ぼう
TomomitsuKusaba
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装
Masatoshi Tada
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
Amazon Web Services Japan
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
Amazon Web Services Japan
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway
Amazon Web Services Japan
[AKIBA.AWS] VPCをネットワーク図で理解してみる
[AKIBA.AWS] VPCをネットワーク図で理解してみる
Shuji Kikuchi
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
Amazon Web Services Japan
FlutterでGraphQLを扱う
FlutterでGraphQLを扱う
IgaHironobu
AWS Black Belt Online Seminar 2017 AWSにおけるアプリ認証パターンのご紹介
AWS Black Belt Online Seminar 2017 AWSにおけるアプリ認証パターンのご紹介
Amazon Web Services Japan
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Akito Tsukahara
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
infinite_loop
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
yoshiaki iwanaga
What's hot
(20)
[CTO Night & Day 2019] 高可用性アーキテクチャについて考える #ctonight
[CTO Night & Day 2019] 高可用性アーキテクチャについて考える #ctonight
デプロイメントパイプラインって何?
デプロイメントパイプラインって何?
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Entity Framework(Core)についての概要を学ぼう
Entity Framework(Core)についての概要を学ぼう
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway
[AKIBA.AWS] VPCをネットワーク図で理解してみる
[AKIBA.AWS] VPCをネットワーク図で理解してみる
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
FlutterでGraphQLを扱う
FlutterでGraphQLを扱う
AWS Black Belt Online Seminar 2017 AWSにおけるアプリ認証パターンのご紹介
AWS Black Belt Online Seminar 2017 AWSにおけるアプリ認証パターンのご紹介
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
Similar to 組み込みメーカーだからこそのAWS Cognitoの使い方
HTML5J AWS でできるIoT
HTML5J AWS でできるIoT
Toshiaki Enami
JAWSDAYS2016 Technical Deep DIVE
JAWSDAYS2016 Technical Deep DIVE
陽平 山口
AWSについて @ JAWS-UG 沖縄 CMS祭り!
AWSについて @ JAWS-UG 沖縄 CMS祭り!
Yasuhiro Horiuchi
20161222 cmc revise
20161222 cmc revise
Hideki Ojima
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
真吾 吉田
Lambda layerをDeployする方法を調べる
Lambda layerをDeployする方法を調べる
shotaueda3
20161027 dev rel
20161027 dev rel
Hideki Ojima
アウトプットはスキルアップもするしトクもする
アウトプットはスキルアップもするしトクもする
Mitsuhiro Yamashita
AWS ロボ in JAWSDAYS
AWS ロボ in JAWSDAYS
崇之 清水
[20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏
[20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏
Insight Technology, Inc.
Jaws serverless 1026_kyoso
Jaws serverless 1026_kyoso
Ryosuke Izumi
AWSで動画共有サイトを作成して全社に公開
AWSで動画共有サイトを作成して全社に公開
ToruKubota4
サバソニ-005 Cloud Automatorの裏側
サバソニ-005 Cloud Automatorの裏側
Tetsuya Chiba
UnityとAmazon Web Servicesで生み出す新しい価値
UnityとAmazon Web Servicesで生み出す新しい価値
Keisuke Nishitani
概説 Data API v3
概説 Data API v3
Yuji Takayama
自社クラウドサービスをAnsibleで作った話
自社クラウドサービスをAnsibleで作った話
Watanabe Shunji
Redisへと至る、gumiデータストアの歴史
Redisへと至る、gumiデータストアの歴史
知教 本間
ECSとGitLabでCI環境構築
ECSとGitLabでCI環境構築
iwata jaws-ug
20140829 山形でJAWS-UGをやって困った2つのこと
20140829 山形でJAWS-UGをやって困った2つのこと
Seiji Akatsuka
ソーシャルメディア戦略の基盤に欠かせないクラウドの今
ソーシャルメディア戦略の基盤に欠かせないクラウドの今
真吾 吉田
Similar to 組み込みメーカーだからこそのAWS Cognitoの使い方
(20)
HTML5J AWS でできるIoT
HTML5J AWS でできるIoT
JAWSDAYS2016 Technical Deep DIVE
JAWSDAYS2016 Technical Deep DIVE
AWSについて @ JAWS-UG 沖縄 CMS祭り!
AWSについて @ JAWS-UG 沖縄 CMS祭り!
20161222 cmc revise
20161222 cmc revise
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
Lambda layerをDeployする方法を調べる
Lambda layerをDeployする方法を調べる
20161027 dev rel
20161027 dev rel
アウトプットはスキルアップもするしトクもする
アウトプットはスキルアップもするしトクもする
AWS ロボ in JAWSDAYS
AWS ロボ in JAWSDAYS
[20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏
[20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏
Jaws serverless 1026_kyoso
Jaws serverless 1026_kyoso
AWSで動画共有サイトを作成して全社に公開
AWSで動画共有サイトを作成して全社に公開
サバソニ-005 Cloud Automatorの裏側
サバソニ-005 Cloud Automatorの裏側
UnityとAmazon Web Servicesで生み出す新しい価値
UnityとAmazon Web Servicesで生み出す新しい価値
概説 Data API v3
概説 Data API v3
自社クラウドサービスをAnsibleで作った話
自社クラウドサービスをAnsibleで作った話
Redisへと至る、gumiデータストアの歴史
Redisへと至る、gumiデータストアの歴史
ECSとGitLabでCI環境構築
ECSとGitLabでCI環境構築
20140829 山形でJAWS-UGをやって困った2つのこと
20140829 山形でJAWS-UGをやって困った2つのこと
ソーシャルメディア戦略の基盤に欠かせないクラウドの今
ソーシャルメディア戦略の基盤に欠かせないクラウドの今
Recently uploaded
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
Recently uploaded
(8)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
組み込みメーカーだからこそのAWS Cognitoの使い方
1.
組み込みメーカーだからこ その AWS Cognitoの使い 方 AWS 標準機能をいかに拡張し マネージドサービスオンリーで認証基盤を 実現するか
2.
自己紹介 • 上田 渉太 •
アルパイン株式会社イノベーションラボ所属 • 企画、設計職 • 趣味 • ロードバイク • ゲーム作り (主にコアワーキングスペース weeyble https://weeyble.com/ で活動しています) • 3D CG (無印Zbrushで作品を作っています) • Twitter( @tukkyCG1 ) • Qiita( https://qiita.com/tukkyr ) • Slideshare( https://www.slideshare.net/shotaueda3 ) • 好きなAWSのサービス • Lambda • DynamoDB • AppAync
3.
アルパインの紹介 社名 アルパイン株式会社 設立 1967年5月 東京本社 東京都大田区雪谷大塚町1-7 資本金 259億円 従業員数 13,175名(2018年3月31日現在) グループ 海外15か国28社・国内7社 1500 2250 3000 2017/32018/32019/3 売上(億円) 2,477 2,752 2,950 (予想) 0 50 100 150 200 2017/3 2018/3
2019/3 営業利益(億円) 56 137 130 (予想) 主要製品 市販市場向け オーディオ・カーナビシステム 自動車メーカー向け 車載システム コネクテッドサービス領域へ オープンイノベーション推進!
4.
アジェンダ • 実現したいこと • 組み込みメーカーならではの事情 •
ユーザー認証に求める要件 • AWSの認証サービスの紹介 • AWSの認証サービスを使う上での問題点 • 解決方法の提示 • まとめ
5.
AWS マネージドサービスのみで 認証基盤を構築したい • 皆さんもAWSのマネージドサービスを調べて自社サービスの適 応を考えた際、あと少し機能の拡張やカスタマイズが出来れば と考えたことはありませんか •
本LTでは私が実際に遭遇した 組み込みメーカーならではの 事情を認証基盤に組み込んだ時 • いかにして AWSのマネージドサービスを拡張して問題を解決 したか紹介したいと思います
6.
システムの概要と特徴 • 開発対象が組み込み機器とスマホアプリの二 か所 • スマホアプリのみが直接AWSのサービスとつな がり、組み込み機器はスマホアプリを経由しな いとAWSのサービスを利用できない •
ユーザー認証に関わる部分はAWSの CognitoとApiGatewayを使ってマネージド なAWSのサービスのみで構築したい Mobile client AWS account シリアルナ ンバー 組み込み機器 ②ユーザー登録 ③IDTOKEN (Cognito署名付き) ④CognitoUserPool で認証・認可 ①
7.
組み込み機器メーカーならではの事情1 • 組み込み機器とスマホアプリの両方の開発が必要になり、それらの寿命とリリー ス回数が異なる • 組み込み機器が新しく購入された場合 •
スマホアプリに新しい機器購入されたことを通知し同一ユーザーとしてサービ スを継続したい • アプリサービスが新しくリリースされた場合 • 既存の組み込み機器を使用しているユーザーを同一人物として認識した上 で新しいスマホアプリのサービスを提供したい
8.
組み込み機器メーカーならではの事情2 • 組み込み機器自体はAWSとの通信手段を持たず スマホアプリがその役割を肩代わりする • 実際にユーザー認証の仕組みを持つのはスマホアプリで組み込み機器の区別する情 報はシリアルナンバーのみである •
スマホアプリが変わると同じ組み込み機器を使っていてもユーザーの認証情報を一切引 継ぎできなくなってしまう • シリアルナンバーを登録するタイミングとAWSで認証を行うタイミングが異なる • スマホアプリ間で組み込み機器のシリアルナンバーを共有できる仕組みが必要
9.
ユーザー認証に求める要件 • 組み込み機器、スマホアプリのどちらか一方が新しくなっても、 もう一方に与える影響を最小限としたい • シリアルナンバーをスマホアプリ間で共有したい •
組み込み機器やスマホアプリとは独立したユーザー毎の情報(セッションID)が作成できなおかつ、 それをスマホアプリ間で共有できれば良い • シリアルナンバーはセッションIDに紐づけていつでも保管できる
10.
AWSの認証に関わる マネージドサービスについて • AWS Cognito
Userpool • AWSが提供するモバイル用のクラウド認証サービス • 実態はOpenID ConnectのIDプロバイダーのラッパーのようなもの • クライアントからの認証情報に基づいて、IDTokenをCognitoの署名付きで発行する • ユーザーの認証情報を管理する機能をもつ、しかし標準機能ではUserpool間でユー ザーの認証情報の受け渡しはできない • AWS ApiGateway • 簡単にWebapiを作成、配布、保守、監視、保護を行うことが出来る • オーサライザーを設定することで、Apiのアクセスを制御することもできる
11.
システムの概要 お試し版 - AWSを使ってマネージドなシステムを組んでみる ①
組み込み機器はシリアルナンバーをスマホアプ リに伝える ② スマホアプリはCognitoにユーザー認証の情 報を送る ③ Cognitoは情報をもとに署名し,IDTokenと してスマホアプリに返す ④ スマホアプリはIDTokeをApiGatewayに送 る。 ApiGatewayはIDTokenの署名をチェックし 、各サービスに対してリクエストを転送する Mobile client AWS account シリアルナ ンバー 組み込み機器 ②ユーザー登録 ③IDTOKEN (Cognito署名付き) ④CognitoUserPool で認証・認可 ①
12.
システムの問題 - ユーザー認証に求める要件と比較して • ユーザーを認証したタイミングでセッションIDが作成できない •
スマホアプリに対して、Userpoolを一つづつ割り当てると アプリ間でユーザー情報を共有する手段がない • シリアルナンバーがユーザー登録のタイミングでしか送れない • ユーザー認証としの基本的な機能はあるのにこのまま諦め るのはもったいない • どうにかして機能を拡張できないか Lambdaを使えば 機能を拡張できます!! Mobile client AWS account シリアルナ ンバー 組み込み 機器 ②ユーザー登録 ③IDTOKEN (Cognito署名付き) ④CognitoUserPoolで 認証・認可 ①
13.
AWS Lambdaとは • マネージドなサービスで任意コードをサーバーを管理しなくてもコードを実行することが出来 る •
Node.js, java, Go, C#, Pythonをサポート • IAMを設定してあげることでAWSのリソースへのアクセスの制御もできる • ApiGatewayから呼び出して、サーバーレスのRESTApiを実現するといった用途でよく 使われる • 実は一部のサービスでは機能の拡張のためにLambdaを利用することが出来る • CognitoとApiGatewayはこの機能拡張の仕組みを持っている
14.
CognitoUserpool+Lambdaで拡張する • Lambdaトリガーを利用してワークフローをカスタマイズする • トリガーはトークン生成前トリガーを使う •
カスタマイズすること • Lambdaが呼び出されたら uuidを使ってセッションIDを作成する • セッションIDとユーザーの認証情報をDBに保管する • IDToken生成時のclaim情報にセッションIDを付加する • これはcookieのセッションIDのようにアプリとサーバー間でのみ知っている情報として扱う
15.
ApiGateway+Lambdaで拡張する • Lambdaトリガーを利用してLambdaオーサライザーを作成する • APIリクエストの署名確認はLambdaオーサライザーで行う •
カスタマイズすること • リクエストがCognitoで署名されたIDTokenを持っているかを確認する • IDTokenからカスタマイズしたセッションIDを含むclaimを取り出し マッピングテンプレートで各サービスにユーザーの認証情報を渡す下準備をする
16.
システムの概要 - 完成版 - •
ユーザーを認証したタイミングでセッション IDが作成できない • スマホアプリに対して、Userpoolを一つ づつ割り当てるとアプリ間でユーザー情報 を共有する手段がない • シリアルナンバーがユーザー登録のタイミン グでしか送れない 解 決 元の設計をほとんど変更することなしに 要件を達成することに成功!! 変更したのは赤枠の部分だけ Mobile client シリアルナ ンバー組み込み機器 ①ユーザー登録 ④IDTOKEN (Cognito署名付き) ⑤IDTokenの転送 UserData 管理 account ②セッションIDの 作成とDBへの保存 ③Claimに セッション IDを含める ようリクエ スト ⑥IDTOKEN の署名確認 ⑦署名結果 の通知 Contextの編集 ユーザーデータの 取得 別のAWSアカウント(別のUserPool保持)からもアクセス可能 解 決 解 決
17.
まとめ • 今回の例では私が実際に遭遇した問題とその解決方法でしたが、皆さんの業務に も利用できる点があると思います • AWSを使う上で •
実現したいことの特徴点と問題点を洗い出してみる • AWSの標準機能を調査し、極力マネージドサービスのみでシステムを組んでみる • AWS標準機能で実現できたことと実現できなかったことを洗い出す • 実現できなかったことに対して、Lambdaの拡張で実現できないか検討してみ る • それでもだめなら初めて、自前でサービスを作成することを検討する このステップ があることを 本LTで知って いただければ 幸いです
Editor's Notes
引き続き、この場をお借りしまして、私より、昨今の当社を 取り巻く環境と今後の取り組みについて、ご説明申し上げます。
Download now