誰も知らないMicrosoft LauncherとOffice 365 EM+Sの関係

前書き

Office 365 アドベントカレンダー、12月12日です。実はアドベントカレンダー用にForms/Flow/GraphAPIのエントリを書いていたのですが話題がかぶってそうなので、Androidスマホ用Microsoft製のMicrosoft Launcherの話をします。誰得?

※ Forms/Flow/GraphAPIのエントリはこちら

そもそも"ランチャー"とは

簡単に言うと、Androidスマホの"外観"を表現しているソフトです。昔、WindowsXP時代に、explorer.exeを入れ替えることでWindowsをLinux風にしたりMac風にしたり、といったことがはやりましたが、ああいうことが出来ます。iPhoneの場合、ジェイルブレイクしない限りiPhone固定のあの外観となりますが、Androidの場合はランチャーを変更することで同じスマホでも全く別の外観に変更できます。

以下、Microsoft LauncherのGoogle Play のアプリの画面ショットです。

デフォルトのランチャーから変更するメリットは?

理由その1. メーカー純正のランチャー使いづらいから

昔のNECのPCのように(名指しごめん)、デスクトップにメーカー製の余計なソフトが表示されてしまうように、AndroidもメーカーによってはXperiaなんとかソフト、みたいに普段自分が使わないソフトが場所をとっちゃってる場合がある。これをランチャーを変更し、クリーンな状態から自分好みのデスクトップを作ることが出来ます。

以下、懐かしのNEC製WindowsXP(邪魔なアイコンを削除したい – 日経トレンディネットより)

以下は、富士通製スマホに搭載されている富士通純正のランチャー。アイコンが大きく使いやすいが、スマートでない印象を受ける(ホーム画面の設定をする | 富士通 arrows M02 | BBIQ接続・設定マニュアル)より。総じて、3rdパーティーの作るランチャーの方がクールで多機能、といった印象です。

理由その2. スマホメーカーを乗り換えても同じ外観で操作できる

例えば、Xperiaを使っていてXperiaのランチャーに慣れてしまった場合、Huaweiスマホに乗り換えるとHuawei製のランチャーになります。もちろんこれにXperiaのランチャーをインストールすることもできるのですが、Xperiaのランチャー = SONY製のソフトが裏でインストールされている前提なので、無理やりHuaweiにインストールしてもセットアップが面倒。

こういう理由で3rdパーティーのランチャーを利用したほうが利便性が高まるし、メーカーロックインも避けれてよいと思います。

Androidで有力なランチャーソフト

ランキングを見てみたところ、以下の4つあたりが有名なようです。右側の数字はダウンロード数。

私はNova Lanucherの有料ユーザーでしたが、Microsoft信者なのでMicrosoft Launcherの存在を知って 速攻乗り換えました(真の信者ならWindows Phone使え!という声は無視)

ともかく、Microsoft LauncherはAndroidランチャーソフトの中でそこそこの知名度のようです。他のランチャーが無料版と有料版で格差があるのに対して、Microsoft LauncherはMicrosoftの戦略製品であり、すべての機能が無料でそこそこ多機能なのがよいかもしれませんね。

Microsoft Launcherでできること

外観の変更系などランチャーとしての基本機能に加えて、Microsoft Launcherでは、ランチャー自体にOffice 365 のアカウントを登録し、連携することができます。具体的には…

その1. Exchange Onlineの予定表が表示される

連携したOffice 365アカウントの、Exchange Online メールボックスの予定表に登録している予定を、

  • 予定の開催時刻
  • 予定の件名

まで表示できるようです。なお、表示期間は当日~1週間となります。

その2. Windows 10 のタイムライン連携ができる

Windows 10に"タイムライン"という、起動したアプリケーションや開いたファイルが記録できる機能があります。この機能が、Androidスマートフォン上でも使用できるようです。よって、仕事用のWindows10でSharePoint上のExcelファイルを開くと、その履歴がAndroidにも同期され、Androidのタイムラインでクリックするだけで同じファイルを開くことができます。

EM+Sを用いたMicrosoft Launcherの制御方法

情シス視点で私用端末からのOffice 365へのアクセスを防ぎたい場合、アクセス元がMicrosoft Launcherである場合の制御を考えます。使うのはもちろんEM+Sライセンスで利用できるAAD条件付きアクセスです。

AAD条件付きアクセスルールをMicrosoft Launcherに合致させる

結論から言うと、Microsoft Launcherを制御するためには、Exchange Onlineサービスに対して条件付きアクセスを書ければよいです。理由はEM+Sの制御ルールとして、特定のアプリが触りに行くサービスのうち、一番厳しい条件付きアクセスルールが適用されるということです。Microsoft Launcherは現状、

  1. Exchange Onlineの予定表
  2. Windows 10のタイムライン

の2つを表示します。1.はExchange Onlineサービスなので、Exchange Onlineに対する制御をかければいいです。Win10のタイムラインはDelveか何かに保存されているのかな…と思うので、もしかしてDelveに対して制御をかけても効くかもしれないですね。

動作確認

EM+Sの試用版テナントを契約し、テスト用のユーザー"emsuser"を作成します。以下のように条件付きアクセスを構成します。

  • ユーザーとグループ:emsuser
  • クラウドアプリ:Exchange Online
  • 条件:デバイス プラットフォーム -> 全てのプラットフォーム
  • アクセス許可:アクセス権の付与 -> 多要素認証を要求する

PCからの確認

試しにPCのブラウザからログインして、多要素認証がかかることを確かめます。

Microsoft Launcherからの確認

この状態でMicrosoft Launcherからアカウントを登録します。

ID/Passwordを入力すると…。

多要素認証が動作します。

スマホに届いたSMSを登録すると、Microsoft Launcherへのアカウント登録が完了します。

Exchnage Onlineの予定も表示されました。

Azure AD のサインインログを確認すると、

  • アプリケーション:Microsoft Launcher
  • クライアントアプリ:Mobile Apps and Desktop clients

と表示があります。

ブラウザはChrome mobileのようです。

ということで、Exchange Onlineに対してしっかりと条件付きアクセスを設計している環境であれば、Microsoft Launcherに対しても同等のポリシーが適用される仕様となります。

余談

Microsoft LauncherでOffice 365 アカウントを登録すると、Androidシステムの"仕事用アカウント"に設定が保存されるようです。で、仕様かどうかわかりませんが、Microsoft Launcherではアカウントを登録することができるが削除することはできず。Androidシステムの"仕事用アカウント"設定から削除する必要があります。

また、Androidシステムの"仕事用アカウント"の仕様だと思いますが、Office 365上でパスワードを変更しても、再認証が求められません。Windows版のOneDriveのような感覚でしょうが、OSに何らかの認証キャッシュを持って初回設定後は何があっても再認証が不要となるようです。

EM+Sがない場合

注意:ここからマニアックな話に入ります。

EM+Sを買うカネはない!けどMicrosoft Launcherなんて知らなかった!私用端末で予定表が見れるのはまずい!禁止しよう!…と決めたとします。ここで勘違いしやすいのがExchange Onlineの設計でよくやる外部との予定表共有禁止と、Microsoft Launcherで予定表の閲覧を不可とすることは全く関連性がないということです。

外部との予定表共有を禁止するためのExchange Online で共有ポリシーについてはこちら。

Exchange Online で共有ポリシーを作成する | Microsoft Docs

用途としては、自分の仕事の予定を外部、例えば取引先や家族と共有したい、というものですが、日本企業では許可されたドメイン以外は共有禁止になっている所が多いと思います。この機能は、自分の予定を他人に共有するかどうかの制御ですが、Microsoft Launcherは、自分のID/Passwordで自分の予定表を見ているだけなので、無関係です。

ではどうやって制御するか?

ユーザーの利用できるプロトコルでの制御

結論から言うと制御できないようです。

以下、テストユーザーのプロトコルをできるだけdisableに。

この状態でも無事に予定表が表示できてしまいました。

よって別の方法を考えます。

Exchange Onilne クライアントアクセスルールの利用

素人にはお勧めできないNew-ClientAccessRuleを使います。結論から言うと、ブロックできました。

Exchange Online クライアントアクセスルールでは、Set-Casmailboxで設定できるものより詳細なプロトコルベースでアクセス制御が可能であり、以下の12通りのプロトコルが指定できます。

  • ExchangeActiveSync
  • ExchangeAdminCenter
  • ExchangeWebServices
  • IMAP4
  • OfflineAddressBook
  • OutlookAnywhere
  • OutlookWebApp
  • POP3
  • PowerShellWebServices
  • RemotePowerShell
  • REST
  • UniversalOutlook

これを怪しい順にブロックしていくと…

なんと、RESTを追加した時点で、予定表が見えなくなってしまいました。これは予想外。

ただ、OutlookクライアントがMAPIベースでなくRESTベースで作り変えられる、という話もあるので、今後は本格的にアクセスプロトコルがRESTに集約されていくのかもしれないですね。「Microsoft launcherのアクセスを防ぐためにはRESTとかいうのをブロックすればいい!」をやるといろいろと終わるの後注意ください。

なお、このアクセス制御はExchange Onlineに対するアクセス制御となるので、Microsoft Launcherに対するOffice 365アカウント登録・ログイン自体はうまくいきます。

図解するとこんな感じです。

ということで誰が望んでいるかわかりませんが、Microsoft Launcherの仕様が分かったのですっきりとしたクリスマスを迎えられそうです!!!!!ほんとこれ誰得だよ…。

※ 真面目にAndoridを管理する場合は、本日公式から出た以下の記事をご確認ください。

How does Microsoft Intune transform Android enterprise management? Let me count the ways – Microsoft Tech Community – 299289

Posted by tera