Office 365にADFSが必要な理由

この投稿は、Office 365 Advent Calendar 2013に参加しています。

■ ■ ■

突然ですが、こんな画面、見たことありますか?

signin

この画面は、Office 365のサインインアシスタントというツールを使っていると出てくる画面です。
2013年に、Office 365は色々な進化を遂げたけど、その中でもインパクトが大きかったのが、
ディレクトリ同期ツールでパスワードの同期ができるようになったこと。
だけど、ユーザー名とパスワードがActive Directoryと同期されるようになっても、
ユーザー名とパスワードを何回も入れなきゃいけないことに変わりはありません。
だから、この画面が出てくると、ため息が出てしまうのです。

そこで今日は、ディレクトリ同期ツールだけを利用するのではなく、
便利なシングルサインオン環境を整えましょう、という話をします。

ディレクトリ同期とシングルサインオン

まずは、Office 365におけるユーザー管理の一元化方法についてのおさらいです。

Office 365では、Office 365独自(Windows Azure Active Directory)にユーザー名とパスワードを管理すると、Office 365のためのユーザー名とパスワードを覚えなければならず、面倒です。
そこで、Office 365では2つの便利な機能を用意してくれました。

・ ディレクトリ同期ツールを利用して、Active DirectoryのユーザーアカウントをOffice 365のディレクトリ(Windows Azure Active Directory)へ同期することで、Active Directoryと同じユーザー名、パスワードでサインイン

image

・ ディレクトリ同期ツールとADFSを利用して、Active Directoryにサインインしたときの情報を使ってOffice 365へアクセス (シングルサインオン)

image

この2つのサービス、一見するとどちらも同じもののように見えます。
だから、ディレクトリ同期ツールを使えばユーザー名/パスワードは同じものが使えるし、ADFSなど導入する必要はないのでは?という意見を伺うことがよくあります。(ADFSは導入も面倒ですし..)

しかし、ADFSを導入して、シングルサインオン環境を構築するのには
それなりに意味があることなのです。
その理由として、私は次の2つを挙げてみたいと思います。

・ 同じユーザー名/パスワードでも、何回も入力するのは面倒
・ セキュリティ面での心配


では、さっそく順番に見ていきましょう。

同じユーザー名/パスワードでも、何回も入力するのは面倒

ディレクトリ同期とADFSを組み合わせて実装した場合、Active Directoryへのサインインだけで、Office365にもアクセスできるようになりますが、ディレクトリ同期ツールでパスワードを同期した場合には同じユーザー名とパスワードを複数回入力しなければなりません。

パスワードはキャッシュさせておけばよいとの考えもありますが、それも完璧にユーザー名/パスワードの入力を省略してくれるものではなく、事あるたびに入力しなければならないケースはあったりするものです。
しかも冒頭の画面のようなものがいきなり出て来たら、「これって、マルウェアによって表示されている、怪しげなダイアログじゃないの?」なんて、勘ぐる人も出てくるでしょう。そんな風に考え始めたら、果たして入力してよいのかさえ、わからないものですよね。

そうした心配をしながらパスワード管理をするのであれば、ADFSを使って完全なシングルサインオン環境を構築してしまうのは、ひとつの手ではないでしょうか?

セキュリティ面での心配

ディレクトリ同期ツールでユーザー名/パスワードを同期して、Active DirectoryとOffice365で同じユーザー名/パスワードでサインインできることは便利ではありますが、危険なことでもあります。最近、クラウドのサービスで、どこのサイトでも同じユーザー名/パスワードを使いまわすことが問題視されていますが、それはオンプレミスとクラウドでも同じことが言えます。
たとえば、あなたのコンピューターがマルウェアに感染し、
mimikatzなどのツールによってLsassから平文パスワードを引き抜かれると、そのパスワードを使ってそのままOffice365にもサインインされてしまう可能性があるのです。
(下の図はツールで平文パスワードを引き抜いた様子。え、そっちの話のほうが興味あるって??)

image

ADFSでもActive Directoryでサインインするのだから、Active Directoryユーザーのパスワードが盗まれたら一緒じゃないか!と思うかもしれませんが、ADFSサーバーを経由してOffice365にアクセスする分だけ、追加のセキュリティが実装しやすいというメリットがあります。
(このあたりは色々な方の意見を伺いたいところです)

たとえば、思いつくところであげると、

・ ADFSの発行承認規則を使ったIPアドレスベースでのアクセス制御
(参考:ADFSによるシングルサインオン環境構築ステップバイステップガイド のアクセス制御の章)
・ Windows Server 2012 R2のADFSとDRSを使った、デバイスベースでのアクセス制御
(参考:過去の投稿でiOSだけにアクセスさせる方法を紹介しています。)
・ ADFSの監査ログ
(参考:ADFSで監査ログを取得する by MVP渡辺さん)

などがあります。

Office365を導入すれば、ユーザー管理の一元化を行いたい!面倒なサインインは1回限りにしてほしい!など色々なニーズが後から出てくるもの。もし、これから導入をお考えの場合には、最初からディレクトリ同期などでお茶を濁さず、ADFSを活用したシングルサインオンを検討したいものです。