MDM▼のイメージをつかむには使ってみるのが一番だ。そこで前回は、リモートロックやリモートワイプ▼といった主な遠隔操作の指示や実行結果を、実際のコンソール画面や端末画面を追うことで擬似体験してもらった。
今回はもう一歩進んで、MDMの仕組みを理解しよう。MDMサーバー(運用管理サーバー)と端末はどのようなやり取りをして遠隔操作を実行しているのか、そのときのOSを含めた端末内部の処理はどうなっているのか――といった知識は、MDMツール/サービスの選択や、実際の運用フェーズでトラブル対策などに役立つからだ。
アップルのサーバーを必ず経由する
最初にiOSのケースで、MDMサーバーと端末のやり取りを説明する。この流れで覚えておいてほしい点は、必ず米アップルのサーバーを経由すること(図1)。アップルのサーバーは「APNS▼サーバー」と呼ばれるプッシュ配信サーバーである。やり取りの流れはMDMツール/サービスの種類を問わず共通であり、遠隔操作の方式としては1通りになる。
まず、管理者が管理画面から「ワイプする」などの操作を指示すると、MDMサーバーはAPNSサーバーに通信指示を送る。一方でiOS端末は不定期にAPNSサーバーにアクセスし、自分宛ての通信指示があるかどうかを確認しに行っている。APNSサーバー上に自身の端末への通信指示があった場合は、それを受け取る。
ここで注意が必要なのは、この通信指示はあくまで「MDMサーバーと通信をしてください」という通信要求だけが書かれていることだ。このため通信指示を受けたiOS端末は、MDMサーバーにアクセスし、ここではじめて「ワイプする」といった操作指示を受け取り、処理を実行する。
複数あるAndroidの遠隔操作方式
iOSとは違って、AndroidではMDMサーバーと端末のやり取りの方式にバリエーションがある。大きく四つに分類できる(図2)。
第1はSMS▼を使う方式である。まず、MDMサーバーから通信事業者のSMSサーバーへ遠隔操作の指示が送られる。次にSMSサーバーがAndroid端末へその指示を送る。そしてAndroid端末のMDMクライアントソフトが操作指示に沿って処理を実行する。以上がSMS方式の流れだ。
第2はポーリング方式である。Android端末が定期的にMDMサーバーにアクセスし、自分宛ての遠隔操作の指示を受け取る。プル方式とも呼ばれる。