Azure App Service / Web Apps、ウェブサイトへのアクセスを制限する[その2]
Azure App Service / Web Apps、ウェブサイトへのアクセスを制限する[その1] では、IPアドレス帯で、アクセス制限する方法を説明しました。
[その2]では、Azure AD でのIDプロバイダー認証&認可を説明します。
その前に「認証」と「認可」の違いをしっかり理解してておくことが大事です。英語だと、Authentication、Authorization です。英語でも日本語でも似たような単語なので混同されている場合もよくあるので、このふたつの定義の理解は重要です。(Azure ポータルでは「認可」ではなく、「承認」となっています。)
Azure AD を使った認証&認可でのアクセス制限では、認証には、Azure AD を利用し、認可は、特定のAzure AD に所属しているユーザーにアクセス権を与えるのがもっともシンプルです。
実際の設定方法については、「Azure Active Directory ログインを使用するように App Service アプリケーションを構成する方法」を参照してみてください。この認証&認可の設定で、指定したAzure ADに登録されているユーザーのみ、そのウェブサイトにアクセスできるようになります。ステージングウェブサイトであれば、事前にウェブサイトをチェックするべきユーザーにAzure ADのアカウントを発行すれば良い事になります。
[その1]で紹介した、IPアドレス帯での制限と比較すると、AzureADを利用する方法は、アクセス元のIPアドレスを制限しないという点で柔軟です。たとえば、外出先からステージングウェブサイト上のコンテンツを確認したい場合など、IPアドレス帯で制限していると、VPN経由でアクセスするなどの手段が必要となりますが`、Azure ADを使う方法の場合、公衆端末からもアクセスできます(ブラウザはプライベートモードを使うなど気を使う必要はあります)。
なお、Azure AD についても最小限の知識は必要になります。特に Azure AD の組織アカウント(独自ドメインを適用していなければ、****.onmicrosoft.com という形式になります)と、Microsoft アカウント(***@live.com、***@hotmail.com、***@outlook.comなどのメールアドレスが使われることが多いです)は、どちらもマイクロソフトのIDプロバイダーですので、混同されてるケースもあります。この違いは、ぜひ理解していただきたいので「Azure Active Directory のドキュメント」から始まるドキュメントは目を通しておくことをお勧めします。
尚、Google、Facebook、Twitter、マイクロソフトIDを使用した認証もApp Service / Web Apps は対応していますが、認可については、ウェブアプリケーション側で実装が必要になるので、Azure AD認証のように設定だけでアクセス制限することはできません。