Open1
AWS Cognitoの基礎概念
概要
- AWS CognitoはWebアプリやモバイルアプリに認証機能を提供するマネージドサービス
- Cognitoを使用する機会があったが、ユーザープールとIDプールで混乱したため、簡単にまとめておく
ユーザープール
- ユーザープールはユーザーディレクトリサービスであり、ユーザー名やパスワード、メールアドレスなどを管理する
- GoogleやFacebookなどのサードパーティーを通しての認証もできる
- 認証に成功するとJWTが発行される
IDプール(アイディアプール)
- IDプールはユーザープールや外部のIDプロバイダで認証したユーザーに対してAWSのサービスへのアクセス権限を認可する機能を持つ
- ユーザープールで、対象者が誰なのかを確認したうえで、その人物に対して権限を与えるためにIDプールがAWS STSへIDプールに紐づくIAMロールの権限に基づいた認証情報をリクエストして渡してもらう
まとめ
- ユーザープールは認証、IDプールは認可を担当