Amazon Cognito 完全ガイド|User Pool と Identity Pool の使い分け
Amazon Cognito は Web / モバイルアプリのユーザー認証・認可をフルマネージドで提供するサービス。User Pool(サインアップ・サインイン管理)と Identity Pool(一時 AWS 認証情報の発行)の 2 機能を組み合わせて、認証から AWS ...
Web/モバイルアプリの認証・認可サービス。User Pool(ユーザー管理)と Identity Pool(権限委譲)の 2 機能。
1. 概要(端的に)
Amazon Cognito は Web / モバイルアプリのユーザー認証・認可をフルマネージドで提供するサービス。User Pool(サインアップ・サインイン管理)と Identity Pool(一時 AWS 認証情報の発行)の 2 機能を組み合わせて、認証から AWS リソースアクセス委譲まで提供する。
2. 何ができるか
User Pool(ユーザーディレクトリ)
- サインアップ・サインイン:メール / SMS / OAuth / SAML
- ソーシャルログイン:Google / Facebook / Apple
- MFA:TOTP・SMS
- パスワードポリシー
- JWT トークン発行:ID トークン・アクセストークン
Identity Pool(権限委譲)
- 一時 AWS クレデンシャル発行:認証済みユーザーに STS トークン
- ゲストアクセス:未認証ユーザーにも限定 AWS 権限
- 複数 ID プロバイダ統合
3. 特徴
| 観点 | 特徴 |
|---|---|
| 追加料金 | MAU(月間アクティブユーザー)課金、最初の 50,000 MAU 無料 |
| MFA 対応 | TOTP / SMS |
| ソーシャル統合 | Google / Facebook / Apple / Amazon |
| エンタープライズ統合 | SAML / OIDC(AD・Okta 等) |
| 対応 SDK | iOS / Android / JavaScript / Amplify |
User Pool vs Identity Pool
| 観点 | User Pool | Identity Pool |
|---|---|---|
| 機能 | ユーザー管理・認証 | 一時 AWS 認証情報発行 |
| 用途 | アプリログイン | AWS リソース直接アクセス |
| トークン | JWT | STS(IAM ロール) |
4. 仕組み
Cognito は アプリの認証層 として機能する。
User Pool の動作
- ユーザーがアプリでサインアップ
- メール / SMS で確認コード
- サインイン → JWT トークン取得
- アプリは JWT で API 呼び出し(API Gateway / ALB が JWT を検証)
Identity Pool の動作
- User Pool / Google / Facebook で認証
- Identity Pool に認証トークンを送る
- Identity Pool が IAM Role を AssumeRole
- 一時 AWS クレデンシャル発行
- アプリが直接 AWS(S3 / DynamoDB)アクセス
統合パターン
[アプリ]
↓ サインアップ・サインイン
[User Pool]
↓ JWT トークン
[Identity Pool]
↓ 一時 AWS クレデンシャル
[S3 / DynamoDB](直接アクセス)
5. ユースケース
ユースケース 1:Web/モバイルアプリの認証
React / iOS アプリのユーザー管理。
ユースケース 2:ソーシャルログイン
Google サインイン統合。
ユースケース 3:API Gateway 認証
API Gateway + Cognito で認証必須 API。
ユースケース 4:マルチテナント SaaS
User Pool でテナント別ユーザー管理。
ユースケース 5:モバイルアプリから直接 S3
Identity Pool でアプリから直接 S3 にアップロード。
6. 関連用語
- API-Gateway — Cognito Authorizer
- Lambda — トリガー(カスタム認証フロー)
- ALB — Cognito 認証統合
- IAM — Identity Pool が連携するロール
7. 関連サイト
AWS 公式
🎓 試験での出題傾向
| 試験 | 重要度 | 主な出題パターン |
|---|---|---|
| CLF | 中 | 認証サービスの概念 |
| SAA | 高 | サーバーレス認証設計 |
| DVA | 高 | API Gateway 統合実装(頻出) |
| SOA | 低 | 出題稀 |