Azure AD アプリケーション プロキシによる社内アプリケーションの公開 ~ ① 構成編
こんちには!テクバン サポート チームの山本です。
今回は、Azure AD アプリケーション プロキシの機能についてのご紹介です。
外出先からも社内アプリケーションにアクセスしたい…
現在ワークスタイルが多様化していることにより、社外で仕事をする機会も少なくありません。
その際、SharePoint サイトなど、社内サーバーで運用しているアプリケーションに社外からでもアクセスしたい、というニーズが増えてきました。
従来、社内アプリケーションに社外からのアクセスを可能にするには、例えばVPN接続を構成したり、
またはアプリケーションを公開するためにDMZ領域を設置したり、そこにプロキシ サーバーを構築し通信を開放したりする必要がありました。
これらに関するセキュリティの問題や、設定および管理にかかるコストも課題です。
これらの課題を解決するのが、今回のテーマであるAzure AD アプリケーション プロキシです。
こちらを利用することにより、社内アプリケーションの社外公開をより簡単に、よりセキュアに実現することができます!
Azure AD アプリケーション プロキシの概要
■ Azure AD アプリケーション プロキシとは?
Azure AD アプリケーション プロキシは、オンプレミス サーバーで動作している社内アプリケーションを社外に公開するための機能です。
公開した社内アプリケーションはAzure AD(=Office 365)で使用するサインインIDにて認証を行いますので、Office 365にアクセスするようなイメージで、簡単に社外からアクセスできるようになります。
公開できるアプリケーションは、SharePoint サイトなどWindows認証を利用するWeb アプリケーションや、フォームベースの認証を利用するWeb アプリケーションなど様々です。
またAzure AD アプリケーション プロキシで公開した社内アプリケーションへのシングル サインオンを実装することもできます。
■ Azure AD アプリケーション プロキシの利点
Azure AD アプリケーション プロキシを使用すると以下の利点があります。
・ ネットワーク構成など複雑な構築が不要!
Azure AD アプリケーション プロキシはコネクタ(後述します)からの送信トラフィックのみを使用しますので、社内ネットワークへの受信接続を開放する必要がありません。
そのため、今まで必要だったVPNやDMZの設置、またファイアウォールの設定などネットワークの構成変更などを行わなくてよいので、コストや管理費用を節約でき、簡単に社内アプリケーションを社外公開することができます。
・ セキュリティ強化!
Azure ADの通常の認証に加え、Azure ADの機能であるアクセス制御、多要素認証、様々なアクセス分析機能を利用できるので、ユーザーのアクセスに関するセキュリティが強化されます。
構成
では実際に、Azure AD アプリケーション プロキシを利用して社内Web アプリケーションを社外に公開してみたいと思います。
Azure AD アプリケーション プロキシの構成には大きく分けて以下の手順が必要です。
・ Azure AD アプリケーション プロキシ コネクタのインストール
・ アプリケーションの発行、ユーザーへの割り当て
■ 要件の確認
Azure AD アプリケーション プロキシを利用するためには以下が必要となります。
・ Azure AD Basic もしくは Azure AD Premium P1
・ コネクタをインストールするためのWindows Server 2012 R2 もしくは 2016
(クラウド上のAzure AD アプリケーション プロキシ、および社内アプリケーションに接続できる必要あり)
※ 今回は、以下のテスト環境を用意しました。
・ Azure AD + Azure AD Connectにてユーザー同期済み
・ 各ユーザーにEnterprise Mobility Suite E5 (評価版) ライセンスを適用
・ ドメインに参加済みのWindows Server 2016
・ オンプレミス サーバーのIISにて、Windows 統合認証を使用するWeb アプリケーションのサンプルを作成
■ コネクタのインストール
まずは、Azure AD アプリケーション プロキシと社内アプリケーションとの通信を行うためのコネクタをサーバーにインストールします。
サーバーからの通信は80、443の送信トラフィックのみ開放するだけで良いのでとても簡単です。
※ 今回はWindows 統合認証を使用するWeb アプリケーションを使用するため、サーバーをドメインに参加させる必要があります。
Azure Active Directory 管理センター (https://aad.portal.azure.com/) にアクセスし、
[Azure Active Directory] > [エンタープライズ アプリケーション] > [アプリケーション プロキシ]の順にクリックします。
[コネクタ サービスのダウンロード]ボタンからコネクタのインストーラーをダウンロードします。
ダウンロードが完了したら、インストーラーをサーバー上で実行し、コネクタをインストールします。
途中でMicrosoftのサインイン画面が表示されますので、管理者アカウントでサインインしてください。
※ サーバー上で[IE セキュリティ強化の構成]を[オン]に設定している場合、登録画面が表示されないことがあります。
これでコネクタのインストールは完了です。
[Azure Active Directory] > [エンタープライズ アプリケーション] > [アプリケーション プロキシ]の一覧にもサーバーが登録されたことがわかります。
■ アプリケーションの発行、ユーザーへの割り当て
次に、社外に公開するアプリケーションをAzure ADに登録し、使用させるユーザーに割り当てていきます。
Azure Active Directory 管理センター (https://aad.portal.azure.com/) にアクセスし、
[Azure Active Directory] > [エンタープライズ アプリケーション] > [新しいアプリケーション]の順にクリックします。
ここで[オンプレミスのアプリケーション]を選択します。
以下の設定を行い、[追加]ボタンからアプリケーションを追加します。
・ 名前:アプリケーションの表示名を入力
・ 内部URL:社内ネットワークからアプリケーションに接続するためのURLを入力
・ 外部URL:内部URLを入力すると自動で設定されるので、変更不要
※ 外部URL 右部分のドメインは、既定の xxxx.msapppoxy.net/ を使用します。
こちらはドロップダウン リストから選択可能となっていますが、独自ドメインを使用する場合はSSL証明書が必要です。
アプリケーションが追加できたら、[ユーザーとグループ]より、アプリケーションを使用させたいユーザーに割り当てを行います。
これで、Azure AD アプリケーション プロキシを利用して社内Web アプリケーションを社外に公開する準備ができました。
検証時の実績ですが、早ければ1時間程度で設定完了することができます。
実際の動作
では、公開したサンプル アプリケーションに対し、社外からブラウザでアクセスしてみましょう。
まずは先程設定した外部URLを直接ブラウザに打ち込んでアクセスしてみます。
するとMicrosoftの認証画面が表示されますので、先程割り当てを行ったユーザーでサインインします。
Azure ADにサインインが完了すると、次に社内アプリケーションのWindows 統合認証が求められます。
同じ情報を入力します。
※ 追加でシングル サインオンを構成すれば、Azure ADにサインインするのみでこの認証はスキップすることができます。
認証に成功すると、社内アプリケーションに社外からアクセスすることができました。
また、My Apps (https://myapps.microsoft.com) にアクセスしてみましょう。
同じように先程割り当てを行ったユーザーでサインインすると、ユーザーが使用できるアプリ一覧が表示されます。
その中に、先程公開したアプリケーションが表示されています。
こちらをクリックすると、先程と同様に社内アプリケーションのWindows 統合認証の画面が求められ、認証に成功すると社内アプリケーションにアクセスすることができます。
最後に
いかがでしたでしょうか。
このようにAzure AD アプリケーション プロキシを使用することで、社内アプリケーションをより簡単に、よりセキュアに社外公開することができますので、是非活用してみてください!
また所々で記載しましたが、アプリケーションへのシングル サインオンを構成することで何度もサインインIDを入力する煩雑さを解消することができます。こちらについては、次回詳しく記載したいと思います!
※ 参考情報 ※
Azure AD アプリケーション プロキシに関する詳しい要件などは、Microsoft社の公開情報がございますので、以下サイトをご確認ください。
・ アプリケーション プロキシの概要とコネクタのインストール
> https://docs.microsoft.com/ja-jp/azure/active-directory/manage-apps/application-proxy-enable
・ Azure AD アプリケーション プロキシ コネクタを理解する
> https://docs.microsoft.com/ja-jp/azure/active-directory/manage-apps/application-proxy-connectors