# 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 使用筆記