この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
※これは2017年11月にID Based Securityイニシアティブ コミュニティのブログに投稿された記事です※
パーソルプロセス&テクノロジーの山本です。
今回のお題は「Azure AD Connect」による「パススルー認証」を取り上げます。
従来、Azure Active Directory(Azure AD)をオンプレミスのActive Directoryと同じユーザーアカウント・パスワードでサインインしたい場合、パスワード同期方式(PHS:Password Hash Sync)、フェデレーション方式(ADFS:Active Directory Federation Services)を使用する必要がありました。
2017年10月に、新たにパススルー方式(PTA:Pass-Througn Authentication)が一般公開されました。パススルー方式を一言で言えば、パスワード同期方式とフェデレーション方式の良いとこ取りをした方式と言えます。
それでは、パススルー方式の特徴をパスワード同期方式、フェデレーション方式と比較しながら見ていきましょう。
◇認証の仕組みについて
パスワード同期方式は、その名の通りAADConnectの同期機能を使用して暗号化されたパスワードハッシュ情報を同期します。認証は、AzureADに対して行います。
AD FSは、AzureADの認証を行う際に、WAPへURLリダイレクトが行われ、AD FSで認証しトークン(チケット)を配布してもらいます。以降、このトークンをアプリケーションに提示することにより認可を行います。
パススルー方式は、Azure ADへサインインする際、ユーザーのパスワードがオンプレミスのActive Directoryに対して直接検証されます。技術的には、Azure AD Application Proxyのアーキテクチャを利用しているようです。
認証処理が行われると、認証要求が暗号化されキューに入り、AADConnectのAuthentication Agentがキューを取り出し複合化してActiveDirectoryに認証要求を問い合わせ、認証結果を再度キューに返します。
Authentivation Agentが代替応答をしているイメージすれば分かりやすいと思います。
なお、先の説明で、「Azure AD Application Proxyのアーキテクチャを利用している」と書きましたが、このパススルー認証は、Azure AD Basic プランは不要です。FREEプランでも使用することができます。
また、一部制限事項があるため使用することができるか事前に確認しておく必要があります。
「Azure Active Directory パススルー認証:現在の制限事項」の情報によると、サポート状況は以下の通りとなります。
サポートされるシナリオ
- すべての Web ブラウザー ベースのアプリケーションへのユーザー サインイン。
- 最新の認証をサポートする Office 365 クライアント アプリケーションへのユーザー サインイン – Office 2016、および Office 2013 (最新の認証_あり_)。
- Windows 10 デバイスの Azure AD Join。
- Exchange ActiveSync のサポート。
サポートされていないシナリオ
- 従来の Office クライアント アプリケーションへのユーザー サインイン – Office 2010、および Office 2013 (最新の認証_なし_)。 組織は、可能であれば最新の認証に切り替えることが推奨されます。 最新の認証により、パススルー認証のサポートが可能になるだけでなく、Multi-Factor Authentication (MFA) などの条件付きアクセス機能を使用してユーザー アカウントをセキュリティで保護することもできます。
- Skype for Business クライアント アプリケーション (Skype for Business 2016 を含む) へのユーザー サインイン。
- PowerShell v1.0 へのユーザー サインイン。 代わりに、PowerShell v2.0 を使用することをお勧めします。
- Azure AD Domain Services。
- MFA のためのアプリ パスワード。
- 資格情報が漏洩したユーザーの検出。
サポートされない場合は、パスワード同期方式を使用することが推奨されています。
◇セキュリティ面について
セキュリティについては、ポイントが3つあります。
一つ目は、外部からの攻撃ポイントです。
パスワード同期方式・パススルー方式ともに、外部からの入り口はAzure ADになるため、攻撃対策はマイクロソフト側に任せることができます。また、オンプレミスからの通信に関しては、受信ポート開放が不要なため、攻撃ポイントは無いといっていいでしょう。
一方、フェデレーション方式では、外部からの入り口がWeb Application Proxy(WAP)サーバーを置くDMZセグメントとなるため、自前で受信ポート開放等ファイアウォールの設定・維持管理を行う必要があります。
二つ目は、パスワードの保存場所です。
パスワード同期方式は、AzureAD上にパスワードハッシュ情報が同期されクラウド上に保存されます。
フェデレーション・パススルー方式はパスワードの保存先はActiveDirectoryのみになります。パスワードハッシュ情報がクラウドに保存される=危険というのは大げさですが、少なからずともコンプライアンス面で気にされるエンドユーザーもいるはずです。「でも、大規模なAD FSを構築するまでもないし・・・」という方には、パススルー方式が響くポイントかもしれません。
三つ目は、パスワードポリシーです。
同期方式の場合は、デフォルト30分毎の同期のため、パスワード変更・アカウントロック・無効化にタイムラグが発生します。
パススルー方式・フェデレーション方式の場合は、ActiveDirectoryによりIDが一元管理されているため即時反映となります。
◇認証について
ADFSの場合はクレーム処理の中で条件を記述することができるため、認証の対象とするアカウントでIPアドレス制限等を行うことができました。
パスワード同期・パススルー認証については、AzureADConnectでディレクトリ同期している全アカウントが認証対象となり、AzureADConnectの機能だけでは制御することができません。
この部分を補完するのがAzureADの条件付きアクセス制御機能になります。※1
AzureADで認証処理を行うことにより、AzureADの様々な機能の恩恵を受けることができるのはメリットがあると言えるでしょう。
※1 条件付きアクセスには「AzureAD Premium P1」ライセンスがユーザーアカウント数分必要になります。
◇PTAの冗長性について
認証機能は、その特性から絶対に止められないものであり、障害時のダウンタイムを極力最小化する必要があります。
PTAを一台構成とした場合は、AzureADとの接続パスが1つとなり、障害時に認証ができなくなってしまいます。
この対策として、Authentication Agentを一台インストールすることで簡単に冗長化対応することができます。また、Agent側では、ロードバランサーなどは不要です。
各方式の冗長化方式の比較表は以下の通り。
自動フェールオーバーするかしないか、AzureADとの接続パスの状態によりAzureADにサインインできるかが大きなポイントとなります。
◇PTAのインストール方法
最新バージョン(1.1.644.0 以降)のAzureADConnectをインストールします。
Azureポータルの「Azure Active Directory」の「Azure AD Connect」のダウンロードリンクからダウンロードするか、以下のURLからダウンロードします。
http://www.microsoft.com/en-us/download/details.aspx?id=47594
パススルー認証を有効にするには、ユーザーサインインの設定画面で、「パススルー認証」を選択するだけです。
2台目以降のPTAのインストールは、比較的簡単です。
「パススルー認証」をクリックし、「ダウンロード」からエージェントのダウンロードを行い、インストールするだけです。途中にAzureADテナントへの接続アカウント入力が求められる程度です。
インストールに成功すると、パススルー認証の画面にアクティブなサーバーが表示されます。
詳細なインストール手順については以下参照してください。
Azure Active Directory パススルー認証: クイック スタート
◇まとめ
簡単にまとめると、パススルー認証を使用する主なメリットは以下のようになるのではないでしょうか。
- クラウドアプリケーションにオンプレミスのADと同じパスワードでサインインできる
- パスワードポリシーはオンプレミスADで統一できる。
- 軽量のエージェントをインストールするだけでOK。
- パスワードはクラウドに保存されない。
- エージェントはオンプレミス内部からの送信方向の接続のみ。DMZ不要。FW要件も軽減できる。
- 条件付きアクセスなど、AzureADのアクセスポリシーによる保護が可能になる。
今回は取り上げませんでしたが、シームレスシングルサインオン機能と合わせることで、従来ADFSやサードパーティ製SSOでしかできなかったデスクトップSSO実現もできるようになります。
11月8日~9日に行われた「Microsoft Tech Summit 2017」でも、パススルー認証、シームレスシングルサインオンを扱ったセッションが数多くあったように今アツい!アーキテクチャではないでしょうか。
中でも「Active Directory/Azure Active Directory の構成パターンと正しい認証方式の選択」セッションの資料巻末の比較表は、各認証方式の特徴が上手くまとめられていました。
以下、参考までにリンクを掲載いたします。