🍏

App Service で別テナントのユーザーで認証させる

2023/06/30に公開

はじめに

Azure App Service では組み込みで認証機能を追加する機能があり、Azure AD 認証させることが可能ですが、シンプルに構成すると App Service があるテナントのユーザーで認証することになります。
https://learn.microsoft.com/ja-jp/azure/app-service/scenario-secure-app-authentication-app-service

ただし、App Service があるテナントが M365 テナントと別になっている場合に、App Service で別テナントのユーザーで認証させる必要が出てきたりします。この記事ではこちらのシナリオを検証してみます。
参考は以下の資料の [シナリオ4] になります。
https://jpazureid.github.io/blog/azure-active-directory/app-service-auth-multi-tenant/

設定してみる

ユーザーが所属するテナントで設定

Azure AD の [アプリの登録] から [新規登録] をクリック


サポートされているアカウントの種類は [この組織ディレクトリに含まれるアカウント] を指定し、リダイレクト URI に [Web] と [https://(App Service URL)/.auth/login/aad/callback] を指定


概要ページでアプリケーション (クライアント) ID とディレクトリ (テナント) ID をメモ


[認証] から [暗黙的な許可およびハイブリッド フロー] で [ID トークン] を有効


[証明書とシークレット] から [新しいクライアント シークレット] をクリックし追加し、値をコピー

App Service があるテナントで設定

App Service の画面で [認証] > [ID プロバイダーの追加] をクリック

ID プロバイダーで [Microsoft]、アプリの登録の種類で [既存アプリの登録の詳細を提供します] を
選択し、先ほどコピーしたアプリケーション (クライアント) ID、クライアント シークレットを入力
発行者の URL は [https://login.microsoftonline.com/(ユーザーが所属するテナントID)/v2.0]
を指定

動作確認

App Service にアクセスして、想定したユーザーでログインしてみます。途中アクセス許可の画面が出てくるので承諾します。


正常にログインでき、App Service の初期画面が表示されました。

なお App Service があるテナントのユーザーでログインすると失敗することも確認できました。

Microsoft (有志)

Discussion