7. Amazon Cognito
“Your app data is secure, available offline, and kept in sync between devices”
クロスデバイス・クロスプ
ラットフォームなデータ同
期
デバイスとプラットフォーム
をまたがってユーザのデータ
を同期
モバイルデバイスから全
AWSサービスへのセキュ
アなアクセス
セキュリティのベストプラク
ティスを実装
アイデンティティとアクセ
スの管理理を簡潔に
IDプロバイダを越えたユニー
クなアイデンティティとして
ユーザを管理理
独⾃自認証
8. Amazon Cognito
“Your app data is secure, available offline, and kept in sync between devices”
クロスデバイス・クロスプ
ラットフォームなデータ同
期
デバイスとプラットフォーム
をまたがってユーザのデータ
を同期
モバイルデバイスから全
AWSサービスへのセキュ
アなアクセス
セキュリティのベストプラク
ティスを実装
アイデンティティとアクセ
スの管理理を簡潔に
IDプロバイダを越えたユニー
クなアイデンティティとして
ユーザを管理理
独⾃自認証
9. ID プロバイダ
ゲストアクセス
独⾃自認証システム
ユニーク ID
Joe Anna Bob
デバイス
プラットフォーム
AWS サービス
複数の ID プロバイダをサポート
ID プロバイダと簡単に連携して認証
Amazon, Facebook, Twitter, Google,
OpenID Connect などに対応
ユニークなアイデンティティ
認証済ユーザに対してユニークIDを割り当て、
デバイスやプラットフォームをまたがって認
識識と管理理
Amazon Cognito Identity
Mobile
Analytics
S3 DynamoDB Kinesis
容易易なセキュリティのベストプラク
ティス実装
モバイルデバイスからAWSリソースへのセ
キュアなアクセスのためのやり取りをIAMと
連携して簡略略化
10. Amazon Cognitoの認証フロー
Amazon Cognito ID
(Temp Credentials)
Amazon
DynamoDB
End Users
Developer
App with
AWS Mobile
SDK
Access
to AWS
Services
Amazon Cognito
Identity Broker
User Name
Password
Amazon Cognito ID,
Temp Credentials
Amazon S3
Amazon Mobile
Analytics
Amazon Cognito
Sync Store
AWS
Management
Console
Token
Pool ID
Role ARNs
User Authentication
System
(Running on AWS or not)
Token
12. Amazon Cognitoの認証フロー
(Developer Authenticated Identities)
Amazon Cognito ID
(Temp Credentials)
Amazon
DynamoDB
End Users
Developer
App with
AWS Mobile
SDK
Access
to AWS
Services
Amazon Cognito
Identity Broker
Get OpenID Token
User Name
Password
Amazon Cognito ID,
Temp Credentials
Amazon S3
Amazon Mobile
Analytics
Amazon Cognito
Sync Store
AWS
Management
Console
OIDC Token
Pool ID
Role ARNs
独⾃自認証システム
AWS上で稼働して
いなくてもOK
OIDC Token
OIDC Token
22. Amazon Cognitoのセキュリティ
細やかなアクセス制御
IAM との連携で AWS リソースへの細かなアクセ
ス制御を実現
AWS Credentials の保護
必要な権限だけを付与された⼀一時的なクレデンシャル
を取得できるので、アプリにクレデンシャルを埋め込
まなくてよい
セキュリティのベストプラクティスを⽀支援
セキュリティトークンサービスと連携したり、トー
クンベンディングマシンを構築する必要はない
セキュアに AWS サービスを利利⽤用
EC2 S3 DynamoDB Kinesis
S3
DynamoDB
Get Delete Put
23. Amazon Cognito
“Your app data is secure, available offline, and kept in sync between devices”
クロスデバイス・クロスプ
ラットフォームなデータ同
期
デバイスとプラットフォーム
をまたがってユーザのデータ
を同期
モバイルデバイスから全
AWSサービスへのセキュ
アなアクセス
セキュリティのベストプラク
ティスを実装
アイデンティティとアクセ
スの管理理を簡潔に
IDプロバイダを越えたユニー
クなアイデンティティとして
ユーザを管理理
独⾃自認証
24. Amazon Cognito Sync クラウドへのデータ保存と同期
User Data
Storage and
Sync
Any Platform
iOS/Android/FireOS
アプリのデータ、設定、状態などを保存
アプリやデバイスのデータをクラウドに保存で
き、ログイン後にマージされる
クロスデバイス、クロスプラットフォームで同期
ユーサデータや設定をデバイスをまたいで同期
k/v data
Identity pool
バックエンド不不要
スケーラブルで信頼性の⾼高いデータ同期基盤を簡単に
利利⽤用可能
26. Cognito Sync データモデル
Identity Pool: アプリユーザのPool。アプリ
間で共有する場合もある
Identity: 個々のユーザ。IDプロバイダ間を
またいでユニーク。ゲストユーザも可
Dataset: ユーザごとのデータのグループ
Record: Key/Valueのユーザデータ
AWS
Account
Dataset
Identity
Identity
Identity
Dataset
Dataset
Identity
Pool
1:60
1:n
1:20
Dataset
Dataset
Record
1:1024
You
Your App
Your App Users
User Data
Container
User Data
27. Cognito Sync データモデル 例例
User情報
Dataset
ゲームとユーティリ
ティ、2種類アプリを
提供
Game情報
Dataset
Identitypool1
ーティリティ
App
Game
App
AWS
Account
Dataset
Identity
Identity
Identity
Dataset
Dataset
Identity
Pool
1:60
1:n
1:20
Dataset
Dataset
Record
1:1024
You
Your App
Your App Users
User Data
Container
User Data