はじめに
はじめまして。オプティムのOptimal Bizチームの于(う)です。入社してから新人研修の時期を除いてずっとOptimal Bizチームに所属しており、今は五年目です。
Optimal Bizに関しては以下を参照 www.optimalbiz.jp
普段の業務では主にRuby on Railsによってのサーバー側の開発を行っており、現在はOptimal Biz Android EMM(Enterprise Mobility Management )を担当しています。
今回はOptimal Bizが、Androidゼロタッチ登録に対応したので、その開発の大体の流れを紹介します。
エンタープライズ向けのモバイル管理は、後ほど紹介するAPIを用いたWebサービス連携にて実現しており、Optimal BizにおいてはここにRuby on Railsを採用しています。今回ご紹介するのはAndroid側の実現手法ですが、iOSに関しても同種のWebサービス開発が伴います。
用語説明
- ここではまず、いくつかの用語を説明します
- リセラー : モバイル端末を販売する通信キャリア
- 端末利用者 : 実際にモバイルデバイスを利用するユーザーのことです
- DPC : Device Policy Controller、モバイルデバイス管理(MDM)サービス、今回はOptimal Bizのことを指します
ゼロタッチ登録とは
Googleが提供する企業向けのサービスです。主な目的としては、企業所有のAndroid端末をまとめて設定して導入することです。 通常は、企業の作業者によって1 台ずつ手動で設定する必要があります。ゼロタッチを利用することで、大規模に端末を導入する際の初期設定を一気に完了し、ユーザーは携帯に電源を入れる時すぐに管理やアプリや設定ポリシーなどは適用済の状態になり、管理・導入のコストを大幅に削減できます。現在では日本国内で対応できる端末の種類は豊富になっています。 「ゼロタッチ」というのはまさに企業のスタッフが社用の端末を受け入れた時、タッチなしですぐ利用できます。
- ここでは注意すべきことは、サムスンのAndroid端末は対応できないということです。ゼロタッチ登録は主にサムスン以外のAndroid端末向けで、サムスンの端末の場合はサムスン社の開発したサービス Knox Mobile Enrollment を利用します。以下を参照
https://www.samsungknox.com/en/solutions/it-solutions/knox-mobile-enrollment
- Optimal BizはAndroidゼロタッチ登録の対応は既に完了しており、Androidゼロタッチ登録のホームページでも掲載されています。Androidゼロタッチ登録のホームページは以下を参照。EMM パートナーの部分にOptimal Bizが掲載されています。
Android – Android エンタープライズ: ゼロタッチ登録
なぜAndroidゼロタッチ登録
Androidゼロタッチ登録の利用によりいろいろなメリットがあります
- 通常の運用イメージは以下の通りで、コストがかかるだけではなく、管理も煩雑で、ミスがしやすくなります。
- 初期化された端末の電源を投入
- WiFiまたはモバイルネットワークを設定
- 環境設定
- Googleアカウントの登録
- Google PlayからDPCアプリ(Optimal Biz)のインストール
- DPC(Optimal Biz)に設定値を入れます
ゼロタッチ登録を利用する場合、上記の3~5までの手順は全部一括で完了でき、手順6の企業共通の設定値なども一括適用できます。大規模の運用が可能になり、コストを削減できます。
調査・検討
まずは公式ドキュメントの調査で、Androidゼロタッチ登録の仕様はもとより、運用のイメージ、どうやってOptimal Bizの既存の実装に取り入れるかなどを検討します。
開発ガイドラインは以下の通り
https://developers.google.com/zero-touch/
ゼロタッチ登録運用のイメージ
調査結果により、Androidゼロタッチ登録の運用のイメージはわかりました、以下通り
ゼロタッチ登録の開発の流れ
事前準備
- Googleへの対応申請
- まずは申請する必要があります。申請が通ったら、対応する予定のDPCはGoogleのサーバーに登録され、Androidゼロタッチ登録において選択可能な状態になります。
- 申請が完了したら専用の端末を購入
- ここはキャリアに問い合わせます。ゼロタッチの端末を購入する時、専用の管理アカウントが発行されます。その管理アカウントを利用してGoogleの管理用のサイトにログインすると、登録された端末が表示され、設定などが可能となります。
DPCのサーバー側の対応
- 事前準備する時のリセラーから発行された管理アカウントを利用し、DPCのサーバー側で登録できるようにします。
- 対象の管理アカウントの対象端末の情報などを一括で取得できます。
- https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices/list
- ここはつまづきやすいところです。想定としては数万、数十万の端末の運用規模なので、サーバー側の負荷、途中でエラー発生したらの対応などは要注意。
- 各種設定などを作ります
- その設定を各対象端末に関連します
- https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices/applyConfiguration
- ここもつまづきやすいところです。端末の一台ずつの設定も可能ですが、一括運用の場合、数万、数十万の端末の運用は想定されます。サーバー側の負荷、途中でエラー発生したらの対応などは要注意。
端末側
- 初期化された端末を用意します。
- DPCは自動的にダウンロードされインストールされます。
- DPCのサーバー側の設定値などはGoogleのサーバーを経由してDPCに渡されます。DPCはその設定値を処理して端末に反映します。
所感
- 開発ガイドラインで提供されたAPIは豊富ですが、実際の機能に必要なのは一部のみです。ニーズによって柔軟の選定は大事です。
- ユーザーにとって便利な機能を提供するためには、UI設計が重要で、開発チームだけではなく、いろんな方に使い勝手を試してもらい、意見をもらう必要があります。
- 外部APIサーバーと連携を行うため、ログと各種のエラーの対応が重要で、特にログ出力は後のメンテナンスに大きく影響します。
- 大量の端末で利用されれることが前提の機能となるため、負荷試験も重要です。
最後に
企業向けにAndroidを管理するための機能はまだまだあります。こういった開発に興味がある方は、ぜひ応募してください。