Custom App を MDM (MAM) で管理する (Microsoft Intune)


こんにちは。

開発者向けの情報ですが、今回、コードはいっさい出てきませんのでご安心 (?) ください。

Office 365 (商用版) には Mobile Device Management (MDM) が Built-in されていますが、Salesforce などを筆頭に Office 365 認証に対応したアプリ (ISV App や LOB App) がどんどん増える中、こうした Custom App でも、この MDM を活用したいというニーズを多く伺います。
そこで今回は、こうした Custom Mobile App (iOS App や Android App) で MDM を活用する方法について簡単にまとめておきたいと思います。

Office 365 と MAM

まず、最初に大事な注意点があります。
Office 365 の環境で、ISV (third party) などが提供する Custom App を、後述する MAM (Mobile Application Management) の管理下に置くことは可能ですが、Microsoft Intune が必要ですので注意してください。つまり、Office 365 が Built-in で提供する MDM だけでは不充分で、利用環境ごとに Microsoft Intune のライセンスを取得して使用する必要があります。(この場合、現在は、Microsoft Intune のライセンスを取得して、別途 Microsoft Intune Account Portal を使用する必要がありますが、今後、Microsoft Intune Account Portal と Office 365 Management Portal はマージされるので、もっとシームレスに使えるようになる予定です。)
なお、Microsoft が提供する Office Client 製品 (Outlook, OneDrive 等) については、Office 365 の Built-in MDM のみを使って、後述する MAM の一部機能や Remote Wipe (後述) などが可能です。(これが無くては、Office 365 の MDM の意味がほとんどありませんので、当然ですね。) つまり、Custom App の場合に Intune が必要になります。

TechNet : Office 365 Built-in MDM と Microsoft Intune の機能比較
https://technet.microsoft.com/en-us/library/Dn957912.aspx

Office 365 が持っている MDM は Microsoft Intune のサブセットとなっています。そして、例えば、E メールや WiFi 等のプロファイル設定、Conditional Access など、Microsoft Intune の MDM 全体で利用可能なポリシーや機能のうち (MDM の機能全体については こちら を参照)、ここで述べる Custom App の MAM (Mobile Application Management) のポリシーは Office 365 の Built-in MDM には含まれていないため、別途 Intune が必要になります。

MAM のポリシーとは、例えば、以下のような機能です。(ポリシー設定により、これらのうち必要なものを組み合わせて使用できます。)

  • 管理されたデータを SNS など管理外のアプリに流さないよう、App のデータを copy, cut, paste から保護する
  • 管理下にある App のデータが、iTune, iCloud, Android が提供するバックアップを使って管理外に出てしまうことを禁止する
  • Mobile App (iOS, Android) の “Send To” によって、管理外の App へデータ転送されたり、逆に外の App からデータ受信することを制御 (禁止など) する
  • App から “Save As” 機能を使って管理外の Storage に保存されることを禁止する
  • App からインターネット上の Web サイトを開く際に、常に Managed Browser (Intune が管理する Browser) で開くようにする
  • App を使う際に必ず、Corporate Account でログインさせる
  • App が扱うデータを暗号化する          などなど

Tool (SDK とユーティリティ)

このような MAM Policy や、Device が不要になった場合の Remote からのデータ削除 (Selective Wipe) などの機能を使うには、アプリケーション (App) 側が個別にこれらの要求に対応している必要があり、下記のいずれかのツール (SDK など) をアプリケーション (App) に事前に適用する必要があります

  • Intune App SDK
  • Intune App Wrapping Tool

まず、Store からダウンロードして使う形態の App (いわゆる、ISV アプリなど) は、App 自体が Intune の存在を意識して動作するよう、前者の Intune App SDK を使用して構築しておきます。MAM に対応した既存の Office Client 製品 (Outlook など) が、まさにこの方式で動いており、Outlook のように「必要な Device 側の設定がされていない環境では、セットアップを促すメールを表示する」など、気の利いた実装 (プログラミング) ができるようになるでしょう。(後述の通り、まだモノが出てきていないのでわかりませんが。。。) なお、今後、Skype for Business なども対応予定です。
このタイプのアプリは、Store 上の App の External Link (https://itunes.apple.com/… など) を Intune に設定して管理下に置きます。
なお、残念ながら、現時点 (2015/09) では、この Intune App SDK は下記の通り “In Development” (つまり、開発中) のステータスであり、まだ使用できないので注意してください。(今後出てくるのを期待して待ちましょう。)

Cloud Platform Roadmap – Enterprise Mobility
http://www.microsoft.com/en-us/server-cloud/roadmap/Indevelopment.aspx?TabIndex=1&dropValue=AllProducts

一方、企業内で構築したカスタム アプリ (いわゆる LOB アプリ) のようなものは、後者の Intune App Wrapping Tool を使用すると良いでしょう。
前者の SDK のようにプログラマーが App 自体に手を入れるのではなく、作成した App の Package をこのツール (コマンド) に通すことで、Package が上記のポリシーを認識できる形に変更され、再パッケージ化されます。(この方法で Wrap した App は、逆に Store などに置けないので注意してください。)
App の管理をおこなう場合は、作成された App Package 自体を Intune に置きます。
この Intune App Wrapping Tool は、既に、iOS 版、Android 版の双方がダウンロード可能ですので、実際に試していただくことができます。(例えば、iOS の場合の具体的手順は、Microsoft Intune Team Blog などを参考にしてください。)

 

なお、Windows アプリの開発者の方は、上図の通り Windows Information Protection (WIP) の API (Native C++ or .NET) を使ったプログラミングが可能です。(Office 製品については、2016/10 現在、Office Mobile のみが Windows Information Protection に対応しています。デスクトップ版 Office については今後対応予定です。)
この開発手法については「Programming Windows Information Protection」に記載しましたので参照してください。(2016/11/07 追記)

 

※ 更新履歴

2016/10  Enterprise Data Protection -> Windows Information Protection に変更

 

Comments (0)

Skip to main content