クイックスタート: Azure App Service で実行されている Web アプリにアプリ認証を追加する
[アーティクル] 2024/06/06
4 人の共同作成者
フィードバック
この記事の内容
App Service によって提供される自動認証
1.前提条件
2. App Service で Web アプリを作成して公開する
3. 認証と承認を構成する
4. Web アプリへの制限付きアクセスを確認する
5.リソースをクリーンアップする
次のステップ
さらに 3 個を表示
注意
2024 年 6 月 1 日以降に新しく作成される App Service アプリでは、名前付け規則 <app-name>-<random-hash>.<region>.azurewebsites.net
を使用する一意の既定のホスト名を生成できます。 既存のアプリ名は変更されません。 次に例を示します。
myapp-ds27dh7271aah175.westus-01.azurewebsites.net
詳しくは、App Service リソースの一意の既定のホスト名 に関するページをご覧ください。
Azure App Service で実行されている Web アプリの認証を有効にし、アクセスを組織内のユーザーに制限する方法について説明します。
このチュートリアルでは、以下の内容を学習します。
Web アプリの認証を構成する。
ID プロバイダーとして Microsoft Entra を使用して、Web アプリへのアクセスを組織内のユーザーに限定します。
App Service によって提供される自動認証
App Service では組み込みの認証と承認がサポートされているため、Web アプリでコードをまったく記述せずにユーザーをサインインさせることができます。 オプションである App Service の認証および承認モジュールを使用すると、アプリの認証と承認が簡素化されます。 カスタムの認証と承認の準備ができたら、このアーキテクチャに基づいて構築します。
App Service 認証では、次の機能が提供されます。
Azure portal とアプリ設定を通じて簡単に起動して構成できます。
SDK、特定の言語、またはアプリケーションのコードの変更は必要ありません。
複数の ID プロバイダーがサポートされています。
Microsoft Entra
Microsoft アカウント
Facebook
Google
x
認証/承認モジュールが有効になっている場合、すべての受信 HTTP 要求は、アプリのコードによって処理される前に、それを通過します。詳細については、「Azure App Service での認証と承認 」を参照してください。
Azure サブスクリプション をお持ちでない場合は、開始する前に Azure 無料アカウント を作成してください。
2. App Service で Web アプリを作成して公開する
このチュートリアルでは、App Service にデプロイされた Web アプリが必要です。 既存の Web アプリを使用することも、いずれかのクイックスタートに従って新しい Web アプリを作成して App Service に公開することもできます。
既存の Web アプリを使用するか新しい Web アプリを作成するかにかかわらず、次のものをメモしてください。
Web アプリの名前
Web アプリのデプロイ先のリソース グループ
これらの名前は、このチュートリアル全体を通して必要になります。
App Service で Web アプリを実行したら、認証と承認を有効にします。 ID プロバイダーとして Microsoft Entra を使用します。 詳細については、App Service アプリケーションの Microsoft Entra 認証の構成 に関する記事をご覧ください。
Azure portal メニューで [リソース グループ] を選択するか、任意のページから [リソース グループ] を検索して選択します。
[リソース グループ] でリソース グループを検索して選択します。
[概要] で、アプリの管理ページを選択します。
アプリの左側のメニューで [認証] を選び、[ID プロバイダーの追加] を選びます。
[ID プロバイダーの追加] ページで、Microsoft および Microsoft Entra ID にサインインするための ID プロバイダー として [Microsoft] を選択します。
[テナントの種類] で、従業員とビジネス ゲストについて [従業員の構成 (現在のテナント)] を選びます。
[アプリの登録] >[アプリの登録の種類] で、[新しいアプリの登録を作成する] を選び、Microsoft Entra で新しいアプリの登録を作成します。
アプリケーションの表示名 を入力します。 表示名は、サインイン時など、アプリケーションのユーザーがアプリを使用するときに表示されることがあります。
[クライアント シークレットの有効期限] については、[推奨:180 日] を選択します。
[アプリの登録] >[サポートされているアカウントの種類] で、[現在のテナント - 単一テナント] を選択して、組織のユーザーのみが Web アプリにサインインできるようにします。
[追加チェック] セクションで、次を選択します。
[クライアント アプリケーション要件] に対して [このアプリケーション自体からの要求のみを許可する]
[ID 要件] に対して [あらゆる ID からの要求を許可する]
[テナント要件] に対して [発行者テナントからの要求のみを許可する]
[App Service の認証設定] セクションで以下を設定します。
[認証] に対して [認証を要求する]
[認証されていない要求] に対して [HTTP 302 リダイレクトが見つかりました - Web サイトに推奨]
[トークン ストア] ボックス
[ID プロバイダーの追加] ページの下部にある [追加] を選び、対象の Web アプリの認証を有効化します。
これで、App Service の認証と承認によってアプリが保護されるようになりました。
注意
他のテナントからのアカウントを許可するには、[認証] ブレードから [ID プロバイダー] を編集し、[発行者の URL] を [https://login.microsoftonline.com/common/v2.0 ] に変更します。
Azure portal メニューで [リソース グループ] を選択するか、任意のページから [リソース グループ] を検索して選択します。
[リソース グループ] でリソース グループを検索して選択します。
[概要] で、アプリの管理ページを選択します。
アプリの左側のメニューで [認証] を選び、[ID プロバイダーの追加] を選びます。
[ID プロバイダーの追加] ページで、Microsoft および Microsoft Entra ID にサインインするための ID プロバイダー として [Microsoft] を選択します。
[テナントの種類] で、外部ユーザーに関して [外部構成] を選びます。
[アプリの登録を新規作成する] を選択して、新しいアプリ登録を作成します。
使用する既存のテナントをドロップダウンから選択するか、[新規作成] を選択して新しい外部テナント を作成します。
(省略可能) [テナントの作成] * ページで、[テナント名] と [ドメイン名] を追加します。
[場所] を選択し、[レビューと作成] 、[作成] の順に選択します。
[構成] を選んで外部認証を構成します。
ブラウザーが [顧客認証の構成] を表示します。
[サインインの設定] で [新規作成] を選んで、外部ユーザーのサインイン エクスペリエンスを作成します。
ユーザー フローの [名前] を入力します。
このクイックスタートでは [メールとパスワード] を選びます。これにより、新しいユーザーは、サインイン名としてメール アドレスを、最初の要素の資格情報としてパスワードを使用して、サインアップとサインインができるようになります。
[作成] を選択してユーザー フローを作成します。
[次へ] を選んで、ブランドをカスタマイズします。
会社のロゴを追加し、背景色を選んで、サインイン レイアウトを選びます。
[次へ ] を選択します。 選択したテナントに既にブランド化構成がある場合は、オーバーライドすることを確認する必要があります。
[レビュー] タブで [構成] を選んで、外部テナントの更新を確定します。
ブラウザーが [ID プロバイダーの追加] ページに戻ります。
[追加チェック] セクションで、次を選択します。
[クライアント アプリケーション要件] に対して [このアプリケーション自体からの要求のみを許可する]
[ID 要件] に対して [あらゆる ID からの要求を許可する]
[テナント要件] に対して [発行者テナントからの要求のみを許可する]
[App Service の認証設定] セクションで以下を設定します。
[認証] に対して [認証を要求する]
[認証されていない要求] に対して [HTTP 302 リダイレクトが見つかりました - Web サイトに推奨]
[トークン ストア] ボックス
[ID プロバイダーの追加] ページの下部にある [追加] を選び、対象の Web アプリの認証を有効化します。
4. Web アプリへの制限付きアクセスを確認する
前のセクションで App Service の認証および認可モジュールを有効化した際に、従業員または外部テナントにアプリの登録が作成されました。 アプリの登録には、前の手順で作成した表示名があります。
設定を確認するには、アプリケーション開発者 以上として Microsoft Entra 管理センター にサインインします。 外部構成を選んだ場合は、上部のメニューの [設定] アイコンを使用して、[ディレクトリ + サブスクリプション] メニューから Web アプリの顧客 (外部) テナントに切り替えます。 正しいテナントである場合、以下を実施します。
[ID] >[アプリケーション] >[アプリの登録] の順に移動し、メニューから [アプリケーション] >[アプリの登録] の順に選択します。
作成されたアプリの登録を選択します。
概要で、 [サポートされているアカウントの種類] が [所属する組織のみ] に設定されていることを確認します。
アプリへのアクセスが組織内のユーザーに限定されていることを確認するには、Web アプリの [概要] にアクセスし、[既定のドメイン] リンクを選択します。 または、シークレットかプライベート モードでブラウザーを起動し、https://<app-name>.azurewebsites.net
にアクセスします (上部の注 を参照)。
セキュリティで保護されたサインイン ページが表示されるので、認証されていないユーザーにはサイトへのアクセスが許可されないことを確認できます。
サイトにアクセスするために、組織内のユーザーとしてサインインします。
新しいブラウザーを起動し、個人用アカウントを使用してサインインしてみることで、組織外のユーザーにはアクセス権がないことを確認することもできます。
この複数のパートで構成されるチュートリアルのすべての手順を完了している場合、App Service、App Service ホスティング プラン、ストレージ アカウントがリソース グループに作成されています。 また、Microsoft Entra ID にアプリの登録も作成されています。 外部構成を選択した場合は、新しい外部テナントが作成されている可能性があります。 これらのリソースとアプリの登録が不要になったら、引き続き料金が発生することのないように、これらを削除します。
このチュートリアルでは、以下の内容を学習します。
チュートリアルに従って、作成した Azure リソースを削除する。
Azure portal で、ポータル メニューから [リソース グループ] を選択し、対象の App Service と App Service プランが含まれているリソース グループを選択します。
[リソース グループの削除] を選択して、リソース グループとすべてのリソースを削除します。
このコマンドの実行には数分かかることがあります。
Microsoft Entra 管理センター で、[アプリケーション] >[アプリの登録] を選びます。 次に、作成したアプリケーションを選択します。
アプリの登録の概要で、 [削除] を選択します。
新しい外部テナントを作成した場合は、削除できます 。
Microsoft Entra 管理センター で、[ID] >[概要] >[テナントの管理] の順に参照します。
削除するテナントを選択してから、[削除] を選択します。
テナントを削除する前に、必要なアクションを完了することが必要な場合があります。 たとえば、テナント内のすべてのユーザー フローとアプリの登録を削除する必要がある場合があります。
テナントを削除する準備ができたら、[削除] を選択します。
このチュートリアルでは、次の作業を行う方法を学びました。
Web アプリの認証を構成する。
Web アプリへのアクセスを組織内のユーザーに制限する。