今天,我收到一位顧問的問題,他對 AWS Cognito 和 AWS IAM Identity Center(AWS 單一登入的後繼者)感到非常困惑。它們都是亞馬遜網路服務(AWS)提供的身份和訪問管理(IAM)服務。兩種服務都可以用來管理用戶身份和訪問AWS資源。然而,这两种服务之间有一些关键的差异。

AWS Cognito

AWS Cognito 是一種幫助您管理網絡和移動應用程序的用戶身份的服務。它提供了各種功能,包括:

  • 用戶認證和授權
  • 用戶登入和註冊
  • 社交媒體整合
  • 多因素認證(MFA)
  • 身份聯邦
  • 用戶分類
  • 分析

AWS Cognito 是需要獨立於其他 AWS 服務管理用戶身份和認證的應用程序的好選擇。也是需要與社交媒體或其他身份提供者整合的應用程序的好選擇。

AWS IAM身份中心

AWS IAM 身份中心是一種幫助您管理工作力身份的登入安全的服務。 它提供了一個地方,您可以在其中創建或連接工作力用戶,並集中管理他們在所有 AWS 帳戶和應用程序中的訪問權限。 您可以使用 AWS IAM 身份中心來:

  • 創建和管理工作力身份
  • 連接到外部身份提供者
  • 集中管理對 AWS 帳戶和應用程序的訪問權限
  • 實施多因素認證和其他安全功能
  • 監控用戶活動並審核訪問

AWS IAM 身份中心對於需要管理大量工作力身份和訪問多個 AWS 帳戶和應用程序的組織來說是一個好選擇。 對於需要實施嚴格安全控制的組織也是一個不錯的選擇。

比較

以下表格提供了 AWS Cognito 和 AWS IAM 身份中心的比較:

功能 AWS Cognito AWS IAM身份中心
用戶認證與授權 Yes Yes
用戶登入與註冊 Yes Yes
社交媒體整合 Yes No
多因素認證(MFA) Yes Yes
身份聯邦 Yes Yes
用戶分類 Yes Yes
分析 Yes Yes
集中訪問管理 No Yes
工作力身份管理 No Yes
支持外部身份提供商 Yes Yes

AWS Cognito 安全特性: 多因素認證,社交登入,身份聯邦。 AWS IAM 身份中心安全特性: 多因素認證,集中訪問管理,用戶活動監視,審計記錄。

哪種服務適合你?

最適合您的服務將取決於您的具體需求。如果您需要管理您的網絡和移動應用程序的用戶身份,那麼 AWS Cognito 是一個好選擇。如果您需要管理工作力身份和對多個 AWS 帳戶和應用程序的訪問,那麼 AWS IAM 身份中心是一個好選擇。

這裡有一些額外的考慮因素:

  • AWS Cognito 是適合:
    • 需要獨立於其他 AWS 服務管理用戶身份和認證的應用程序
    • 需要與社交媒體或其他身份提供者整合的應用程序
    • 需要支援用戶分類和分析的應用程序
  • AWS IAM 身份中心是適合:
    • 需要管理大量工作力身份和訪問多個 AWS 帳戶和應用程序的組織
    • 需要實施嚴格安全控制的組織
    • 需要集中訪問管理的組織。

總的來說,Amazon Cognito 是為開發 B2C 或 B2B 應用程序的開發人員提供的身份管理解決方案,使其成為一種面向客戶的 IAM 和用戶目錄解決方案。 而 AWS SSO 專注於為訪問 AWS 和商業應用程序的員工提供 SSO,而底層員工目錄最初源自 Microsoft AD。