Microsoft が管理する世界のデータ センター ネットワークを介してアプリケーションとサービスを構築、配置、および管理するインフラストラクチャおよびクラウド コンピューティング プラットフォーム。
APIM→Function間のBearer認証におけるFunction側でのJWT再検証の構成可否と実装方法
※質問が複数ございますが、それぞれ関連する構成上の懸念点であり、可能な範囲で結構ですので、一部の質問だけでもご回答いただけますと大変助かります。
また、内容の確認にあたって追加で必要な情報がございましたら、遠慮なくお知らせください。できる限り早くご提供いたします。
どうぞよろしくお願いいたします。
①-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の作成が可能か?