Azure App Service / Web Apps、ウェブサイトへのアクセスを制限する[その1]

App Service / Web Apps を使ってウェブサイトを構築する際、様々な場面で、特定ユーザーのみアクセスを許可したい場面、いわゆるアクセス制限をかけたいという場面があります。

例えば、公開前の作業サイト、いわゆるステージングサーバー。社内からのアクセスのみ許可したいといったイントラネットの拡張サイト。などなど色々なシナリオがあります。

App Service / Web Apps では、フロントエンドのロードバランサーを他のユーザーと共有しているため、必ず、インターネットへ公開する、という仕様のために、上記のような制限を実施したいというニーズがうまれます。

App Service / Web Apps で、ウェブサイトへのアクセスを制限するには以下の方法があります。

  1. アクセス元のIPアドレス帯での制限する
  2. Azure Active Directory(Azure AD) での ID プロバイダー 認証&認可
  3. (基本認証・ダイジェスト認証)

基本認証・ダイジェスト認証は、App Service / Web Apps の機能としては提供されていませんので、1. もしくは 2. の方法を考慮します。(ただし、基本認証・ダイジェスト認証が、App Service / Web Apps で利用できないわけではありません。追って紹介したいと思います。)

それぞれ特徴がありますが、公衆回線利用の場合など、アクセス元が固定されていない場合は、Azure AD 認証を利用。IPアドレスが固定されているオフィスからのみアクセスであれば、IPアドレス帯での制限が利用しやすいと思います。

アクセス元のIPアドレス帯で制限する

この方法は、IIS の設定で実現します。App Service / Web Apps の機能ではありませんが、実際に、IPアドレス帯でアクセス制限が可能です。
具体的には、web.config のipSecurity要素で実現します。設定方法は、"web.config" "ipSecurity" などのキーワードで、インターネット検索するか、TechNet の「IIS 7.0 コンフィグレーションリファレンス」の ipSecurity の項目を参考にしてください。

Azure ADを利用した方法、基本認証・ダイジェスト認証は、次回以降紹介します。

#MSKKWEBMOBILE