
[認証・認可] SSO実践:CognitoとEntra IDの連携検証
近年、クラウドサービスの利用拡大に伴い、認証・認可の仕組みはシステム開発における重要な要素となっています。特に企業システムでは、認証基盤の標準化による開発効率の向上や、アクセス制御の強化によるセキュリティ向上が求められています。
こうした背景から、株式会社エヌアイデイでは今後の認証領域の標準モデルを確立し、開発の迅速化とセキュリティ強化を実現することを目的として、Amazon Cognitoを利用した認証・認可の技術検証を実施しました。
今回の検証は、今後の案件での実運用に向け、事前にナレッジを蓄積することを目的として、社内の若手メンバー(当時1年目~3年目)が2025年7月~10月にかけて実施しました。
※本記事はスライドの記載内容をもとに、検証の要点を簡潔にまとめています。詳細な検証内容や技術的な説明は埋め込みのスライド本文をご参照ください。
検証の目的
本検証では、今後の認証領域の標準モデルを確立し、開発の迅速化とセキュリティ強化を実現することを目的に、以下の検証を実施しました。
API GatewayのCognitoオーソライザー機能を実装し、認証によるAPIへのアクセス制御の可否
CognitoとEntra ID間のIdP連携を実装し、認証によるAPI Gatewayへのアクセス制御の可否
Cognito におけるManaged Login機能によるログインページのカスタマイズ性の確認およびManaged LoginにAWS WAFを利用したアクセス制御の可否
検証方法
検証1:Cognito + API Gateway
検証1では以下の項目を検証しました。
トークンの取得
APIリクエストの送信とレスポンスの確認
トークン認証の検証
構成図は次の通りです。

- Client端末よりAmazon Cognitoへ認証情報を送信し、JWT(JSON Web Token)を取得する。
- 取得したJWTを含め、APIリクエストを送信する。
- API Gatewayは、リクエストに含まれるJWTをAmazon Cognitoのオーソライザー機能により認証する。
- 認証が成功した場合、Lambda関数が実行される。
- Lambda関数が実行結果をClient端末に返す。
検証2:Cognito + Entra ID
検証2では以下の項目を検証しました。
Managed Loginページからのサインイン
IDトークンの取得
トークン認証の検証
構成図は次の通りです。

URLからAPI Gatewayにアクセスする。
API GatewayからCognitoにリクエスト許可が行われる。
CognitoからEntra ID IdPにリダイレクトされる。
端末からEntra ID IdPにSAMLリクエスト、サインインを行う。
認証されるとEntra ID IdPからSAMLレスポンスを返す。
端末からCognitoにSAMLアサーションを行う。
CognitoからJWTトークン発行される。
トークンを付与してAPIへリクエストを行う。
トークンの検証を行う。
認証が成功した場合、リクエストが転送され、Lambda関数が実行される。
Lambda関数の実行結果をClient端末に返す。
検証3:Cognito Managed Login + AWS WAF
検証3では以下の項目を検証しました。
Managed Login画面の作成
レート制限による大量アクセスからの防御
IP制御によるネットワーク制御
構成図は次の通りです。検証1の構成で、Cognitoの前段にWAFを追加しています。

※各検証における詳細な設定内容についてはスライド本文をご参照ください。
検証結果
検証1:Cognito + API Gateway
認証されたAPIリクエストのみ、Lambda関数のレスポンスを正常に受け取れることを確認しました。IDトークンが無効、あるいは付与されていないリクエストには認証エラーが返されることから、Cognitoオーソライザー機能がAPIへのアクセスを適切に制御できることを確認しました。
また、検証を通じて、API Gatewayで認証を行うためには適切なIDトークンが必要であることを確認できました。
検証2:Cognito + Entra ID
Entra IDとのSSO連携では、SAML認証やリダイレクト処理をほとんど意識せずにシングルサインオンが行えることを確認しました。一方で、IDトークンを付与せずにアクセストークンを利用してAPIリクエストを送信した場合には認証エラーとなることを確認できました。
また、CognitoのManaged Login設定が未実施だったことによるサインイン画面のエラーも発生し、Managed Loginが単なるログイン画面ではなく、SSOの応答処理を担う重要なコンポーネントであることを確認できました。
検証3:Cognito Managed Login + AWS WAF
Managed Loginについては、ロゴの挿入や配色変更、フォーム配置変更などの基本的なデザイン調整が可能であることを確認しました。一方で、表示文言の変更や独自フォームの追加、独自の画面遷移などには対応しておらず、UIカスタマイズには一定の制約があることも分かりました
AWS WAFについては、レート制限による大量アクセスからの防御、およびIP制限によるアクセス制御が有効に機能することを確認しました。許可していないネットワークからのアクセス時には、WAFによって403エラーが返されることも確認しています。
まとめ
今回の検証を通じて、CognitoオーソライザーによるAPIアクセス制御、Entra IDとのSSO連携、Managed LoginとAWS WAFを利用した認証基盤の実現性を確認することができました。
今後は、Cognitoのグループ機能やカスタムスコープ機能の活用、Entra IDの条件付きアクセスポリシーやIntuneとの連携検討を進めるとともに、「Managed Login + WAF」と「独自UI実装 + WAF」の標準モデル化を通じて、案件対応における開発速度の向上を目指していきます。
エヌアイデイでは引き続き技術検証を通じて知見の蓄積を行い、認証・認可領域における提案力向上につなげていきます。






