ADFSが必要な理由 ~ 2017年版

皆さんこんにちは、国井です。

ADFSサーバーは長らくOffice 365のシングルサインオンを実現するために欠かせない機能として、多くの企業で導入されてきました。しかし、最近ではAzure AD Connectのパススルー認証やパスワードハッシュ同期+SSOを利用することで、ADFSサーバーを利用しなくてもシングルサインオンは実現できるようになっています。また、クレームルールを使ったアクセス制御についても、Azure ADの条件付きアクセスを利用することによって、その代替になりつつあります。

そうすると、私たちの中でギモンが生まれます。

ADFSって必要なの?

もちろん必要なければ消えてなくなるだけなのだけど、実際にはそうでもなさそうです。
そこで記念すべき400回目の投稿となる今回は、ADFSが必要となるケースを私なりに考えてみました。

ハイブリッド構成

Exchange ServerとExchange Online、Skype for Business ServerとSkype for Business Onlineなど、オンプレミスとクラウドでサービス間連携を行う場合、1つのIDでオンプレミスとクラウドの両方をシームレスにアクセスできる必要があります。その場合、ADFSを使って認証はActive Directoryに一元化し、クラウドへのアクセスはADFSを使って橋渡しをしてあげるような仕組みが必要となります。

ハイブリッド構成は恐らくADFSサーバーを利用する最有力な理由になるのではないかと思います。

Windows Hello for Business のオンプレミス展開・ハイブリッド展開

Windows Hello for Business(WHfB)は、Windows Helloを使って行う認証(つまりパスワードを使わない認証)方法で、Azure ADにアクセスするための機能ですが、WHfBはオンプレミス展開、またはハイブリッド展開を実装することで、オンプレミスのActive DirectoryにサインインするときにWHfBを使うことができます。
このとき、WHfBによる認証を行うためのインターフェイスとして動作するのがADFSサーバーで、顔認証などによるWindows Helloでの認証結果をADFSサーバーが受信し、その内容に基づいてADFSサーバーが代理でActive Directoryにサインインする、というようなアクセスを行います。
また、WHfBほど複雑な実装をしなくても、単純に証明書を使った認証でパスワードを入れなくても良いようにしたい、というときにもADFSサーバーは役立ちます。

最近は、パスワードを使って認証を行うこと自体が脆弱だといわれる時代なので、こうした認証・認可の実装は今後、重要になってくるかもしれないですね。

詳細なアクセスログの収集

Azure ADにサインインしたときにもログって収集できますが、ADFSサーバーを利用しているときのようなトークンの中に含まれる内容まで詳細にログを記録してくれるわけではありません。また、Azure ADに記録されるログは最大で1か月しか保存してくれないので、長期的に、そして詳細な内容をログとして残しておきたいというときにオンプレミスのActive Directory+ADFSサーバーという選択肢は考えられると思います。

これは、IdPをオンプレミスに持つか、クラウドに持つか、という議論にもつながってくる話だと思います。

社内IPに基づくクレームルール

最後はオマケです。
Azure ADを使ってアクセス制御を行う場合、IPアドレスベースのアクセス制御ができますが、この設定はグローバルIPアドレスをベースにしたアクセス制御を行います。
それに対して、ADFSサーバーによるクレームベースのアクセス制御では、プライベートIPアドレスをベースにしたアクセス制御を行います。もし、社内のIPアドレスのうち、特定のIPアドレスからのみアクセスを許可したい、のようなニーズがある場合にはADFSサーバーが必要になってくると考えられます。

■ ■ ■

いかがでしたか?
これからADFSサーバーを導入しようか考えている会社はまだしも、
既にADFSサーバーを導入している会社において、Azure ADのほうが良さそうだという短絡的な理由で、ADFSサーバーをやめてしまうと「やっぱり必要だった」というときに目も当てられません。ですので、必要なケース、そうでないケースをきちんと見極め、必要な場合にADFSサーバーを利用するようにしたいですね。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*