たいちの何か

趣味を中心に車・クラウド・サーバーなどの話を勝手気ままに書いています

Azure - テナント制御を使ってOffice365の個人利用を禁止する その1

企業でパプリッククラウドを使う際に問題の一つ。個人のアカウントでサービスにログインできてしまう問題を解決する方法についてまとめてみました。

目次

何が問題なの?

企業がOffice365などのパブリッククラウドサービスを導入した場合、社員は自分のPCなどからOffice365などにサインインしてメールなどを利用します。
例えばメールを利用する場合であれば、Outlookクライアントを使ったり、Outlook Web appを使ったり、スマートフォンで使ってアクセスしています。それらの方法の裏側ではOffice365のExchange onlineへの接続が行われています。

これまでもOffice365へのログインのセキュリティを高めるべく、企業はADFSなどのフェデレーション機能を使って、様々な対策を行ってきています。

上記の対応により、自社が許可した場所や端末からのみアクセスが許可されるようになったのですが、これのどこに問題があるのでしょうか。

それは、 自社内から個人のアカウントでもOffice365にログインできてしまう ということです。
*1

これは、Office365と言うサービスが一つのプラットフォーム上に企業のアカウントも個人のアカウントも一緒に管理していることが原因です。Office365側としては、アカウントとパスワードが正しければログインさせない理由はないので、ログインできてしまうというわけです。
Office365では、この企業や個人の契約単位をテナントと表現します。

ではどうするか?
そこで登場するのが、Azure ADの新機能*2である “テナント制御” です。

テナント制御すると何がいいの

テナント制御を実装することで、自社内から自社のテナント(契約)にのみログインさせることが可能となります。つまり、個人のアカウントに一切アクセスできなくなるということです。
この機能を実装することで企業は、クラウド利用の完全コントロールに大きく近づくことが可能となります。

f:id:taitioooo:20170825214502p:plain 引用:https://blogs.technet.microsoft.com/office365-tech-japan/2017/02/06/tenant-restrictions/

どうやってテナント制御するの

テナント制御の実態はHTTPヘッダーに記載された以下の2つの情報です。

Restrict-Access-To-Tenants: テナント名
Restrict-Access-Context: テナントID

上記の2つのヘッダー情報は、プロキシサーバーで挿入します。*3
通常、クラウドサービスへのアクセスはhttpsプロトコルとなりますので、SSLインターセプトが可能なプロキシサーバーが必要となってきます。
このあたりは、セキュリティを意識している企業であれば導入済みのはずなので、あまり敷居は高くなさそうですね。イメージとしてはこんな感じです。(即席で作ったので雑な絵ですいません…)

f:id:taitioooo:20170825222353p:plain

また、ヘッダーを挿入する パケット・ URL は以下の 3 つのみで大丈夫なようなのでプロキシ サーバーの負荷も軽減できそうです。

login.microsoftonline.com
login.windows.net
login.microsoft.com

上の図を見ると分かる人もいたかもしれませんが、この方法の良いところはHttpパケットに対して処理をしているという点です。つまり、Windows, Linux, Andoroid, iOSなど全ての端末に対応できるということです。
たった2つのヘッダーで数千台の端末を制御できる。それも 追加費用無し で。

ちなみに、この方法Office365だけでなくGoogle Appsなど他のSaaSアプリケーションでも使える方法なのです。

support.google.com

ちなみにOffice365でテナント制御を行うには以下の条件をクリアする必要があります。

  • SSL インターセプトが行え、指定した URL に対して HTTP ヘッダーを挿入できるプロキシ サーバーがあること (サーバー証明書の実装含む)
  • Office 365 テナント及び クライアント ソフトウェアで、Modern Authentication (先進認証/ADAL) が有効になっていること
  • すべてのクライアントが本プロキシ サーバー経由で Office 365 に接続されること

注意点はある?

はいあります。httpプロトコルを使わないで認証を行うもの(例えばOutlookSkypeのレガシー認証)は、テナント制御の管理外となってしまいます。*4
これらの製品を制御するためには、Modern Authentication (先進認証/ADAL) に対応したOffice製品が必要です。各OSの先進認証対応状況は下図の通りのようです。

f:id:taitioooo:20170825224344p:plain
引用:https://blogs.office.com/en-us/2015/11/19/updated-office-365-modern-authentication-public-preview/

これを見ると、殆ど全てのOSで先進認証対応となっているようです。
WindowsだけでなくiOS, AndoroidのOfficeクライアントでも先進認証が有効になっているのは凄いですね。
Windows Phoneの対応が遅れいるところは、Microsoftの戦略が如実にあらわれていて少し笑ってしまいました。

いかがでしょうか。テナント制御、結構使えそうではないですか?
次回は、テナント制御が本当に動くか、検証をしてみたいと思います。

関連ページ

Azure - Cloud App DiscoveryでPCがアクセスしたクラウドサービスを検出する その1 - たいちの何か
Azure - Cloud App DiscoveryでPCがアクセスしたクラウドサービスを検出する その2 - たいちの何か

*1:シングルサインオンを実装していても同じです

*2:2017年2月リリース

*3:ブラウザでもプラグインがあれば挿入可能ですが管理性の面からプロキシサーバ一択となると思います

*4:プロキシを経由しないので当たり前ですね

Copyright © 2014 - taitioooo. All Rights Reserved.