Share via


Azure App Service で実行されている Web アプリに認証を追加する

Azure App Service で実行されている Web アプリの認証を有効にし、アクセスを組織内のユーザーに制限する方法について説明します。

Diagram that shows user sign-in.

App Service では組み込みの認証がサポートされているので、Web アプリで最小限のコードを記述するだけで、またはコードをまったく記述せずに、ユーザーをサインインし、データにアクセスできます。 App Service の認証モジュールの使用は必須ではありませんが、アプリの認証の簡素化に役立ちます。 この記事では、Microsoft Entra ID を ID プロバイダーとして使って、App Service 認証モジュールで Web アプリを保護する方法について説明します。

認証モジュールは、Azure portal とアプリの設定を通じて有効化および構成されます。 SDK、特定の言語、またはアプリケーション コードの変更は必要ありません。さまざまな ID プロバイダーがサポートされています。これには、Microsoft Entra ID、Microsoft アカウント、Facebook、Google、Twitter が含まれます。 認証モジュールが有効になっている場合、すべての受信 HTTP 要求は、アプリ コードによって処理される前にこのモジュールを通過します。​詳細については、「 Azure App Service での認証および認可」を参照してください。

このチュートリアルでは、次の作業を行う方法について説明します。

  • Web アプリの認証を構成する。
  • Web アプリへのアクセスを組織内のユーザーに制限する。

前提条件

Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。

App Service で Web アプリを作成して公開する

このチュートリアルでは、App Service にデプロイされた Web アプリが必要です。 既存の Web アプリを使用するか、ASP.NET CoreNode.jsPythonJava のいずれかのクイックスタートに従って新しい Web アプリを作成して App Service に公開することができます。

既存の Web アプリを使用するか新しい Web アプリを作成するかにかかわらず、次のものをメモしてください。

  • Web アプリの名前
  • Web アプリのデプロイ先のリソース グループ名

これらの名前は、このチュートリアル全体を通して必要になります。

認証を構成する

これで、App Service で実行されている Web アプリを用意できました。 次に、Web アプリの認証を有効にします。 ID プロバイダーとして Microsoft Entra ID を使用します。 詳細については、App Service アプリケーションの Microsoft Entra 認証の構成に関する記事をご覧ください。

Azure portal メニューで [リソース グループ] を選択するか、任意のページから [リソース グループ] を検索して選択します。

[リソース グループ] でリソース グループを検索して選択します。 [概要] で、アプリの管理ページを選択します。

Screenshot that shows selecting your app's management page.

アプリの左側のメニューで [認証] を選択し、 [ID プロバイダーの追加] をクリックします。

[ID プロバイダーの追加] ページで、Microsoft および Microsoft Entra ID にサインインするための ID プロバイダーとして [Microsoft] を選択します。

[テナントの種類][従業員] を選びます。

[アプリの登録]>[App registration type](アプリの登録の種類) で、 [Create new app registration](新しいアプリの登録を作成する) を選択します。

[アプリの登録]>[サポートされているアカウントの種類] で、 [現在のテナント - 単一テナント] を選択します。

[App Service authentication settings](App Service 認証の設定) セクションで、 [認証][認証が必要] のままにし、 [Unauthenticated requests](認証されていない要求)[HTTP 302 Found redirect: recommended for websites](HTTP 302 Found リダイレクト: Web サイトに推奨) のままにします。

[ID プロバイダーの追加] ページの下部にある [追加] をクリックして、対象の Web アプリの認証を有効にします。

Screenshot that shows configuring authentication.

これで、App Service の認証によってアプリが保護されるようになりました。

Note

他のテナントからのアカウントを許可するには、[認証] ブレードから [ID プロバイダー] を編集し、[発行者の URL] を [https://login.microsoftonline.com/common/v2.0 ] に変更します。

Web アプリへの制限付きアクセスを確認する

App Service の認証モジュールを有効にしたときに、Microsoft Entra テナントにアプリの登録が作成されました。 アプリの登録には、Web アプリと同じ表示名が付けられています。 設定を確認するには、少なくとも クラウド アプリケーション開発者 として Microsoft Entra 管理者センター にサインインし、ID>アプリケーション>アプリの登録 を参照します。 作成されたアプリの登録を選択します。 概要で、 [サポートされているアカウントの種類][所属する組織のみ] に設定されていることを確認します。

Screenshot that shows verifying access.

対象のアプリへのアクセスが組織内のユーザーに制限されていることを確認するには、シークレット モードまたはプライベート モードでブラウザーを起動し、https://<app-name>.azurewebsites.net に移動します。 セキュリティで保護されたサインイン ページが表示されるので、認証されていないユーザーにはサイトへのアクセスが許可されないことを確認できます。 サイトにアクセスするために、組織内のユーザーとしてサインインします。 新しいブラウザーを起動し、個人用アカウントを使用してサインインしてみることで、組織外のユーザーにはアクセス権がないことを確認することもできます。

リソースをクリーンアップする

このチュートリアルを完了し、Web アプリや関連するリソースが不要になった場合は、作成したリソースをクリーンアップします。

次のステップ