Azure - テナント制御を使ってOffice365の個人利用を禁止する その1
企業でパプリッククラウドを使う際に問題の一つ。個人のアカウントでサービスにログインできてしまう問題を解決する方法についてまとめてみました。
目次
何が問題なの?
企業がOffice365などのパブリッククラウドサービスを導入した場合、社員は自分のPCなどからOffice365などにサインインしてメールなどを利用します。
例えばメールを利用する場合であれば、Outlookクライアントを使ったり、Outlook Web appを使ったり、スマートフォンで使ってアクセスしています。それらの方法の裏側ではOffice365のExchange onlineへの接続が行われています。
これまでもOffice365へのログインのセキュリティを高めるべく、企業はADFSなどのフェデレーション機能を使って、様々な対策を行ってきています。
- IPアドレス制限を使い自社のIPアドレス以外からの接続を拒否する
- クレームルールを使い、セキュリティポリシーや端末、ユーザーなどを制限し、無関係な接続を拒否する
上記の対応により、自社が許可した場所や端末からのみアクセスが許可されるようになったのですが、これのどこに問題があるのでしょうか。
それは、 自社内から個人のアカウントでもOffice365にログインできてしまう ということです。
*1
これは、Office365と言うサービスが一つのプラットフォーム上に企業のアカウントも個人のアカウントも一緒に管理していることが原因です。Office365側としては、アカウントとパスワードが正しければログインさせない理由はないので、ログインできてしまうというわけです。
Office365では、この企業や個人の契約単位をテナントと表現します。
ではどうするか?
そこで登場するのが、Azure ADの新機能*2である “テナント制御” です。
テナント制御すると何がいいの
テナント制御を実装することで、自社内から自社のテナント(契約)にのみログインさせることが可能となります。つまり、個人のアカウントに一切アクセスできなくなるということです。
この機能を実装することで企業は、クラウド利用の完全コントロールに大きく近づくことが可能となります。
引用: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インターセプトが可能なプロキシサーバーが必要となってきます。
このあたりは、セキュリティを意識している企業であれば導入済みのはずなので、あまり敷居は高くなさそうですね。イメージとしてはこんな感じです。(即席で作ったので雑な絵ですいません…)
また、ヘッダーを挿入する パケット・ URL は以下の 3 つのみで大丈夫なようなのでプロキシ サーバーの負荷も軽減できそうです。
login.microsoftonline.com login.windows.net login.microsoft.com
上の図を見ると分かる人もいたかもしれませんが、この方法の良いところはHttpパケットに対して処理をしているという点です。つまり、Windows, Linux, Andoroid, iOSなど全ての端末に対応できるということです。
たった2つのヘッダーで数千台の端末を制御できる。それも 追加費用無し で。
ちなみに、この方法Office365だけでなくGoogle Appsなど他のSaaSアプリケーションでも使える方法なのです。
ちなみにOffice365でテナント制御を行うには以下の条件をクリアする必要があります。
- SSL インターセプトが行え、指定した URL に対して HTTP ヘッダーを挿入できるプロキシ サーバーがあること (サーバー証明書の実装含む)
- Office 365 テナント及び クライアント ソフトウェアで、Modern Authentication (先進認証/ADAL) が有効になっていること
- すべてのクライアントが本プロキシ サーバー経由で Office 365 に接続されること
注意点はある?
はいあります。httpプロトコルを使わないで認証を行うもの(例えばOutlookやSkypeのレガシー認証)は、テナント制御の管理外となってしまいます。*4
これらの製品を制御するためには、Modern Authentication (先進認証/ADAL) に対応したOffice製品が必要です。各OSの先進認証対応状況は下図の通りのようです。
引用: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 - たいちの何か