チュートリアル: 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 アカウント
認証/承認モジュールが有効になっている場合、すべての受信 HTTP 要求は、アプリのコードによって処理される前に、それを通過します。詳細については、「Azure App Service での認証と承認」を参照してください。
アプリとしてバックエンド サービスに接続する
ユーザー認証は、前のセクションで説明したように、アプリ サービスに対するユーザーの認証から始めることができます。
アプリ サービスが認証された ID を取得したら、システムではアプリとしてバックエンド サービスに接続する必要があります。
ユーザー 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 認証の構成に関する記事をご覧ください。
Azure portal メニューで [リソース グループ] を選択するか、任意のページから [リソース グループ] を検索して選択します。
[リソース グループ] でリソース グループを検索して選択します。 [概要] で、アプリの管理ページを選択します。
アプリの左側のメニューで [認証] を選択し、 [ID プロバイダーの追加] をクリックします。
[ID プロバイダーの追加] ページで、Microsoft および Azure AD ID にサインインするための ID プロバイダーとして [Microsoft] を選択します。
[アプリの登録]>[アプリの登録の種類] で、 [新しいアプリの登録を作成する] を選択します。
[アプリの登録]>[サポートされているアカウントの種類] で、 [現在のテナント - 単一テナント] を選択します。
[App Service 認証の設定] セクションで、 [認証] を [認証が必要] のままにし、 [認証されていない要求] を [HTTP 302 Found リダイレクト: Web サイトに推奨] のままにします。
[ID プロバイダーの追加] ページの下部にある [追加] をクリックして、対象の Web アプリの認証を有効にします。
これで、App Service の認証と承認によってアプリが保護されるようになりました。
Note
他のテナントからのアカウントを許可するには、[認証] ブレードから [ID プロバイダー] を編集し、[発行者の URL] を [https://login.microsoftonline.com/common/v2.0 ] に変更します。
4. Web アプリへの制限付きアクセスを確認する
前のセクションで App Service の認証および承認モジュールを有効にしたときに、Azure AD テナントにアプリの登録が作成されました。 アプリの登録には、Web アプリと同じ表示名が付けられています。
設定を確認するには、ポータル メニューから [Azure Active Directory] を選択し、 [アプリの登録] を選択します。
作成されたアプリの登録を選択します。
概要で、 [サポートされているアカウントの種類] が [所属する組織のみ] に設定されていることを確認します。
対象のアプリへのアクセスが組織内のユーザーに制限されていることを確認するには、シークレット モードまたはプライベート モードでブラウザーを起動し、
https://<app-name>.azurewebsites.net
に移動します。セキュリティで保護されたサインイン ページが表示されるので、認証されていないユーザーにはサイトへのアクセスが許可されないことを確認できます。
サイトにアクセスするために、組織内のユーザーとしてサインインします。 新しいブラウザーを起動し、個人用アカウントを使用してサインインしてみることで、組織外のユーザーにはアクセス権がないことを確認することもできます。
5.リソースをクリーンアップする
この複数のパートで構成されるチュートリアルのすべての手順を完了している場合、アプリ サービス、アプリ サービス ホスティング プラン、ストレージ アカウントがリソース グループに作成されています。 また、Azure Active Directory にアプリの登録も作成されています。 これらのリソースとアプリの登録が不要になったら、引き続き料金が発生することのないように、これらを削除します。
このチュートリアルでは、以下の内容を学習します。
- チュートリアルに従って、作成した Azure リソースを削除する。
リソース グループを削除する
Azure portal で、ポータル メニューから [リソース グループ] を選択し、対象のアプリ サービスとアプリ サービス プランが含まれているリソース グループを選択します。
[リソース グループの削除] を選択して、リソース グループとすべてのリソースを削除します。
このコマンドの実行には数分かかることがあります。
アプリの登録を削除する
ポータル メニューから、[Azure Active Directory]>[アプリの登録] の順に選択します。 次に、作成したアプリケーションを選択します。
アプリの登録の概要で、 [削除] を選択します。
次のステップ
このチュートリアルでは、次の作業を行う方法を学びました。
- Web アプリの認証を構成する。
- Web アプリへのアクセスを組織内のユーザーに制限する。