APIM→Function間のBearer認証におけるFunction側でのJWT再検証の構成可否と実装方法

crt-test-tkawai 20 評価のポイント
2025-07-25T03:34:34.51+00:00

image

※質問が複数ございますが、それぞれ関連する構成上の懸念点であり、可能な範囲で結構ですので、一部の質問だけでもご回答いただけますと大変助かります。

また、内容の確認にあたって追加で必要な情報がございましたら、遠慮なくお知らせください。できる限り早くご提供いたします。

どうぞよろしくお願いいたします。

①-1

APIM → Function 間の Bearer 認証構成

理想の構成は、クライアントがJWTを取得。APIMとFunctionそれぞれでJWT検証したい。

がどうしてもうまくいかなかった。下記に状況を記す。

APIM 側:

クライアントから受け取った JWT を validate-azure-ad-token ポリシーで 正常に検証

その後、Function App にリクエストを 転送(forward)

Function 側:

App Service 認証(Entra ID連携)を「有効」にした場合:

Bearer トークンの検証がうまく動作しなかった

→ Function App からは 401 Unauthorized が返ったり、ログに No principal found などが出力

App Service 認証を「無効」にした場合:

Function App には到達し実行されるが、セキュリティ的には不十分

JWT の検証は APIM だけで済んでおり、Function 自体は検証していない

このAPIM → FunctionでのJWTの再検証を行う具体的な設定の方法。

理想の構成は、クライアントがJWTを取得。APIMとFunctionそれぞれでJWT検証したい。

もし不可能な場合。

App Service 認証を無効にし、APIMーFunction間は別の認証を行うことでセキュリティを担保できるか?

①-2

また現在の構成Functionはパブリックである。

この状態では、

FunctionがAPIキーがあれば外部から叩ける状態になっていること。

これはセキュリティ的に問題である。

よって、APIM-Function間の認証および、FunctionのネットワークがAPIMからのみ通るべきだがその方法がわからない。

FunctionのネットワークがAPIMからのみ通る設定をすることは可能か、またその具体的な設定方法。

①-3 

※これは上記①-1,①-2,でFunctionが外部からの接続を遮断(セキュリティを担保)できない場合の対応となるがご回答いただきたい。

FunctionPremiumなどが考えられるが、現状JapanEastリージョンでクォーターがひっ迫しており作成が困難なことを確認している。FunctionPremiumが具体的にどのクォーターを利用するのか公式言及がないため。ご教授していただきたい。またそのクォーターがJapanEastでクォーター引き上げが可能か。JapanEastリージョンでのFunctionPremiumの作成が可能か?

Azure
Azure

Microsoft が管理する世界のデータ センター ネットワークを介してアプリケーションとサービスを構築、配置、および管理するインフラストラクチャおよびクラウド コンピューティング プラットフォーム。


お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "おすすめ" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。