MENU

【AWS Certified Cloud Practitioner】Amazon CognitoはSSOそのものではない?

目次

結論:Amazon Cognitoは「SSOそのもの」ではなく、「認証基盤としてSSOを実現できるサービス」

AWS Certified Cloud Practitioner では、サービス名そのものを暗記するよりも、「何をするサービスか」を切り分けて理解することが重要です。

Amazon Cognitoは、Webアプリやモバイルアプリ向けの認証・認可・ユーザー管理を提供するAWSサービスです。一方、SSO(Single Sign-On)は、1回のログインで複数のサービスやアプリを利用できる仕組みを指す一般用語です。

そのため、Amazon Cognito = SSOそのものではありません。ただし、Amazon Cognito を使って複数アプリの認証を共通化すれば、結果としてSSOのような体験を実現できます。

まず用語を短く整理

  • 認証(Authentication): 「その人が誰か」を確認すること。例:IDとパスワードでログインする。
  • 認可(Authorization): 「何をしてよいか」を決めること。例:ログイン後に特定の画面だけ見られるようにする。
  • SSO: 一度のサインインで複数のアプリやサービスを利用しやすくする仕組み。
  • IdP(Identity Provider): 認証を担当する仕組みやサービス。例:Cognito、社内認証基盤、外部のOIDC/SAMLプロバイダ。

Amazon Cognitoとは何か

Amazon Cognito は、アプリケーションにサインアップ・サインイン機能を追加したり、外部のIDプロバイダと連携したりできるサービスです。AWS公式ドキュメントでも、Webアプリやモバイルアプリ向けの認証・認可・ユーザー管理サービスとして説明されています。

Cloud Practitionerで最低限押さえたい2つの構成要素

機能役割試験での見分け方
User Poolアプリ利用者のユーザー登録、ログイン、MFA、トークン発行を担う「アプリのログイン機能」「会員管理」「サインアップ/サインイン」ならこちら
Identity Pool認証済みユーザーやゲストユーザーに一時的なAWS認証情報を付与する「ログインしたユーザーにS3などAWSリソースへのアクセス権を与えたい」ならこちら

つまり、User Pool はアプリのログイン基盤Identity Pool はAWSリソース利用のための一時的な認証情報付与、という理解が基本です。

なぜ「Cognito = SSO」ではないのか

SSOはあくまで利用体験や認証方式の概念です。対して Amazon Cognito は、認証機能を実装するためのAWSの具体的なサービスです。

たとえば、1つの Cognito User Pool を複数のアプリで共通利用すれば、ユーザーは共通の認証基盤でサインインできます。この構成はSSO的に見えますが、正確には「Cognito を使ってSSOを実現している」のであって、Cognito自体がSSOという言い方は少し粗い整理です。

Amazon CognitoでできるSSOのイメージ

次のようなケースを考えると理解しやすくなります。

  • 同じ企業が運営する会員向けWebアプリA
  • 同じ会員情報を使うモバイルアプリB
  • サポートポータルC

これらが同じCognito User Poolを使って認証する構成なら、ユーザー管理を共通化できます。さらに、外部IDプロバイダやマネージドログイン画面を組み合わせれば、複数アプリにまたがるサインイン体験を統一しやすくなります。

この意味で、Amazon Cognito はSSOを構成するための有力な選択肢です。

外部IDプロバイダ連携も試験で重要

Amazon Cognito User Pool は、ソーシャルログインや SAML、OIDC のIDプロバイダと連携できます。つまり、Googleなどでサインインさせたい場合や、既存の企業認証基盤とつなぎたい場合にも使えます。

Cloud Practitioner では細かなプロトコル設定まで深掘りされにくいですが、「Cognito は外部IdP連携ができる」という高レベルの理解は重要です。

よく混同されるサービス:IAM Identity Center

試験対策では、Amazon Cognito と IAM Identity Center の違いを切り分けることが非常に大切です。

サービス主な対象覚え方
Amazon Cognitoアプリのエンドユーザー「顧客向けアプリのログイン基盤」
IAM Identity Center従業員などのワークフォースユーザー「AWSアカウントや業務アプリへの組織向けSSO」

たとえば、社内ユーザーが複数のAWSアカウントへシングルサインオンしたいという問題なら、第一候補は IAM Identity Center です。一般消費者向けWebアプリにログイン機能を実装したいなら、第一候補は Amazon Cognito です。

試験での典型的な見分け方

  • モバイルアプリやWebアプリに簡単にログイン機能を追加したい
    → Amazon Cognito
  • GoogleやSAML/OIDCなど外部認証と連携したい
    → Amazon Cognito
  • ログインしたユーザーにS3などAWSリソースへの一時アクセス権を付与したい
    → Amazon Cognito Identity Pool
  • 従業員がAWSアカウントや業務アプリへSSOしたい
    → IAM Identity Center

ひっかけ対策の一言まとめ

  • Cognito は認証サービス
  • SSO は仕組み・方式の概念
  • Cognito を使ってSSOを実現できる
  • AWSアカウント向けの組織的なSSOは IAM Identity Center をまず疑う

直前復習用まとめ

Cloud Practitioner 向けに最短で整理すると、次の3点を押さえれば十分です。

  1. Amazon Cognito は、Web/モバイルアプリ向けの認証・認可・ユーザー管理サービス。
  2. SSOは概念であり、Cognitoそのものを指す言葉ではない。
  3. アプリ利用者向け認証は Cognito、組織内ユーザーのAWSアカウントSSOは IAM Identity Center と考えると整理しやすい。

参考URL(AWS公式)

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次