Amazon Cognito 設定ガイド

[更新: 2025年10月2日]

Amazon Cognito の設定

Amazon Cognito を使用したOIDC認証の設定例について説明します。
versionは、2025年5月時点のものを使用しています。

注意

この設定手順では、ユーザープールおよび「確認済み」ステータスの認証ユーザがすでに作成されていることを前提としています。

確認済みのユーザ

対象のユーザープールを選択し、サイドバーから「アプリケーションクライアント」を選択します。

アプリケーションクライアントを選択する

アプリケーションクライアントの作成 ボタンを押下し、何も入力せずに「アプリケーションクライアントの作成」ボタンを押下します。

アプリケーションクライアントの作成ボタンを押下する

アプリケーションクライアントの作成が完了すると、クライアントIDとクライアントシークレットが発行されます。
Issuer URLは、以下の形式です。

https://cognito-idp.<リージョン名>.amazonaws.com/<ユーザープールID>
 (例: https://cognito-idp.ap-northeast-1.amazonaws.com/ap-northeast-1_123456789)

OIDC認証の作成

サイドバーからOIDC認証一覧を選択し、OIDC認証作成ボタンを押下します。

OIDC作成ボタンを押下する

OIDC認証の情報を入力し、作成ボタンを押下するとOIDC認証を追加することができます。

OIDC認証の情報を入力する

認証フローは以下の2つがご利用いただけます。(複数選択可能)

3つの認証フローが利用可能

設定値

項目

設定値

名前(必須)

OIDC認証の識別名

認証フロー(必須)

認可コードフロー / アクセストークン認証フロー のいずれかを選択

Issuer URL(必須)

認証サービスのURL

クライアントID(必須)

認証サービスのクライアントID

クライアントシークレット(必須)

認証サービスのクライアントシークレット

オーディエンス

トークンの aud クレームを検証するための値

スコープ

スコープを検証するための値

認証情報の非表示

認証情報をサービス(アップストリームサーバ)に転送するかどうかを選択

セッションの有効化

認証情報をセッションとしてAPIゲートウェイに保存するかを選択
有効化すると、セッションの有効期限について以下の設定が適用されます。
・セッションの最大有効時間:セッション開始から最大 21,600 秒(6 時間)で無条件に無効化されます。
・非アクティブ状態のタイムアウト:最後のアクセスから 3,600 秒(1 時間)経過するとセッションが自動で無効化されます。
・アクセスごとの有効時間の延長:リクエストごとにセッションの有効時間が最大 900 秒(15 分)延長されます。

サービスの作成

サイドバーからサービス一覧を選択し、サービス作成ボタンを押下します。

サービス作成ボタンを押下する

必要な項目を入力し、作成ボタンを押下するとサービスを作成することができます。
認証設定項目にて、OIDC認証を選択するとOIDC認証選択項目が表示されます。

作成ボタンを押下する 作成したOIDC認証を選択する

設定値

項目

設定値

名前(必須)

任意のサービス名

タグ

任意の値

プロトコル(必須)

http or https

ホスト(必須)

バックエンドサービスのホスト

パス

バックエンドサービスのパス(未入力の場合、「/」に設定される)

ポート

バックエンドサービスのポート番号(未入力の場合、設定したプロトコルに対応するポート番号が設定される)

認証設定

OIDC認証を設定

OIDC認証選択

作成したOIDC認証名を設定

作成に成功すると、サービス一覧画面に表示されます。
サービス名をクリックもしくは行をダブルクリックすることで、サービス詳細画面に遷移します。
サービス詳細画面に遷移すると、登録したサービスの情報を確認することができます。
認証設定に選択したOIDC認証が設定されていることを確認します。

登録したサービスの情報を表示

ルートの作成

サイドバーからルート一覧を選択し、ルート作成ボタンを押下します。

ルート作成ボタンを押下する

必要な項目を入力し、作成ボタンを押下するとルートを作成することができます。

作成ボタンを押下する

設定値

項目

設定値

名前(必須)

任意のルート名

タグ

任意の値

プロトコル(必須)

http or https or http/https

ホスト(必須)

自動発行されたホスト名および設定したドメイン名を選択

パス

任意のパス(未入力の場合、「/」が設定される)

HTTPメソッド

ルートへのアクセスメソッド(未入力の場合、全メソッドが許可される)

Amazon Cognito にルートのURIを登録

ログインページ タブを選択し、編集ボタンを押下します。

ログインページ タブを選択し、編集ボタンを押下する

URLにルートのURIを入力します。

注意

ルートのパスを指定していない場合は、URIの末尾にスラッシュ(/)を付与してください。
例: https://site-xxxxxxxxxxxxxxxx.tk1.apigw.sakura.ne.jp/

URLにルートのURIを入力する

ユーザープールの概要に遷移し、「マネージドログインページにブランディングを適用する」内にあるスタイルを設定を押下します。

ユーザープールの概要に遷移し、スタイルを設定を押下する

スタイルを作成ボタンを押下後、作成したクライアントを選択し、作成ボタンを押下します。

スタイルを作成ボタンを押下後、作成したクライアントを選択し、作成ボタンを押下する

ルートにアクセス(認可コードフロー)

認証フローで 認可コードフロー を選択した場合、画面上からルートにアクセスすると Amazon Cognito のログイン画面が表示されます。

Amazon Cognito のログイン画面が表示される

認証ユーザのユーザ名とパスワードを入力し、Continue ボタンを押下します。

認証ユーザのユーザ名とパスワードを入力し、Continue ボタンを押下する

ルートにアクセス(アクセストークン認証フロー)

認証フローで アクセストークン認証フロー を選択している場合、アクセストークンをAuthorizationヘッダに設定し、ルートにアクセスします。

curl --location 'https://site-xxxxxxxxxxxxxxxx.tk1.apigw.sakura.ne.jp/example' \
--header 'Authorization: Bearer (アクセストークン)'

セッションの有効化 を有効にしている、かつ、セッションクッキーを保持している場合はアクセストークンなしでルートにアクセスできます。

curl --location 'https://site-xxxxxxxxxxxxxxxx.tk1.apigw.sakura.ne.jp/example' \
--header 'Cookie: sakura-apigw-oidc-session=(セッションクッキーValue)'