まず、アプリ実装時に、iOSではXcode、AndroidではIDEを利用する際に、コードに管理対象の構成キーを追加する。次に、EMM製品側で、定義されたコードに値を定義し、端末に配信を行うと、定義された値を読み取りアプリを使えるようにする。
例えばOpen Inというコードを準備し、値をDisableで配信したとする。PDFを特定のファイルで開いていた際、iOSでは別のアプリでも開くことが可能だが、これを抑制することができる。この機能によって、企業が開発したアプリ以外でファイルを開き、コピーされることによる情報流出の抑止が可能だ。
アプリ単位でのポリシー設定は、ACEのほかにも、SDK(Software Development Kit)やアプリラッピングを採用する方法もある。SDKは、EMM製品を提供している会社のソフトウェア開発キットを利用することで、ユーザー認証やセキュリティポリシーを実装し、アプリを開発する。端末へ展開する際は、ポリシーを実装したプロファイルを定義し、アプリと同時に配信する。
アプリラッピングとは、アプリ自体にアクセス権限やデータ保護設定などを施す技術のことである。ちなみに、AirWatchでもアプリラッピングの機能は提供している。
これらの手法を比較すると下記のようになる(AirWatchを利用した場合)。
ACE | SDK開発 | アプリラッピング | |
---|---|---|---|
概要 | 標準化団体が提唱しているため、パブリック、内部アプリに対して理想的・戦略的な展開が可能。 業界標準のためEMMベンダーに偏らない。 | EMMベンダー毎に開発が必要。 固有のEMM製品とより深い親和性を誇るため、ACEより詳細なセキュリティ等の制御が可能。 | 内部アプリのみの場合に 適している。 ただし、期待する動作をするにはアプリ自体が正しいラッピング機能に対応している必要がある。 |
対象 | パブリック、社内アプリ | パブリック、社内アプリ | 社内アプリ |
備考 | 標準化は提唱しているものの、アプリを開発するベンダーによって機能実装が違うため注意が必要。 | - | - |
ただし、アプリや開発ベンダー、メーカーの実装内容、開発状況によりACEだけでは完全に補完できるケースは少ない。どのケースを採用するかは、利用する機能によって要件がかわるため、EMMメーカーやACEの内容を確認して、利用する手法を選択するとよいだろう。
次に、Android for workを利用するケースを紹介する。
iOSと違い、Androidを採用している端末メーカーはさまざまで、機種によってアプリの動作が異なる場合がある。Googleが提供しているAndroid for Workでは、仕事専用プロフィールを作成し、私用アプリとデータを切り離して、企業が承認したアプリや企業データを設定・使用できる。
図5:業務領域と個人領域の分離
Android for workはGoogle Apps for Businessのアドオン機能であり、企業ですでに利用している場合は、無料で利用可能だ。通常、ユーザーはGoogle Playよりアプリを自由ダウンロード可能だが、Android for WorkではGoogle Play for workと呼ばれる企業用のアプリストアを準備しており、使いたいアプリを管理者が承認しないと利用ができない。
図6:Google Play for workでの承認
Google Play for workからダウンロードした承認済みアプリは、企業領域にインストールされ、企業領域と個人領域は完全に隔離されていることから、データが個人の領域に移動することを防ぐことができる。もちろん承認したアプリだけではなく、社内開発したアプリも企業領域にインストールできるため、セキュアにアプリを利用することが可能である。
ただし、Android OSバージョンが5.0からの利用がメインとなっており、利用している端末がキャリアに依存していてOSをバージョンアップできないケースも多いため、Android 4.xを利用している場合は注意が必要である。