AWS 応用コース / 第4章 Cognitoにより認証を実現する

CognitoとAPI Gatewayの認証フロー

ユーザーのログインと、アクセストークンを持ったAPI呼び出しを別の経路として理解する。

TL;DR — この章で学ぶこと

  1. ログインとAPI認可は別経路
  2. User Pool・App Client・scopeの役割
  3. API Gateway Authorizerがトークンを検証する

01ログインとAPI認可は別経路

何がこの仕組みの入口になるか? — ログインとAPI認可は別経路を、構成図の矢印から読み解く。

ログインとAPI認可は別経路の図解
図の読み方: 左から入力、中央が判断・制御、右が到達先。矢印は処理または検証が進む向きを示す。

何を学ぶか

実務では 何がこの仕組みの入口になるか? を先に確認する。設定値だけでなく、入力と出力の境界を明確にする。

02User Pool・App Client・scopeの役割

どのサービスが責任を持つか? — User Pool・App Client・scopeの役割を、構成図の矢印から読み解く。

User Pool・App Client・scopeの役割の図解
図の読み方: 左から入力、中央が判断・制御、右が到達先。矢印は処理または検証が進む向きを示す。

何を学ぶか

実務では どのサービスが責任を持つか? を先に確認する。設定値だけでなく、入力と出力の境界を明確にする。

03API Gateway Authorizerがトークンを検証する

失敗時にはどこへ戻る/進むか? — API Gateway Authorizerがトークンを検証するを、構成図の矢印から読み解く。

API Gateway Authorizerがトークンを検証するの図解
図の読み方: 左から入力、中央が判断・制御、右が到達先。矢印は処理または検証が進む向きを示す。

何を学ぶか

実務では 失敗時にはどこへ戻る/進むか? を先に確認する。設定値だけでなく、入力と出力の境界を明確にする。

結論

  1. 経路1: クライアント → Cognito User Pool → トークン取得。経路2: クライアント → Authorization header付きAPI Gateway → Cognito Authorizer検証 → Lambda。混ぜて描かない。
  2. User Poolはユーザーを管理し、App Clientはアプリからの利用条件を定める。属性権限とscopeを必要な範囲に絞る。
  3. API Gatewayは有効なトークンのリクエストだけをLambdaへ流す。Lambda自身にログイン処理を埋め込む設計と混同しない。