ADFSとPHS(パスワードハッシュ同期)のどちらを選ぶべきか?

オンプレミスの環境と,Office 365を同時に利用している場合,どのような認証方法を採用するのか決定しなければなりません。

その場合に主な2つの選択肢になるのが,ADFS (Active Directory Federation Service)と,PHS(Password Hash Sync:パスワードハッシュ同期)という方法です。

ある人たちは,パスワードハッシュ同期を利用したらいいと言います。特別なサーバーを用意しなくてもよいですし,Azure AD Connectを使った実装も簡単だというのが理由です。

しかし,そのような単純な理由でパスワードハッシュ同期を選ぶべきではありません。

もちろん,ADFSとPHSのどちらを使ったとしても,ADアカウントと同じパスワードでOffice 365を利用できるということには違いないのですが,実際には全く別物であり,セキュリティやワークフローの観点から言って,非常に大きな違いがああります。

Single Sign-On (SSO)とSame Sign-On

まず,ADFSとパスワードハッシュ同期の違いを知るためには,良く用いられる用語についての理解を深めなければなりません。

基本的に達成したいこととしては,同じユーザー名とパスワードで,Active DirectoryにもOffice 365にもログインしたいということです。

そのために,2種類の方法が考えられます。

まず1つ目は,Single Sign-On (SSO)です。

Single Sign-Onの技術を使えば,一度ログインすると,そのログインしたという資格情報を他のサービスでも流用できるようになります。

例えば,Googleのアプリを使う際にも,一度だけログインすればあとはGoogleのどんなアプリでも自由に利用できるようになるでしょう。これは,資格情報を複数のサービスで使いまわしているので出来ることです。

一方,Same Sign-Onとは,同じアカウント名とパスワードを使うことができるものの,アプリを切り替えるたびに資格情報を入力しなおさなければならない方法です。

例えば簡単に言うと,銀行口座を2つ持っている場合に,どちらのパスワードも同じに設定しておく,というのがSame Sign-Onに相当します。

どちらも同じパスワードでログインできますが,その資格情報の管理は全く別々に行われています。

ですので,Single Sign-OnとSame Sign-Onの最も大きな違いは,一度だけログインすればよいのか,それともアプリ毎にパスワードを入力する必要があるかどうか,ということになります。

ADFSはSingle Sign-On (SSO)で,PHS(パスワードハッシュ同期)はSame Sign-On

上述の考えをもとにすると,ADFSはSingle Sign-On (SSO)で,PHS(パスワードハッシュ同期)はSame Sign-Onということができます。

では,Office 365を組織が利用する場合,それぞれを採用する場合にどのような運用上の違いが生じるのでしょうか。幾つか考慮すべき点を挙げたいと思います。

ADFSの場合

1.ADFSは管理のために必要な仕事が多くあります
・例えば,ADFSは完璧なシステムとは言い難いので,そこそこFailします。
・トラブルシューティングが難しくなります。エラーメッセージも難解なため,問題の原因を特定するためにはかなりの経験が必要になるでしょう。
・ADFSは,Office 365と信頼関係を結ばなければなりません。その運用のために必要な仕事が結構たくさんあります。例えば,証明書が切れたりすると動かなくなります。
2.ADFSのセットアップにはトリッキーな部分があります
Office 365のセットアップは比較的容易ですが,ADFSを設定するためには難解な部分が多々あります。
3.ADFSサーバーがダウンすると,Office 365にアクセスできなくなります

それで,ADFSを利用するためには,上述のようなコストがかかることを覚えておかなければなりません。

Password Hash Sync(パスワードハッシュ同期)の場合

1.PHSはADのパスワードをハッシュ化したものをOffice 365に同期します
それで,万が一Office 365のパスワードが漏洩した場合には,ADの環境にも甚大な影響が及びます。
2.ADとOffice 365のパスワード同期は,スケジュールされたタイミングで実行されます
同期する間隔は最小で30分なので,ADでパスワードを変更してから,最低30分は経過しないと,Office 365に反映されないということです。このことによって,ユーザーは困惑してしまったり,トラブルが発生したりすることも考えられます。もちろん,手動で同期をトリガーすることも可能ですが,それでも結構な時間がかかります。

ではADFSとPHS(パスワードハッシュ同期)のどちらを選ぶべきなのか

もちろん,それぞれの組織において重要視する点があると思いますが,ここではADFSを選択した場合のメリットについて言及したいと思います。

最近ではADFSに関係する多くの改善もあり,より一層,ADFSのメリットが際立つようになっています。

例えば,ADFSのインフラストラクチャを構築するためのコストも,Cloud上にADFSを構築することができるようになったため,削減できるようになりました。

また,ADFSも十分安定化されてきたので,Windows 2012 R2以降でのパフォーマンスや安定性は大変進歩があります。

最後に,パスワードハッシュ同期を使った場合には,ADで設定可能な「ログオン可能時間」を設定することができないことも触れておきたいと思います。

パスワード同期の場合には,ログオン可能時間を制限するとうまく動かなくなることがあるため,基本的にはOffice 365のログイン可能時間を絞ることはできません。

 

以上,ADFSとPHS(パスワードハッシュ同期)のどちらを選ぶべきなのかについての考察でした。可能な限りADFSを選択することをお勧めしますが,リスクとデメリットを十分に理解したうえであれば,パスワードハッシュ同期という選択肢もあり得るとは思います。

コメント