社内のモバイルデバイス管理とアプリ配布
はじめに
突然ですが、みなさんは"MDM"ってご存知ですか?
Mobile Device Management、つまりモバイルデバイス管理をするシステムのことなんですが、私はアプリ開発もIT資産管理系の業務もしたことがなかったので、JINSに入社して初めて知りました。
本記事では、知らない人向けにモバイルデバイス管理と社内アプリ配布の話をしてきたいと思います。
MobileDeviceManagerPlusとは
JINSではデバイス管理で、ManageEngineのMobile Device Manager Plus(以下、ME MDM)を利用しています。ManageEngineは「Zoho Corporation(ゾーホー・コーポレーション)」という会社のIT運用管理ソフトウェア部門のブランド名で、IT管理者の間では世界的に非常に有名な製品らしいです。
iOS/iPadOSはもちろん、Android・Windows・macOS・tvOS・ChromeOSまでカバーし、単一の管理コンソールからデバイス登録やアプリ配布、セキュリティ運用までを一気通貫で行えます。クラウド/オンプレ両対応です。
ME MDMの主要な機能は下記のとおりです。
1. デバイスの登録と資産管理
QRコードのスキャン、メールでの招待などの様々な方法で簡単にデバイス登録できます。
MDMに登録されているデバイスは、端末のOSバージョン、インストールされているアプリ、バッテリー残量などの情報を自動で収集されています。
下記のようにデバイスにインストールされているアプリなどは全て管理されているので、くれぐれも業務に関係のないアプリなどはインストールしないようにご注意ください🤓
2. アプリケーション管理
業務に必要なアプリを遠隔で全従業員の端末にインストールしたり、不要になったアプリを削除したりできます。
また、業務に関係ないゲームやSNSなどのアプリのインストールをブラックリスト形式で制限できたりもします。
3. セキュリティ管理
端末を紛失・盗難された際に、管理者が遠隔操作で端末にロックをかけたり、中のデータを完全に消去したり、再起動できたりします。複雑なパスワードポリシーを強制することもできます。
4. その他
業務マニュアルなどのファイルを端末へ配信できます。配信されたファイルは、他のアプリで開いたり、個人用のクラウドストレージに保存したりすることを禁止できます。
キオスクモード(特定のアプリしか起動できないようにする)を強制することもできます。店舗のPOS端末、工場の作業指示端末として運用する時に便利ですね。
ほかにも端末の位置情報の追跡などもできます。
API連携
APIキーを発行することで、他システムとAPI連携することも可能です。(公式ドキュメントはこちら)
社内アプリのCICDパイプラインと連携して配布業務を効率化したり、人事システムと連携して入退社者の端末管理を自動化したり、いろいろできそうです。
Firebase App Distribution
Firebase App Distributionとは
FirebaseAppDistribution(以下、FAD)は、開発中のiOSおよびAndroidアプリをテスターに限定配布するためのサービスです。FirebaseコンソールやCI/CDツールと連携してipaファイルをアップロードすることで、テスターへの配布を効率化できます。
JINSは社内チームだけでなく、多くの開発ベンダー企業と協業しているのですが、ベンダーさんのすべての端末をMDMで管理しているわけではありません。「ベンダーさん管理端末」で業務をしていただくことが多々あり、MDM管理外の「ベンダーさん管理端末」にテストアプリを配布するときにFADを使用しています。
ちなみに無料です。
Enterprise / AdHoc配布
JINSの社内アプリは、Appleの「Enterprise配布」のアプリです。
「Enterprise配布」のアプリに関しては、UDIDの登録が不要なので、ipaファイルをFADに置くだけで配布ができます。
Enterpriseではない「AdHoc配布」のテスター配布では、テスターのデバイス固有ID(UDID)を事前にApple Developer Portalへ登録しない限り、アプリをインストールできないという制約があります。通常、以下の手順が必要です。
- テスターが招待を承諾し、プロファイルをインストール
- FirebaseがテスターのデバイスID(UDID)を収集し、開発者に通知
- 開発者は、そのUDIDをAppleDeveloperサイトに手動で登録し、プロビジョニングプロファイルを更新後、アプリを再ビルドして再アップロード
この辺りの「AdHoc配布」の制約もFADは簡潔にできるようです。
Firebase App Distributionプロジェクト作成
では実際にFirebase App Distributionプロジェクトを作成し、Enterpriseアプリを配布してみましょう。
GoogleCloudConsole を開きます。
Firebaseプロジェクトがすでに作成済み場合は、対象のプロジェクトを選択します。なければ作成してください。
メニューで 「APIとサービス」 > 「ライブラリ」 を選択
「有効にする」ボタンをクリック
GoogleCloudで有効化した後は、Firebase Consoleでプロジェクトを開き、歯車アイコンから 「プロジェクトの設定」 を選択します。
「新しい秘密鍵を生成」 をクリックし、キー(JSONファイル)をダウンロード
アプリを作成
「全般」 タブに移動し、対象のiOSアプリを選択、なければアプリを作成してください。
テスターとグループを追加
「テスターとグループ」タブを選択し、まずはグループを追加していきます。今回はfront_developer
というグループ名で作成しました。
グループの作成が完了したらテスターを追加してください。
ipaファイルをアップロード
あとはipaファイルをドラッグ&ドロップして、テスターを追加します。
対象のテスターに招待メールが送信されるので、テスターがインストールを開始するだけです。
以上でEnterpriseアプリの配布が完了しました。
おわりに
社内アプリの配布を自動化した記事もあるので、よかったらぜひ。
Discussion