Azure AD Application Proxy 構築ガイド（１）

#Azure AD Application Proxy とは
　[Azure AD Application Proxy](https://docs.microsoft.com/ja-jp/azure/active-directory/application-proxy-publish-azure-portal) は、既存のオンプレミスシステムをセキュアにクラウドへ公開するためのリバースプロキシのように機能します。特に Windows Server ベースの既存オンプレミスシステムをクラウドに公開する際に強力な機能を提供します。

　通常、マイクロソフトのサーバー製品は、AD（ドメインコントローラー）を中心に添えた Windows 統合認証を前提にシステムが構築されます。このためドメインに参加しているイントラネット端末からは、ドメインログインによる SSO が機能する事で、ユーザーは各種サーバーシステムをシームレスに利用できます。

　Windows 統合認証は一般的にイントラネットでの利用を前提として考えられている為、インターネット越しに利用する場合には認証ダイアログが出てくるなど使い勝手がスマートではありません。また直接 WEB サーバーをインターネットにさらすというのもセキュリティ面での懸念が考えられます。そこで登場するのが Azure AD Application Proxy となります。

#構築手順とシステム構成
　本来はオンプレミスのシステムをクラウド公開するシナリオとなりますが、今回作成する環境はオンプレミスの環境を Azure 仮想ネットワークで置き換えて実現しています。これは新規にマイクロソフトサーバー製品を使ったクラウド公開システムを構築する際の手順とも言えます。
###作業の流れ
1.	Azure AD カスタムドメインの登録
2.	Azure AD Connect によるオンプレミスADとの同期
3.	Azure AD Application Proxy の構築

　Azure AD Application Proxy は、オンプミスの AD と Azure AD の同期が必要となるためカスタムドメインが必要となります。その後 Azure AD にて認証されたユーザーを Kerberos 変換し、Windows 統合認証でオンプレミス環境の WEB サーバーへアクセスするための Azure AD Application Proxy を構成します。上記３項目で構築する最小構成が下記イメージとなります。仮想ネットワークをオンプレミスネットワークと読み替えてください。なお IaaS VM は3台ありますが、全て Windows Server 2016 Datacenter を利用しています。

![No1.png](https://qiita-image-store.s3.amazonaws.com/0/166732/29e4abe6-8b48-9614-5303-a2953efbfca4.png)

#１．Azure AD カスタムドメインの登録方法
###概要
　ここでは [GMOムームードメイン](https://muumuu-domain.com/)にて取得した aida-factory.com というカスタムドメインを Azure AD に登録する手順を示しています。

###詳細手順
1. Azure ポータルでAzure AD – ドメイン名 - ドメインの追加を選択します。
####![01.png](https://qiita-image-store.s3.amazonaws.com/0/166732/50c74ca7-d90f-54c8-ff4a-2e32d150d333.png)

2. ドメイン名 aida-fatory.com を入力し、ドメインの追加ボタンを押します。
####![02.png](https://qiita-image-store.s3.amazonaws.com/0/166732/b9415cf2-3df5-b642-185b-8dc27fd25d22.png)

3. 提供されたTXTレコード MS=ms4765xxxxxx というIDを控えておきます。確認ボタンはDNSサーバーのTXTレコードの入力が完了してから押します。
####![03.png](https://qiita-image-store.s3.amazonaws.com/0/166732/7d194241-d7bc-dc3b-101a-1a2afa52a282.png)

4. [GMOムームードメイン](https://muumuu-domain.com/)にログインし、取得済みの aida-factory.com の DNS 設定画面で TXT レコードを追加します。この部分の設定は各種プロバイダーに依存しますが、本サービスでは、サブドメインを空白、種別をTXTとし、内容に MS=ms476NNNN の ID を設定しています。
####![04.png](https://qiita-image-store.s3.amazonaws.com/0/166732/d232574e-f4fa-9410-4dda-59140ec55cea.png)

5. TXT レコード登録後に、手順3の確認ボタンを押します。正しく登録内容が確認できれば、以下のように確認に成功しましたという画面に遷移します。必要に応じてプライマリドメインにします。
####![05.png](https://qiita-image-store.s3.amazonaws.com/0/166732/6cc6c6ff-fda9-05c5-77ed-b802dff24885.png)

6. 以上でカスタムドメインの登録が完了しました。
####![06.png](https://qiita-image-store.s3.amazonaws.com/0/166732/f822b120-db5d-c887-8987-b8f13fde3d02.png)

#２．Azure AD Connect によるオンプレミス ADと の同期

###概要
　ここではオンプレミス環境としてAzure仮想ネットワーク上に IaaS VM として Windows Server 2016 のドメインコントローラをデプロイします。このドメインコントローラのドメイン名も aida-factory.com となり、ユーザー、グループ情報を Azure AD カスタムドメインと同期します。

　本記事では Azure AD Connect 部分の説明に重点を置いているため、AD や IIS の構成といった Windows Server の環境構築手順の詳細は割愛しています。また基本的な仮想マシンや仮想ネットワークのデプロイ手順についても割愛していますが、AD VM デプロイ時の注意点を以下に幾つか記載します。

**注意点１．**
ドメインコントローラは、一種の DB であるため、IaaS VM の OS ディスクキャッシュはオフとするのを推奨しています。
![01.png](https://qiita-image-store.s3.amazonaws.com/0/166732/7529347b-51a6-8927-9a33-5f2947fbb377.png)

**注意点２.** 
ドメインコントローラは DNS サーバーも兼ねるため、内部 IP アドレスが固定されるように静的IP設定をします。
![02.png](https://qiita-image-store.s3.amazonaws.com/0/166732/d65e4064-6f66-957e-2218-76779f06e015.png)

**注意点３.**
Azure 仮想ネットワークの DNS 設定はカスタム設定を選択し、ドメインコントローラの静的 IP アドレスを指定します。
![03.png](https://qiita-image-store.s3.amazonaws.com/0/166732/f4489608-5cee-d1e6-356e-19d27a245ca2.png)

###詳細手順
　以下では、Azure 仮想ネットワークにドメインコントローラがデプロイ済みであるのを前提に Azure AD Connect の設定手順を説明しています。

1. 管理者 yuichii とテスト用のユーザーとして戦国武将3名がオンプレミスADに用意されています。
####![04.png](https://qiita-image-store.s3.amazonaws.com/0/166732/f44280bc-39ef-98dd-7930-a1e9a20cc0df.png)

2. Azure AD Connect をダウンロードします。今回はADサーバー上に直接インストールしています。
https://www.microsoft.com/en-us/download/details.aspx?id=47594

3. ここでは Use express settings にてインストールを開始
####![05.png](https://qiita-image-store.s3.amazonaws.com/0/166732/49e1c8b4-1c8f-55f1-5ec5-f73b69cf5589.png)

4. 同期先の Azure AD の全体管理者を指定します。
####![06.png](https://qiita-image-store.s3.amazonaws.com/0/166732/a79e95d6-d28c-5795-e1e7-f4b278f0b561.png)

5. 同期元のドメインアドミンを指定します。
####![07.png](https://qiita-image-store.s3.amazonaws.com/0/166732/40ec570b-1f7c-343c-3dda-a77ef1c5e0da.png)

6. 以上で完了です。
####![08.png](https://qiita-image-store.s3.amazonaws.com/0/166732/eb35ef1f-3c88-1dd6-c68b-6eaf28e813f6.png)

7. ウィザードが成功すると下記画面が表示されます。
####![09.png](https://qiita-image-store.s3.amazonaws.com/0/166732/97b3b747-7490-8dfc-2739-857b8486e0e3.png)

8. Azure AD 上にもオンプレミスユーザーが同期された事が確認できます。
####![10.png](https://qiita-image-store.s3.amazonaws.com/0/166732/faed759b-7c5d-6f4d-690d-f7334f61b23f.png)

###まとめ
　第一回はここまでとなります。[次回、構築ガイド（２）](https://qiita.com/Aida1971/items/b7e7d3b0d70fabc9f609)では、実際に Azure AD Application Proxy のデプロイ手順を説明していきます。