LoginSignup
54
59

More than 3 years have passed since last update.

Amazon Cognito とは

Last updated at Posted at 2020-05-18

Amazon Cognito とは

Amazon Cognito は、ウェブアプリケーションやモバイルアプリケーションの認証、許可、ユーザー管理をサポート

Amazon Cognito の主な 2 つのコンポーネントは、ユーザープールと ID プールです。

Amazon Cognito ユーザープールと ID プールを一緒に使用するケース

スクリーンショット 2020-05-18 14.59.50.png

一般的な Amazon Cognito シナリオ

  • ユーザープールによる認証
  • ユーザープールを使用してサーバー側のリソースにアクセスする
  • API Gateway および Lambda でユーザープールを使用してリソースにアクセスする
  • ユーザープールと ID プールを使用して AWS のサービスにアクセスする
  • サードパーティーを使用して認証を行い、ID プールを使用して AWS サービスにアクセスする
  • Amazon Cognito を使用した AWS AppSync リソースへのアクセス

ユーザープールによる認証

スクリーンショット 2020-05-18 15.07.23.png

認証に成功すると、ウェブやモバイルアプリケーションに Amazon Cognito よりユーザープールトークンが送信されます。これらのトークンを使用して、他の AWS のサービスへのアプリによるアクセスを許可する AWS 認証情報を取得したり、サーバー側のリソースへのアクセスや Amazon API Gateway へのアクセスを制御したりすることができます。

WEBIDFederationでトークンと一時認証情報を交換して使います。

ユーザープールを使用してサーバー側のリソースにアクセスする

スクリーンショット 2020-05-18 15.13.50.png

こちらもトークンと一時認証情報を交換して使います。

API Gateway および Lambda でユーザープールを使用してリソースにアクセスする

スクリーンショット 2020-05-18 15.22.58.png

API Gateway を介して API にアクセスすることをユーザーに許可できます。API Gateway は、成功したユーザープール認証からトークンを検証し、Lambda 関数や独自の API などのリソースへのアクセスをユーザーに許可するためにトークンを使用します。

ユーザープールと ID プールを使用して AWS のサービスにアクセスする

スクリーンショット 2020-05-18 15.23.55.png

まずユーザープールで認証を行う。そのあとにIDプールでトークンと一時認証情報を交換。それを使ってAWSリソースにアクセスする。

こちらの記事でフェデレーションについて扱っています。

サードパーティーを使用して認証を行い、ID プールを使用して AWS サービスにアクセスする

スクリーンショット 2020-05-18 15.26.35.png

ユーザープールの代わりに外部Idpを使用。そのあとは一緒です。

Amazon Cognito を使用した AWS AppSync リソースへのアクセス

スクリーンショット 2020-05-18 15.28.28.png

Amazon Cognito のユーザープールと ID プールの違いは何ですか?

ユーザープールでは認証 (アイデンティティの検証) ができます。ユーザープールを使用すると、アプリユーザーはユーザープールからのサインインや、サードパーティーのアイデンティティプロバイダー (IdP) を介した連携ができます。

ID プールでは認可 (アクセスコントロール) ができます。ID プールを使用すると、ユーザーに一意の ID を作成して、他の AWS サービスへのアクセスを許可できます。

参考文献

54
59
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
54
59