チュートリアル: Azure App Service で実行されている Web アプリにアプリの認証を追加する

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

このチュートリアルでは、以下の内容を学習します。

  • Web アプリの認証を構成する。
  • ID プロバイダーとして Azure Active Directory (Azure AD) を使用して、Web アプリへのアクセスを組織内のユーザーに制限する。

App Service によって提供される自動認証

App Service では組み込みの認証と承認がサポートされているため、Web アプリでコードをまったく記述せずにユーザーをサインインさせることができます。 オプションである App Service の認証および承認モジュールを使用すると、アプリの認証と承認が簡素化されます。 カスタムの認証と承認の準備ができたら、このアーキテクチャに基づいて構築します。

App Service 認証では、次の機能が提供されます。

  • Azure portal とアプリ設定を通じて簡単に起動して構成できます。
  • SDK、特定の言語、またはアプリケーションのコードの変更は必要ありません。
  • 複数の ID プロバイダーがサポートされています。
    • Azure AD
    • Microsoft アカウント
    • Facebook
    • Google
    • Twitter

認証/承認モジュールが有効になっている場合、すべての受信 HTTP 要求は、アプリのコードによって処理される前に、それを通過します。詳細については、「Azure App Service での認証と承認」を参照してください。

アプリとしてバックエンド サービスに接続する

ユーザー認証は、前のセクションで説明したように、アプリ サービスに対するユーザーの認証から始めることができます。

ユーザー サインインを示す図。

アプリ サービスが認証された ID を取得したら、システムではアプリとしてバックエンド サービスに接続する必要があります。

  • マネージド ID を使用します。 マネージド ID が使用できない場合は、Key Vault を使用します。

  • ユーザー ID をそれ以上やり取りする必要はありません。 バックエンド サービスに到達するための追加のセキュリティは、アプリ サービスの ID を使用して処理されます。

1.前提条件

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

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

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

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

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

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

3. 認証と承認を構成する

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

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

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

    アプリの管理ページの選択を示すスクリーンショット。

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

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

  5. [アプリの登録]>[アプリの登録の種類] で、 [新しいアプリの登録を作成する] を選択します。

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

  7. [App Service 認証の設定] セクションで、 [認証][認証が必要] のままにし、 [認証されていない要求][HTTP 302 Found リダイレクト: Web サイトに推奨] のままにします。

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

    認証の構成を示すスクリーンショット。

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

    Note

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

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

前のセクションで App Service の認証および承認モジュールを有効にしたときに、Azure AD テナントにアプリの登録が作成されました。 アプリの登録には、Web アプリと同じ表示名が付けられています。

  1. 設定を確認するには、ポータル メニューから [Azure Active Directory] を選択し、 [アプリの登録] を選択します。

  2. 作成されたアプリの登録を選択します。

  3. 概要で、 [サポートされているアカウントの種類][所属する組織のみ] に設定されていることを確認します。

    アクセスの確認を示すスクリーンショット。

  4. 対象のアプリへのアクセスが組織内のユーザーに制限されていることを確認するには、シークレット モードまたはプライベート モードでブラウザーを起動し、https://<app-name>.azurewebsites.net に移動します。

  5. セキュリティで保護されたサインイン ページが表示されるので、認証されていないユーザーにはサイトへのアクセスが許可されないことを確認できます。

  6. サイトにアクセスするために、組織内のユーザーとしてサインインします。 新しいブラウザーを起動し、個人用アカウントを使用してサインインしてみることで、組織外のユーザーにはアクセス権がないことを確認することもできます。

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

この複数のパートで構成されるチュートリアルのすべての手順を完了している場合、アプリ サービス、アプリ サービス ホスティング プラン、ストレージ アカウントがリソース グループに作成されています。 また、Azure Active Directory にアプリの登録も作成されています。 これらのリソースとアプリの登録が不要になったら、引き続き料金が発生することのないように、これらを削除します。

このチュートリアルでは、以下の内容を学習します。

  • チュートリアルに従って、作成した Azure リソースを削除する。

リソース グループを削除する

Azure portal で、ポータル メニューから [リソース グループ] を選択し、対象のアプリ サービスとアプリ サービス プランが含まれているリソース グループを選択します。

[リソース グループの削除] を選択して、リソース グループとすべてのリソースを削除します。

リソース グループの削除を示すスクリーンショット。

このコマンドの実行には数分かかることがあります。

アプリの登録を削除する

ポータル メニューから、[Azure Active Directory]>[アプリの登録] の順に選択します。 次に、作成したアプリケーションを選択します。 アプリの登録の選択を示すスクリーンショット。

アプリの登録の概要で、 [削除] を選択します。 アプリの登録の削除を示すスクリーンショット。

次のステップ

このチュートリアルでは、次の作業を行う方法を学びました。

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