AWSの「Cognito」とは?|AWS(Amazon Web Service)

最終更新日:2026年8月4日

Amazon Cognitoとは?

現代ではPCやスマホ・タブレットが普及し、インターネットは生活に欠かせないものになっています。もちろん、WEBアプリケーションやモバイルアプリが利用されることも多くなり、その機能やセキュリティに関するニーズは増す一方です。

今回は、数あるモバイル向けサービスの中から、AWS(Amazon Web Services)が提供している「Amazon Cognito」について解説します。

「Amazon Cognito」は、ウェブアプリケーションおよびモバイルアプリに素早く簡単にユーザーのサインアップ/サインイン・アクセスコントロールの機能を追加できるサービスです。「認証」「認可」「ユーザー管理」をサポートしており、ユーザー名とパスワードで直接サインインする方法のほか、Facebook・Amazon・Google・Appleなどのサードパーティーを通じたサインイン(ソーシャルログイン)も実現できます。

「Cognito」の読み方

ズバリ「Cognito」の読み方は”コグニート”です。

incognito(インコグニート)という単語の反対の意味を持たせた造語という説があります。incognitoは”匿名の”という意味の形容詞で、Cognitoは”個人を認識する”というニュアンスのサービス名です。

ユーザープールとIDプールの違い

Amazon Cognitoの主なコンポーネントは「ユーザープール」と「IDプール」の2つです。それぞれの役割は以下のとおりです。

項目 ユーザープール IDプール
役割 サインアップ・サインインの管理 AWSリソースへのアクセス許可
提供するもの ユーザープロファイル・認証トークン 一時的なAWS認証情報(IAMロール)
主なユースケース ログイン画面・ソーシャルログイン S3・DynamoDB等へのアクセス制御
認証後の処理 JWTトークンを発行 AWSの署名付き認証情報を発行

ユーザープールはフルマネージドサービスのため、サーバーインフラを気にせず簡単にセットアップできます。直接サインアップするユーザーやソーシャルIDプロバイダー・エンタープライズIDプロバイダーを使用するフェデレーティッドユーザーに、ユーザープロファイルと認証トークンを提供します。

IDプールはAWSの他のサービスへのアクセスをユーザーに許可します。このIDプールを利用することで、ユーザーは一時的なAWS認証情報を取得して、他のAWSサービスにアクセスできます。

Amazon Cognitoの主な特長

カスタマイズ可能な組み込みUI

ユーザーのサインアップとサインインのためのカスタマイズ可能な組み込みUIが用意されています。Android・iOS・JavaScript向けのSDKを使用して、サインアップページやサインインページをアプリケーションに追加できます。コードのサンプルテンプレートもあるため、簡単にログイン画面を作成できます。

高度なセキュリティ機能

アプリケーション内のユーザーアカウントへのアクセス制限ができるようになっています。アドバンスドセキュリティ機能では、リスクに基づくアダプティブ認証と、不正に使用された認証情報への保護を提供します。

マルチファクター認証(MFA)

SMSやソフトウェアトークンを使ったMFA(多要素認証)にも対応。不正アクセスのリスクを大幅に低減できます。

Lambda Trigger(サーバーレス連携)

AWS Lambdaと連携することで、サインアップ時のメール検証カスタマイズや、カスタム認証フローなど、細かいビジネスロジックを組み込めます。

Cognitoの活用シーン

活用シーン 具体例 使うコンポーネント
モバイルアプリのログイン Google/Apple IDでサインイン ユーザープール
Webアプリの会員管理 メール+パスワード認証、メール検証 ユーザープール
S3・DynamoDBへの安全なアクセス ユーザーごとにS3バケットの読み書き制御 IDプール
エンタープライズSSO Active Directory(SAML 2.0)連携 ユーザープール(SAML)

他の認証サービスとの比較

Cognitoと同様の認証・ユーザー管理サービスをいくつか比較します。

項目 Amazon Cognito Firebase Auth Auth0
提供元 Amazon (AWS) Google (Firebase) Okta (Auth0)
AWSとの親和性 ◎ 最高 △ 要設定 △ 要設定
無料枠 50,000 MAU 無制限 7,500 MAU
セットアップの容易さ ○ 中程度 ◎ 簡単 ◎ 簡単
カスタマイズ性 ◎ 高い ○ 中程度 ◎ 高い
向いているシーン AWSをメインで使う開発 モバイルアプリ・小〜中規模 エンタープライズ・SaaS

すでにAWSを活用しているシステムでは、LambdaやAPI Gateway・S3などとシームレスに連携できるAmazon Cognitoが最も適しています。

料金システム

Amazon Cognitoでユーザープールを作成する場合、月間アクティブユーザー(MAU)のみに基づいて支払いが発生します。その暦月に、サインアップ・サインイン・トークンの更新またはパスワードの変更など、ユーザーに関わるID操作が発生した場合、そのユーザーはMAUとしてカウントされます。後続のセッションに関して、またはその暦月に非アクティブなユーザーに関しては課金されません。

無料利用枠の早見表

サインイン方法 無料枠(MAU) 超過時の料金(目安)
直接サインイン(メール・パスワード等) 50,000 MAU $0.0055/MAU〜(段階的に低減)
SAML 2.0フェデレーション(企業IdP連携) 50 MAU $0.015/MAU〜

既存・新規を問わずAWSユーザーは、この無料利用枠を12か月間のAWS無料試用期間が終了しても無期限に利用できます。なお、AWS GovCloudリージョン(米国北西部・北東部)では、ユーザープールとSAML/OIDCフェデレーションの無料枠を同時に利用することはできません。

よくある質問(FAQ)

Q. Amazon Cognitoは無料で使えますか?
A. 直接サインインのユーザープールは毎月50,000MAUまで無料で、AWS無料試用期間終了後も無期限に適用されます。小〜中規模のサービスであれば実質無料で運用できます。
Q. CognitoとIAMはどう違いますか?
A. IAMはAWSサービスや開発者・管理者の権限管理を担います。一方Cognitoはエンドユーザー(アプリを使う一般ユーザー)の認証・ユーザー管理が目的です。Cognitoで認証したユーザーに、IDプールを通じてIAMロールを付与することもできます。
Q. Cognito Lambda Triggerとは何ですか?
A. サインアップ・認証・パスワードリセットなどのタイミングでAWS Lambdaを呼び出し、カスタム処理を実行できる機能です。メール本文のカスタマイズや、独自の認証ロジックの追加に使われます。
Q. CognitoはスマホアプリとWebアプリの両方で使えますか?
A. はい。Android・iOS・JavaScriptのSDKが提供されており、モバイルアプリとWebアプリの両方でご利用いただけます。既製のUI(Hosted UI)を使えばログイン画面をゼロから実装する手間も省けます。

まとめ

Amazon Cognitoについてのポイントをまとめます。

  • Amazon Cognitoは、Webアプリやモバイルアプリにサインアップやサインインのユーザー管理機能を追加できるAWSのマネージドサービス
  • 「ユーザープール」でサインイン管理、「IDプール」でAWSリソースへのアクセス制御という2つのコンポーネントが中心
  • Google・Apple・Facebook等のソーシャルログインや、企業のActive DirectoryとのSAML連携にも対応
  • 直接サインインの場合は月間50,000MAUまで無料(無期限)で利用でき、小〜中規模サービスはコストゼロで導入可能
  • AWS Lambda(Lambda Trigger)と連携することで、認証フローのカスタマイズや独自ロジックの追加も柔軟に対応できる

▼ アクロビジョンについて

👔

一緒に働きましょう

一人ひとりのキャリアに向き合い、
活躍できる現場をご紹介します。

採用サイトを見る →
💻

システム開発のご依頼・ご相談

コンサルティングから運用保守まで、
ワンストップで対応します。

まずはお気軽にご相談ください →

前の記事

AWS WorkSpacesの使い方について

次の記事

VPSとEC2について