Experience Prototypistのマルチリンガル子育て+プログラミングブログ

Design Thinking、語学(英語、中国語、韓国語)、日中マルチリンガル育児、littleBitsやRaspberry Pi, Arduinoを使ったExperience Prototypingネタ。

iPhone with iCloud, without PC/Mac - スマートフォンのデバイス管理という視点 (2)

さて、セキュアなOSを搭載したスマートフォンのデバイス管理をどうするのか?ということですが、答えから言ってしまえばアプリケーションレベルではどうしようもないので、OSレベルでの対処が必要となる、ということに尽きます。

従来であれば、デバイス管理システムというのは、端末(クライアント)側で常駐型のアプリケーション(エージェント、と呼んだりします)が動作しており、デバイス管理システムの管理コンソール側で、アプリケーションを配布したい、システムの情報を取得したい、システムに情報を設定したいというリクエストを出しておけば、1日に1回、あるいは1時間に1回といった感じで定期的にエージェントがデバイス管理システムのサーバと通信し、何らかの処理リクエストがあれば、(サーバに成り代わって)実行し、実行結果をサーバに通知する(代理人だからエージェント)といった感じで動作していたのでした。

一方でスマートフォンといったモバイルデバイスの場合、そもそも(iPhoneの3GS以前のように)OS、ハードウェア的にマルチタスクがサポートされていない、つまり常駐型のアプリケーションというものが存在しえなかったり、(1)で説明したようにアプリケーションがシステムや他アプリに関わるような動作がOSの仕様上、制限されていたのでした(また、(3)以降で後述しますが、モバイルデバイスの場合、なくしてしまったときに削除やロック等の指示をするのには、定期的にサーバにアクセスする−つまりPull−ではなく、指示したら即時実行する−つまりPush−が必要とされるという違いもあります)。

iPhoneiPadといったiOS搭載デバイスでは、iOS 4.0(2010/6)でこのMDMの機能がOSの機能として提供されることになりました。iOS 4のためのモバイルデバイス管理ソリューションというページがAppleのサイトに用意されており(http://www.apple.com/jp/iphone/business/integration/mdm/ )、同ページからダウンロードできる「モバイルデバイス管理の概要(iPhone_MDM_JP.pdf)」というファイルをご覧いただければ、どういった設定が構成可能か、どういった情報が取得可能か(クエリ)、どういった管理(アクション)が可能かが分かります。

一方、Androidの場合はAndroid OS v2.2(2010/5 - ただしiOSと違いOSのリリース時期であり、対応スマートフォンのリリースではないことに注意)にて、非常に限られた機能ではありますが、MDMの機能が実装されました。具体的にはパスワードの条件設定(設定必須の有無や長さ等の指定)と、デバイスのロック、ワイプのみのサポートに留まっています(http://developer.android.com/intl/ja/reference/android/app/admin/package-summary.html )。

従来であれば、モバイルに限らず、システム管理(あるいはIT資産管理)システムを導入するのであれば、複数のベンダの製品の機能比較表を作り、○×をつけ、○が多い製品であったり、絶対に譲れない機能に関しては○必須、あとは予算に応じて...といった形の選定がされていたかと思いますが(つまり○が多いベンダは熱心なベンダ、×が多いベンダは消極的なベンダ)、モバイルデバイス管理に関しては、機能的な○×において差が出る余地はほとんどないということに注意する必要があります。そうはいっても製品間で違いがない訳ではなく(何ができるかは同じでも、どうできるのかは異なる)、またターゲットとして狙っているマーケットの違いを認識しておく必要があります。

一方で欲しいはずの特定の機能が存在しない場合、MDMベンダの怠慢(や対応の悪さ)が原因ではなく、テクニカルに(技術的に)その機能が実現可能かどうか、というところに大きく依存します。ですから、スマートフォンを使ったシステムを構築する際に、iPhoneにするのか、Androidにするのか、Windows Phoneにするのかを決める際に、構築したいアプリケーションの要件(や構築費用、ベンダのアプリケーション構築経験)からOSを決めるというのが一般的にされているかと思われますが、実際には構築するアプリケーション+デバイス管理の視点からどのOS、プラットフォームにするのかを検討する必要があるわけです。-(3)に続く