(新機能) Azure Application GatewayにJWT検証機能がリリースされたので試してみた

2026.01.05
(新機能) Azure Application GatewayにJWT検証機能がリリースされたので試してみた
  こんにちは、MS開発部の渋谷です。 クラウド体験は生成AIの拡がりに伴い、これまで以上に “安全性” と “俊敏性” を両立したアーキテクチャ が求められる時代へと進化しています。アプリケーションがエンドユーザーの近くで高速に動くだけでなく、アクセス元の信頼性をエッジで判断できるかどうか は、あらゆるクラウドサービスにおける競争力を左右する重要なテーマになりました。 しかし、これまでAPIやWebアプリケーションの認証を堅牢に保つには、アプリケーション側での複雑なトークン検証ロジックや認証基盤の管理が必要で、実装コストの増大や運用負荷につながっていました。ゼロトラストを前提とした「入口での認証強化」を実現したい一方で、バックエンド側では余分な処理を持ちたくない——そんな課題は多くのシステムで共通していたはずです。 その課題を解消するのが、新たに追加された Azure Application GatewayのJSON Web Token (JWT) 検証機能 です。アプリケーションに到達する前の “最初のホップ” でトークンの署名や有効性を確認し、不正なリクエストをブロックできるため、アプリ側での追加実装が不要になります。さらに、検証済みのID情報をヘッダーとしてアプリケーションに安全に伝搬できるため、信頼境界をエッジ側に移しつつシンプルな構成を維持できます。 クラウドのスケーラビリティとゼロトラストのセキュリティモデルを両立しながら、開発者がアプリケーション本来の価値に集中できる——そんな新しいアプローチを実現するのが、この JWT検証機能です。API保護・B2Bアクセス制御・多層ディフェンスなど、さまざまなユースケースで活用が広がることが期待されます。 本記事では、Azure Application GatewayのJWT検証機能の概要から、実際の構成・動作確認まで、実際に触ってみた内容をわかりやすく紹介していきます。

Azure Application GatewayのJWT検証機能とは

JWT(JSON Web Token)検証機能とは、Azure Application Gatewayが受信したHTTPSリクエストに含まれるJWTをエッジで確認し、トークンの正当性を判定するための仕組みです。これにより、アプリケーション側で複雑な認証ロジックを実装することなく、最初の入口で不正アクセスを遮断できるようになります。 この機能は、Microsoft Entra ID(旧 Azure Active Directory)が発行したトークンの署名・発行者・テナント・対象(audience)・有効期限などを検証し、問題がなければ要求をバックエンドへ転送します。検証が成功したリクエストには、Application Gatewayがx-msft-entra-identityヘッダーを自動的に付与し、アプリケーションが安全にユーザー情報を利用できるようにします。 一方で、トークンが無効・期限切れ・あるいは付与されていない場合は、Application Gatewayがリクエストを401 Unauthorizedとして拒否します。このため、バックエンド側に不要な負荷をかけることなく、ゼロトラストアーキテクチャに沿ったアクセス制御を実現できます。 JWT検証機能はステートレスに動作するため、各リクエストごとにトークンが必ず検証されます。これにより、セッション情報を保持しないモダンなAPIアーキテクチャとの相性が良く、セキュリティ・開発効率・運用性を同時に高められる点が大きな特徴です。 AzureにおけるJWT検証といえば、これまではAzure API Managementを使う構成が一般的でしたが、新しいアーキテクチャの選択肢が生まれた形となります。

実際に試してみた

JWT検証機能を試すために、まずはApplication Gatewayをデプロイします。Application Gatewayは以下の条件でデプロイする必要があります。
  • SKU: Standard_v2またはWAF_v2 (Basic SKU はサポートされていません)
  • プロトコル: HTTPS リスナーが必要 (TLS/SSL 証明書が構成されている)
  • API バージョン: Azure Resource Manager API バージョン 2025-03-01 以降
以下の形でデプロイが完了しました。 つづいてアプリケーションの登録をします。「新規作成」を選択します。 任意の名前を入力し「登録」します。 表示された「クライアントID」と「テナントID」をメモ帳等にコピーしておきます。 「アプリケーションID URIの追加」をクリックします。 「追加」から「保存」をします。 表示されたURLをメモ帳等にコピーしておきます。 つづいてJWT検証機能の有効化をします。現時点ではプレビュー機能のため専用URLが用意されています。専用URLから先ほどデプロイしたApplication Gatwayを表示します。Settings内に「JWT validation configurations」メニューが表示されます。 「+Add JWT validation configuration」をクリックし必須事項を入力後「Add」します。AudiencesはアプリケーションID URIです。 設定が完了したのでどのように動作をするのか実際に試してみます。 トークンを取得せずにApplication GatewayのパブリックIPにアクセスすると401エラーが返ってきます。 トークンを取得するとアクセスすることができます。Application GatewayでJWT検証を終端できていることが分かります。

さいごに

今回はAzure Application Gatewayの新機能であるJWT検証機能を紹介しました。 Azure App ServiceやAzure VMなどとよくペアで使用されるサービスにてJWT検証ができるようになったのはとても便利ですね。Azure API Management以外の選択肢が増えたことでアーキテクチャ選択肢の幅が拡がりました。 本機能はプレビューのため本番活用はお気をつけください。最新情報は公式ドキュメントをご確認ください。 皆様の業務に少しでもお役に立つ情報をお届けできていれば幸いです。  

以上、最後までご愛読いただき
ありがとうございました。

お問い合わせは、
以下のフォームへご連絡ください。

お問い合わせ

PAGETOP