AWSの「Amazon Cognito」とは?利用ケースや活用方法を紹介!
IT・技術関連
更新日:2024.09.05


AWSの「Amazon Cognito」とは?
「Amazon Cognito(アマゾン コグニート)」とは、モバイルアプリやWebアプリに対してAWS社から提供されている「認証処理サービス」の一つです。
こちらの記事では、「Amazon Cognito」の概要、主な機能や利用ケースについて解説していきます。
「Amazon Cognito」の概要について

「Amazon Cognito」の主な機能

「ユーザープール」とは
「ユーザープール」とは、IDやパスワードの認証情報をアプリ内部の「ユーザーディレクトリ」という領域に保存し、その情報を利用してアプリの「認証」を行う機能です。 この認証処理の後に「Cognitoトークン(JSON形式)」が発行され、以降はこのトークンを使用して認証処理が行われます。「ユーザープール」の認証処理について
この「ユーザープール」での「認証」とは、いわゆるログインやサインイン等のことで、アクセスしてきたユーザーが誰であるか(アイデンティティ)を確認する処理です。 またこの認証処理は、Facebook、Amazon等の「外部IDプロバイダー(「IDP」と呼ばれます)」とも連携が可能となっており、外部からログイン情報を連携してもらうことで利用アプリの認証連携を行うこともできます。「IDプール」とは
「IDプール」とは、「Amazon Cognito」のユーザープールに加えて、外部IDプロバイダーと連携しながらAWSの各サービスに対する「認可」を行う機能です。 このIDプールは、ユーザー識別情報とそのユーザーが利用許可されているAWSのサービスの情報とを保持しています。そのためアプリ等から渡された「Cognitoトークン」を参照して、ユーザーが申請しているAWSサービスの利用可否を判定しています。「IDプール」の「認可」について
「IDプール」における「認可」とは、アクセスしてきたユーザーが誰であるかを確認(認証)した後の処理です。また、そのユーザーが利用しようとしているサービスが「利用許可されているか」を確認する処理のことです。「ユーザープール」と「IDプール」の違いとは
「ユーザープール」は「認証(アクセスしてきたユーザーが誰か)」を処理しますが、「IDプール」は「認可(そのユーザーが利用できるサービスであるか)」を処理するという違いがあります。 もう一点の違いは、「ユーザープール」の認証処理の対象は「アプリ」ですが、「IDプール」は「AWSのサービス」が対象となっている点です。「ユーザープール」と「IDプール」の利用方法のポイント
「ユーザープール」と「IDプール」の利用方法のポイントは、両方ともセットで実装することです。 その理由は、「認証(誰が)」と「認可(何のサービスを)」は組み合わせて利用することではじめて認証サービスとして機能するからです。 またモバイルアプリやWebアプリでは、「Facebook連携」等で外部IDプロバイダーと連携する認証方式とすることも一般的です。「Cognito Sync」とは
「Cognito Sync」とは、モバイルアプリとクラウド間のデータを同期する機能です。 現在も提供中ですが、同様の機能を有するさらに高機能な「AWS AppSync」の利用がAWS社から公式に推奨されています。 そのことからCognitoのデータ同期サービスを新規で利用する場合は、「AWS AppSync」を選択することが望ましいと考えられます。「AWS AppSync」とは
「AWS AppSync」とは、モバイルアプリとクラウド間のデータ同期機能です。 「Cognito Sync」と同様の機能ですが、「AWS AppSync」の方がより高機能版となっており、上述した通り現在ではこちらの利用が推奨されています。 主な特徴としては、「GraphQL」という柔軟な問い合わせが可能な「クエリ言語」が利用できる点です。「GraphQL」とは
「GraphQL」とは、Facebookが開発したWeb APIのための規格です。 従来のREST方式のAPIと比較すると、必要なデータだけに絞って取得するといった柔軟な操作が可能となっているのが特徴です。 またSNS等で利用されているデータベースの「データ構造」に類似しているため、データ変換処理が省略可能なため負荷軽減できるといったメリットもあります。AWS上で選択可能なユーザー認証方法について

AWSで提供しているユーザー認証サービス
AWSでは数多くのユーザー認証サービスが提供されており、通常であればこちらを利用します。 例えば、本記事で紹介している「Amazon Cognito」や「Amazon Single Sign-On(SSO)」といったシングル・サインオンのサービスがあります。AWSパートナー企業のクラウド認証サービス
AWS社とパートナー契約を締結している企業が提供しているクラウド認証サービスを利用することも可能です。 例えば、「Auth0」や「onelogin」等のシングル・サインオンのサービスがあり、AWSのサービスだけでは不足する機能等がある場合は、これらも選択肢となります。自社開発の認証サービス
AWS、もしくはAWSパートナー企業で提供している認証サービスでは、自社の特殊なセキュリティ要件を満たせない場合があります。 そういったケースでは、自社内で通常通りのシステム開発計画を立て、独自の認証サービスを開発します。「Amazon Cognito」の利用ケースと実装方法

「Amazon Cognito」のユーザープールへのサインイン
モバイルアプリから、「Amazon Cognito」のユーザープールに対してサインインします。 このサインインで認証に成功すると、モバイルアプリはユーザープールから「Cognitoトークン」を取得できます。「Amazon Cognito」の「ID プール」へのアクセス
モバイルアプリは、取得した「Cognitoトークン」を利用して、「Amazon Cognito」の「ID プール」にアクセスします。 ここで「Cognitoトークン」と「IDトークン」を交換することで、「認可」に成功します。 この「IDトークン」を利用して、モバイルアプリはAWSの認可されたサービスにアクセス可能となります。「Amazon Cognito」の実装方法
Cognitoを自社アプリで利用する際には、AWS社から提供されている「SDK(ソフトウェア開発キット)」を用いて、必要なAPI用モジュールをアプリに実装する必要があります。 CognitoのSDKには、主にJavaScriptの利用が想定されていますが、他にも Java、Python、PHP等の言語でも開発できます。「Amazon Cognito」の学習方法

この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ
ITエンジニアの派遣を利用したい企業様へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。