AWS - Cognito User Pool VS Identity Pool
前言
Congnito 作為驗證工具有兩個主要組件
- User Pool
- Identity Pool
沒有使用過的人常常會把兩個組件混淆,今天來介紹一下兩者的差異
User Pool
主要功能
- 使用者身份管理
- 使用者註冊和登入
- 密碼政策管理
- MFA 設定
- 社交身份整合 (如 Facebook, Google 登入)
使用場景
- 需要使用者註冊/登入系統
- Web/行動應用程序認證
- 需要自定義登入流程
- 需要社交媒體登入整合
提供功能
- JWT Token 管理
- 使用者屬性管理
- 密碼重置流程
- 電子郵件/手機驗證
- 自定義認證流程
Identity Pool
主要功能
- 提供 AWS 臨時憑證
- 管理匿名訪問
- 與 User Pool 整合
- 精細的權限控制
使用場景
- 需要訪問 AWS 服務
- 需要匿名用戶訪問
- 需要臨時 AWS 憑證
- 需要基於角色的訪問控制
提供功能
- 臨時 AWS 憑證管理
- IAM 角色映射
- 身份驗證提供者整合
- 訪問策略管理
整合使用
常見架構
- User Pool 處理認證
- Identity Pool 處理授權
兩者結合提供完整解決方案
Reference
- Mr. 沙先生 - AWS Cognito User Pool vs. Identity Pool 使用筆記
