Copyright © 2019 i³ Systems, Inc. All Rights Reserved.01
2019/02/08 DroidKaigi 2019
株式会社アイキューブドシステムズ
製品開発運用本部
堤 大輔
Android Enterpriseで実現できる端末管理の世界
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.2
•堤大輔(つつみだいすけ)
•株式会社 アイキューブドシステムズ
•所在地:福岡県福岡市
•所属:製品開発運用本部 製品開発部/製品戦略チーム
•Androidアプリ開発
•MDM Agent アプリの開発
•企業向けビジネスアプリの開発
•Xamarin開発
•Xamarin iOSの開発
•コミュニティー:Japan Android Group / JXUG
•特技:ダンス、卓球
自己紹介
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.3
■本日のアジェンダ
• 端末管理の基礎知識
• Android Enterpriseとは?
• デバイスのプロビジョニング方式
• 会社所有デバイスの個人利用を許可する場合の管理
• ここまで出来る!DevicePolicyManagerで制御可能な機能について
• 端末管理の今後
アジェンダ
まずはじめに
様々な制御が出来る端末管理のために用意されたAPI!
Androidエンジニアなら必ず興味を持っていただけるはずです!
皆様も端末管理の世界に足を踏み入れ、その魅力を感じていただ
ければと思います。
端末管理の基礎知識
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.7
端末管理の基礎知識
MDM
??
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.8
端末管理の基礎知識
企業が所有している端末や
従業員個人が所有している
端末を管理者が一元的に管
理するための仕組み
MDM
(Mobile Device Management)
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.9
端末管理の基礎知識
企業のIT管理者は管理コンソールを介して従業員の
デバイスの管理を行う。
配布したデバイスや個人が所有しているデバイスに
対してデバイス利用のルールや制限をかける。
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.10
端末管理の基礎知識
どのようにルールや制限をかけて
管理するのか?
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.11
端末管理の基礎知識
参考:
https://developer.android.com/reference/android/app/admin/DevicePolicyManager
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.12
■DevicePolicyManagerの歴史
端末管理の基礎知識
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.13
■DevicePolicyManagerの歴史
端末管理の基礎知識
Android 2.2からDevice
Administration APIを提供
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.14
■Device Administration API
• 企業が従業員のデバイスを詳細に管理したい場合に利用することを想定した、システムレベ
ルで制御可能なデバイス管理機能。
• MDMアプリにDeviceAdmin権限を付与する事でDevicePolicyManagerクラスのAPIを利用す
る事が可能となる
• 権限の付与にはユーザーの同意が必要
• DeviceAdmin権限を持つアプリはアンインストールが抑止される
• デバイスの初期化/画面ロック/パスワードリセット/カメラ制限/キーガードの制限..etcが可能
端末管理の基礎知識
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.15
■管理権限の付与
端末管理の基礎知識
参考:https://developer.android.com/guide/topics/admin/device-admin
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.16
端末管理の基礎知識
実装方法
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.17
■Device Administration API
• Manifestでの宣言
• xmlファイルの定義
• DeviceAdminReceiver継承クラスの実装
端末管理の基礎知識
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.18
■Manifest
端末管理の基礎知識
参考:https://developer.android.com/guide/topics/admin/device-admin
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.19
■Manifest
端末管理の基礎知識
参考:https://developer.android.com/guide/topics/admin/device-admin
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.20
■DeviceAdminReceiver
端末管理の基礎知識
参考:https://developer.android.com/guide/topics/admin/device-admin
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.21
■Manifest
端末管理の基礎知識
参考:https://developer.android.com/guide/topics/admin/device-admin
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.22
■xmlファイル
端末管理の基礎知識
参考:https://developer.android.com/guide/topics/admin/device-admin
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.23
■xmlファイル
端末管理の基礎知識
参考:https://developer.android.com/guide/topics/admin/device-admin
実装は簡単だが、
やれる事は限られている
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.24
端末管理の基礎知識
DeviceAdmin権限で利用できる
APIだけでは企業が従業員に配布
したデバイスを管理する為の機能
として不足している
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.25
■ これらの機能を実現させるにはMDM自ら何らかの制御を実装する必要がある
• 許可されたアプリケーションだけ起動可能にする
• 特定のWifiのみ接続を許可する
• Bluetoothの利用を許さない
• 証明書のインストール
• 紛失時などにデバイスの利用を制限する
• アプリの配信を行う
端末管理の基礎知識
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.26
■ 問題点
• 実装自体簡単なので、この機能を利用したマルウェアアプリが出回るなど、しば
しば悪用される事がある
• Androidのセキュリティが強化されてきており、最新OSが発表される度に、自力
で制御できなくなる機能が増えてきている
• Android 7以降、DeviceAdmin権限を持つアプリでも容易にアンインストール可
能になった
端末管理の基礎知識
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.27
■ 問題点
• 実装自体簡単なので、この機能を利用したマルウェアアプリが出回るなど、しば
しば悪用される事がある
• Androidのセキュリティが強化されてきており、最新OSが発表される度に、自力
で制御できなくなる機能が増えてきている
• Android 7以降、DeviceAdmin権限を持つアプリでも容易にアンインストール可
能になった
端末管理の基礎知識
Device Adminでは管理
できない方向にシフト
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.28
■DevicePolicyManagerの歴史
端末管理の基礎知識
そこでAndroid Enterprise
Android Enterpriseとは?
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.30
Android Enterpriseとは?
Android端末管理の高度化・標準化を実現するための
企業向けモバイルプラットフォーム
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.31
Android Enterpriseとは?
デバイスの管理
Google Playの管
理
セキュリティの強
化
Google認定プロ
グラム
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.32
Android Enterpriseとは?
デバイスの管理
Google Playの管
理
セキュリティの強
化
Google認定プロ
グラム
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.33
■デバイスの管理
Android Enterpriseとは?
※ EMM(Enterprise Mobility Management)
スマホ、タブレット、PCを含む端末を管理する企業向け製品の総称。Androidデバイス管理の説明において、概ねこの名称で統一されている。
App Management
EMM console
Google Play EMM API
IT admin
Android Management API
Original Profile / Command
Device Management
Custom
DevicePolicy
Controller
Google
DevicePolicy
Controller
DPC
Google
DPC
※ DPC(Device Policy Controller)
端末を管理するためのアプリケーション。MDMアプリ。
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.34
Android Enterpriseとは?
Android 5.0からDevicePolicyManagerの機
能してサポートされた
DeviceOwner・ProfileOwnerの権限を使用
し MDM アプリ自ら制御する
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.35
Android Enterpriseとは?
Android 5.0からDevicePolicyManagerの機
能してサポートされた
DeviceOwner・ProfileOwnerの権限を使用
し MDM アプリ自ら制御する
基本的に開発者なら誰
でも利用できる機能
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.36
Android Enterpriseとは?
Device Owner Profile Owner Device Owner
Profile Owner
SNS GAME
■ 多様な管理方式
Fully Managed Device Work Profile Dedicated Device Work profiles on fully managed Devices
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.37
Android Enterpriseとは?
Device Owner
■ Fully Managed Device
DeviceOwner権限を付与
企業が従業員に配布した端末を完全に管理
する
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.38
Android Enterpriseとは?
Profile Owner
■ WorkProfile
ProfileOwner権限を付与
BYOD向け(Bring Your Own Device:従業員所有デバイスを業務でも利
用する事)デバイス内のデータを個人用と仕事用に分けて管理
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.39
Android Enterpriseとは?
■ Dedicated Device
DeviceOwner権限を付与
特定のアプリを固定化し、専用端末として
管理する
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.40
Device Owner
Android Enterpriseとは?
■ Work profiles on fully managed Devices
Profile Owner
DeviceOwnerとProfileOwner権限両方を付与
企業が従業員に配布したデバイスを管理した上で、あ
る程度の個人利用も許可する場合に利用
SNS GAME
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.41
Android Enterpriseとは?
デバイスの管理
Google Playの管
理
セキュリティの強
化
Google認定プロ
グラム
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.42
■Google Playの管理
Android Enterpriseとは?
https://play.google.com/work/apps/details?id=com.clomo.android.mdm&hl=ja
仕事用のGoogle Playに管理アカウントでログインし、アプリの承認/非承認を行う
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.43
■Google Playの管理
Android Enterpriseとは?
※ EMM(Enterprise Mobility Management)
スマホ、タブレット、PCを含む端末を管理する企業向け製品の総称。Androidデバイス管理の説明において、概ねこの名称で統一されている。
App Management
EMM console
Google Play EMM API
IT admin
Android Management API
Original Profile / Command
Device Management
Custom
DevicePolicy
Controller
Google
DevicePolicy
Controller
DPC
Google
DPC
アプリの公開、サイレントインストール等が可能
※ DPC(Device Policy Controller)
端末を管理するためのアプリケーション。MDMアプリ。
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.44
■Google Playの管理
Android Enterpriseとは?
※ EMM(Enterprise Mobility Management)
スマホ、タブレット、PCを含む端末を管理する企業向け製品の総称。Androidデバイス管理の説明において、概ねこの名称で統一されている。
App Management
EMM console
Google Play EMM API
IT admin
Android Management API
Original Profile / Command
Device Management
Custom
DevicePolicy
Controller
Google
DevicePolicy
Controller
DPC
Google
DPC
アプリの公開、サイレントインストール等が可能
※ DPC(Device Policy Controller)
端末を管理するためのアプリケーション。MDMアプリ。
Googleがプログラムの参加を承認したEMMソリ
ューションプロバイダのみ利用可能!
Java, Python, .NetおよびRubyで利用可能なREST API
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.45
Android Enterpriseとは?
デバイスの管理
Google Playの管
理
セキュリティの強
化
Google認定プロ
グラム
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.46
Android Enterpriseとは?
DeviceOwner権限で利用可能な
APIの機能は強力!
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.47
Android Enterpriseとは?
◉デバイス全体/個人領域(Device Owner)
・デバイスセキュリティチャレンジ、パスワードポリシー、パスワード試行回数超過時のデバイス制御
・ポリシー違反時のデバイス制御(アプリケーション非表示)
・実行時パーミッションポリシー
・ストレージ暗号化ポリシー
・ハードウェア制限(SD/Bluetooth/テザリング/USB)
・カメラ制限
・ファクトリーリセット制限
・デバッグモード/提供不明元アプリ設定の制限
・セーフブート制限
・root化検知
・Wi-Fi 利用制限
・データローミング設定制御/モバイルネットワーク設定制御
・ネットワーク設定リセット制限
・SMS送信制御
・アカウント追加削除制限
・ユーザー追加削除制御
・デバイス管理権限の解除制限
・Google Play プロテクトの有効化
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.48
Android Enterpriseとは?
デバイスの管理
Google Playの管
理
セキュリティの強
化
Google認定プロ
グラム
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.49
Android Enterpriseとは?
Google によってバリデーションされた、企業向けの
厳しい要件を満たす、Android 搭載端末、サービスを
企業に自信を持って選択、配布、管理してもらう為
のプログラム
■Android Enterprise Recommended
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.50
Android Enterpriseとは?
■グローバル9社のうちの1社
デバイスのプロビジョニング
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.52
■プロビジョニングの流れ
デバイスのプロビジョニング
初期化済みデバイスに
DPCをインストール
DPCにDeviceOwnerの
権限を付与
仕事用のアカウントを
デバイスに登録
EMM Consoleにデバイス情
報を登録し管理下へ入れる
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.53
■Device Ownerの権限を付与する方法と前提条件
• デバイスが初期化状態であること
• デバイスの初期セットップ中にDPCをインストールさせる事
• デバイスの初期セットアップ中にDeviceOwner権限を得る為のアクションを実行する事
デバイスのプロビジョニング
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.54
■Device Owner権限を得る
デバイスのプロビジョニング
■権限付与の完了通知
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.55
■プロビジョニングの方式
デバイスのプロビジョニング
参考:https://www.android.com/intl/ja_jp/enterprise/management/
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.56
■ゼロタッチ
デバイスのプロビジョニング
ゼロタッチ用オンラインプラットフォームに購
入した企業所有の端末情報を事前に登録してお
くことで、端末起動後に自動でDPCがインスト
ールされる
Android 8.0からサポート
参考:https://www.android.com/intl/ja_jp/enterprise/management/
会社所有端末の個人利用を許可する場合の管理
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.58
■ Work profiles on fully managed Devices(COMPモード)
• DeviceOwnerとProfileOwner、2つの権限を付与させる
• 会社所有端末の個人利用を許容する場合に最適
• Android 8以降で利用可能な方式
• 個人用/仕事用、両領域にDPCが存在する
• 管理サーバーとのやり取りをどちらの領域のDPCがどのように制御するか、ア
ーキテクチャの検討が必要となる
会社所有端末の個人利用を許可
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.59
■ DO側のインスタンスとPO側のインスタンスがそれぞれ EMM Serverとのやり取りを行う方法
会社所有端末の個人利用を許可
Device Owner Profile Owner
EMM Server
Primary
Profile
managed
Profile
Primary
Profile managed
Profile
Ad
mi
n
DPC DPC
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.60
• DeviceOwner側、ProfileOwner側でそれぞれサーバーとの通信を行い、独立して
制御を行う
• それぞれの領域においてDPCの制御が作用するため、DO側とPO側で画面制御な
どが競合しないように考慮した実装が必要となる
会社所有端末の個人利用を許可
■ DO側のインスタンスとPO側のインスタンスがそれぞれ EMM Serverとのやり取りを行う方法
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.61
■ DO側のインスタンス(MDM Agent)を経由して、EMM Server やPO側のインスタンスのコントロールを行う方法
会社所有端末の個人利用を許可
Device Owner Profile Owner
EMM Server
Primary
Profile
managed
Profile
Primary
Profile managed
Profile
Ad
mi
n
DPCは
非表示
DPC DPC
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.62
• DeviceOwner側で表示しているDPCで通知を受け、ProfileOwner側のMDMに対
して通知する
• サーバーからコマンドを実行され、PO側の制限がかけられた場合、BindService
を用いてDO→PO(別プロセス)へ通知を行いPO側で制御を行う
• これらの制御はあくまで1つのアプリケーション内で全て実装する。すなわち、
MDMがDO側、PO側に存在する事を想定し、それぞれにおいて処理を制御し分
ける必要があり、かなり複雑!
会社所有端末の個人利用を許可
■ DO側のインスタンス(MDM Agent)を経由して、EMM Server やPO側のインスタンスのコントロールを行う方法
ここまで出来る!DevicePolicyManager
で制御可能な機能について
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.64
DevicePolicyManagerで制御可能な機能
・指定したパッケージを非表示にする
・ユーザー制限をかける
・Wifiの設定変更抑止、端末初期化を抑止など
・他アプリに対してアプリの制限設定を行うことができる
・Settingsのグローバル設定、セキュア設定などを変更することができる
・デフォルトアプリとして強制的に指定する事が可能
・ホームアプリ/電話アプリ など
・DeviceOwnerの権限を他のアプリに委譲する
・利用可能なAPIは限られるが、アプリ非表示などの制限が行える。
・特定の画面をロック状態にする
・特定のアプリのみ起動させ専用端末化する事が可能
・Android9からは画面をロックした上でキーの制御も出来る
その他色々
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.65
DevicePolicyManagerで制御可能な機能
指定したパッケージを非表示にする
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.66
DevicePolicyManagerで制御可能な機能
■setApplicationHidden
パッケージを非表示にする。
データ、パッケージファイルは残る。
システムアプリに対しても有効。
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.67
DevicePolicyManagerで制御可能な機能
■setApplicationHidden
パッケージを非表示にする。
データ、パッケージファイルは残る。
システムアプリに対しても有効。
ここで疑問
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.68
DevicePolicyManagerで制御可能な機能
■setApplicationHidden
?
ホームアプリや設定アプリを非表示にすると、、、
DevicePolicyManager
# setApplicationHidden
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.69
DevicePolicyManagerで制御可能な機能
■setApplicationHidden
端末の文鎮化!
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.70
DevicePolicyManagerで制御可能な機能
ユーザー制限をかけ
る
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.71
DevicePolicyManagerで制御可能な機能
■addUserRestriction
addUserRestrictionにキーを設定する事で
様々なユーザー制御が可能。
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.72
DevicePolicyManagerで制御可能な機能
■addUserRestrictionで制御可能な機能(抜粋)
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.73
DevicePolicyManagerで制御可能な機能
■addUserRestriction
制限中の設定が別の操作で変更されてしまう場合
?
DevicePolicyManager
# addUserRestrictionで
設定値Aを制限
設定値 Aに間接的に影響を与える設定を
ユーザーが変更する
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.74
DevicePolicyManagerで制御可能な機能
■addUserRestriction
場合によっては文鎮化!
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.75
DevicePolicyManagerで制御可能な機能
■addUserRestriction
要するに、、、
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.76
DevicePolicyManagerで制御可能な機能
システムアプリ側がDeviceOwner
で制限される事を考慮できていな
い場合が多々ある
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.77
DevicePolicyManagerで制御可能な機能
アプリの制限設定
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.78
DevicePolicyManagerで制御可能な機能
■setApplicationRestrictions
予めビジネスアプリ側で定められた定義に
従って設定値を送り込む
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.79
DevicePolicyManagerで制御可能な機能
■setApplicationRestrictions
ビジネスアプリ DPC
DevicePolicyManager
# getApplicationRestrictions
DevicePolicyManager
# setApplicationRestrictions
予めアプリ内で制限したい機能
のキーや型を定義しておく。
setApplicationRestrictionsで設
定された値を
RestrictionsManagerクラスか
ら取得し、自ら制限処理を実行
する
定義されている値を取得し、設
定値を送り込む事で制限をかけ
てもらう
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.80
DevicePolicyManagerで制御可能な機能
■setApplicationRestrictions(ビジネスアプリ側の実装)
Manifest xml
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.81
DevicePolicyManagerで制御可能な機能
■setApplicationRestrictions
例えば、ブラウザアプリなどで、指定したドメイン以外は制
限する…。プリントの制限をする…など。
端末管理の今後
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.83
端末管理の今後
Android9よりDeviceAdmin非推奨!!
Android10から利用できなくなる!!
これによりAndroid Enterpriseへのシフト
が加速する!
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.84
■まとめ
• Device Administration APIはできる制限が限られたレガシーな機能
• Android Enterpriseは様々なデバイスの管理が可能
• DeviceOwner権限で使用できるAPIは強力でデバイスに対して様々な制限がかけられる
• DeviceOwner権限で使用できるAPIを利用する場合はシステムへの影響を十分に考慮した実
装が必要
• 端末管理はAndroid Enterpriseに完全にシフトしていく
まとめ
硬派
エンタープライズAndroid
エンジニア募集中
4月から中洲から川を挟んで向かいの
アイキューブドシステムズ
ご静聴ありがとうございました
Copyright © 2019 i³ Systems, Inc. All Rights Reserved.87

Android enterpriseで実現できる端末管理の世界

  • 1.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.01 2019/02/08 DroidKaigi 2019 株式会社アイキューブドシステムズ 製品開発運用本部 堤 大輔 Android Enterpriseで実現できる端末管理の世界
  • 2.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.2 •堤大輔(つつみだいすけ) •株式会社 アイキューブドシステムズ •所在地:福岡県福岡市 •所属:製品開発運用本部 製品開発部/製品戦略チーム •Androidアプリ開発 •MDM Agent アプリの開発 •企業向けビジネスアプリの開発 •Xamarin開発 •Xamarin iOSの開発 •コミュニティー:Japan Android Group / JXUG •特技:ダンス、卓球 自己紹介
  • 3.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.3 ■本日のアジェンダ • 端末管理の基礎知識 • Android Enterpriseとは? • デバイスのプロビジョニング方式 • 会社所有デバイスの個人利用を許可する場合の管理 • ここまで出来る!DevicePolicyManagerで制御可能な機能について • 端末管理の今後 アジェンダ
  • 4.
  • 5.
  • 6.
  • 7.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.7 端末管理の基礎知識 MDM ??
  • 8.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.8 端末管理の基礎知識 企業が所有している端末や 従業員個人が所有している 端末を管理者が一元的に管 理するための仕組み MDM (Mobile Device Management)
  • 9.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.9 端末管理の基礎知識 企業のIT管理者は管理コンソールを介して従業員の デバイスの管理を行う。 配布したデバイスや個人が所有しているデバイスに 対してデバイス利用のルールや制限をかける。
  • 10.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.10 端末管理の基礎知識 どのようにルールや制限をかけて 管理するのか?
  • 11.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.11 端末管理の基礎知識 参考: https://developer.android.com/reference/android/app/admin/DevicePolicyManager
  • 12.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.12 ■DevicePolicyManagerの歴史 端末管理の基礎知識
  • 13.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.13 ■DevicePolicyManagerの歴史 端末管理の基礎知識 Android 2.2からDevice Administration APIを提供
  • 14.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.14 ■Device Administration API • 企業が従業員のデバイスを詳細に管理したい場合に利用することを想定した、システムレベ ルで制御可能なデバイス管理機能。 • MDMアプリにDeviceAdmin権限を付与する事でDevicePolicyManagerクラスのAPIを利用す る事が可能となる • 権限の付与にはユーザーの同意が必要 • DeviceAdmin権限を持つアプリはアンインストールが抑止される • デバイスの初期化/画面ロック/パスワードリセット/カメラ制限/キーガードの制限..etcが可能 端末管理の基礎知識
  • 15.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.15 ■管理権限の付与 端末管理の基礎知識 参考:https://developer.android.com/guide/topics/admin/device-admin
  • 16.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.16 端末管理の基礎知識 実装方法
  • 17.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.17 ■Device Administration API • Manifestでの宣言 • xmlファイルの定義 • DeviceAdminReceiver継承クラスの実装 端末管理の基礎知識
  • 18.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.18 ■Manifest 端末管理の基礎知識 参考:https://developer.android.com/guide/topics/admin/device-admin
  • 19.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.19 ■Manifest 端末管理の基礎知識 参考:https://developer.android.com/guide/topics/admin/device-admin
  • 20.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.20 ■DeviceAdminReceiver 端末管理の基礎知識 参考:https://developer.android.com/guide/topics/admin/device-admin
  • 21.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.21 ■Manifest 端末管理の基礎知識 参考:https://developer.android.com/guide/topics/admin/device-admin
  • 22.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.22 ■xmlファイル 端末管理の基礎知識 参考:https://developer.android.com/guide/topics/admin/device-admin
  • 23.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.23 ■xmlファイル 端末管理の基礎知識 参考:https://developer.android.com/guide/topics/admin/device-admin 実装は簡単だが、 やれる事は限られている
  • 24.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.24 端末管理の基礎知識 DeviceAdmin権限で利用できる APIだけでは企業が従業員に配布 したデバイスを管理する為の機能 として不足している
  • 25.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.25 ■ これらの機能を実現させるにはMDM自ら何らかの制御を実装する必要がある • 許可されたアプリケーションだけ起動可能にする • 特定のWifiのみ接続を許可する • Bluetoothの利用を許さない • 証明書のインストール • 紛失時などにデバイスの利用を制限する • アプリの配信を行う 端末管理の基礎知識
  • 26.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.26 ■ 問題点 • 実装自体簡単なので、この機能を利用したマルウェアアプリが出回るなど、しば しば悪用される事がある • Androidのセキュリティが強化されてきており、最新OSが発表される度に、自力 で制御できなくなる機能が増えてきている • Android 7以降、DeviceAdmin権限を持つアプリでも容易にアンインストール可 能になった 端末管理の基礎知識
  • 27.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.27 ■ 問題点 • 実装自体簡単なので、この機能を利用したマルウェアアプリが出回るなど、しば しば悪用される事がある • Androidのセキュリティが強化されてきており、最新OSが発表される度に、自力 で制御できなくなる機能が増えてきている • Android 7以降、DeviceAdmin権限を持つアプリでも容易にアンインストール可 能になった 端末管理の基礎知識 Device Adminでは管理 できない方向にシフト
  • 28.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.28 ■DevicePolicyManagerの歴史 端末管理の基礎知識 そこでAndroid Enterprise
  • 29.
  • 30.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.30 Android Enterpriseとは? Android端末管理の高度化・標準化を実現するための 企業向けモバイルプラットフォーム
  • 31.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.31 Android Enterpriseとは? デバイスの管理 Google Playの管 理 セキュリティの強 化 Google認定プロ グラム
  • 32.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.32 Android Enterpriseとは? デバイスの管理 Google Playの管 理 セキュリティの強 化 Google認定プロ グラム
  • 33.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.33 ■デバイスの管理 Android Enterpriseとは? ※ EMM(Enterprise Mobility Management) スマホ、タブレット、PCを含む端末を管理する企業向け製品の総称。Androidデバイス管理の説明において、概ねこの名称で統一されている。 App Management EMM console Google Play EMM API IT admin Android Management API Original Profile / Command Device Management Custom DevicePolicy Controller Google DevicePolicy Controller DPC Google DPC ※ DPC(Device Policy Controller) 端末を管理するためのアプリケーション。MDMアプリ。
  • 34.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.34 Android Enterpriseとは? Android 5.0からDevicePolicyManagerの機 能してサポートされた DeviceOwner・ProfileOwnerの権限を使用 し MDM アプリ自ら制御する
  • 35.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.35 Android Enterpriseとは? Android 5.0からDevicePolicyManagerの機 能してサポートされた DeviceOwner・ProfileOwnerの権限を使用 し MDM アプリ自ら制御する 基本的に開発者なら誰 でも利用できる機能
  • 36.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.36 Android Enterpriseとは? Device Owner Profile Owner Device Owner Profile Owner SNS GAME ■ 多様な管理方式 Fully Managed Device Work Profile Dedicated Device Work profiles on fully managed Devices
  • 37.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.37 Android Enterpriseとは? Device Owner ■ Fully Managed Device DeviceOwner権限を付与 企業が従業員に配布した端末を完全に管理 する
  • 38.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.38 Android Enterpriseとは? Profile Owner ■ WorkProfile ProfileOwner権限を付与 BYOD向け(Bring Your Own Device:従業員所有デバイスを業務でも利 用する事)デバイス内のデータを個人用と仕事用に分けて管理
  • 39.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.39 Android Enterpriseとは? ■ Dedicated Device DeviceOwner権限を付与 特定のアプリを固定化し、専用端末として 管理する
  • 40.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.40 Device Owner Android Enterpriseとは? ■ Work profiles on fully managed Devices Profile Owner DeviceOwnerとProfileOwner権限両方を付与 企業が従業員に配布したデバイスを管理した上で、あ る程度の個人利用も許可する場合に利用 SNS GAME
  • 41.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.41 Android Enterpriseとは? デバイスの管理 Google Playの管 理 セキュリティの強 化 Google認定プロ グラム
  • 42.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.42 ■Google Playの管理 Android Enterpriseとは? https://play.google.com/work/apps/details?id=com.clomo.android.mdm&hl=ja 仕事用のGoogle Playに管理アカウントでログインし、アプリの承認/非承認を行う
  • 43.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.43 ■Google Playの管理 Android Enterpriseとは? ※ EMM(Enterprise Mobility Management) スマホ、タブレット、PCを含む端末を管理する企業向け製品の総称。Androidデバイス管理の説明において、概ねこの名称で統一されている。 App Management EMM console Google Play EMM API IT admin Android Management API Original Profile / Command Device Management Custom DevicePolicy Controller Google DevicePolicy Controller DPC Google DPC アプリの公開、サイレントインストール等が可能 ※ DPC(Device Policy Controller) 端末を管理するためのアプリケーション。MDMアプリ。
  • 44.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.44 ■Google Playの管理 Android Enterpriseとは? ※ EMM(Enterprise Mobility Management) スマホ、タブレット、PCを含む端末を管理する企業向け製品の総称。Androidデバイス管理の説明において、概ねこの名称で統一されている。 App Management EMM console Google Play EMM API IT admin Android Management API Original Profile / Command Device Management Custom DevicePolicy Controller Google DevicePolicy Controller DPC Google DPC アプリの公開、サイレントインストール等が可能 ※ DPC(Device Policy Controller) 端末を管理するためのアプリケーション。MDMアプリ。 Googleがプログラムの参加を承認したEMMソリ ューションプロバイダのみ利用可能! Java, Python, .NetおよびRubyで利用可能なREST API
  • 45.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.45 Android Enterpriseとは? デバイスの管理 Google Playの管 理 セキュリティの強 化 Google認定プロ グラム
  • 46.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.46 Android Enterpriseとは? DeviceOwner権限で利用可能な APIの機能は強力!
  • 47.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.47 Android Enterpriseとは? ◉デバイス全体/個人領域(Device Owner) ・デバイスセキュリティチャレンジ、パスワードポリシー、パスワード試行回数超過時のデバイス制御 ・ポリシー違反時のデバイス制御(アプリケーション非表示) ・実行時パーミッションポリシー ・ストレージ暗号化ポリシー ・ハードウェア制限(SD/Bluetooth/テザリング/USB) ・カメラ制限 ・ファクトリーリセット制限 ・デバッグモード/提供不明元アプリ設定の制限 ・セーフブート制限 ・root化検知 ・Wi-Fi 利用制限 ・データローミング設定制御/モバイルネットワーク設定制御 ・ネットワーク設定リセット制限 ・SMS送信制御 ・アカウント追加削除制限 ・ユーザー追加削除制御 ・デバイス管理権限の解除制限 ・Google Play プロテクトの有効化
  • 48.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.48 Android Enterpriseとは? デバイスの管理 Google Playの管 理 セキュリティの強 化 Google認定プロ グラム
  • 49.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.49 Android Enterpriseとは? Google によってバリデーションされた、企業向けの 厳しい要件を満たす、Android 搭載端末、サービスを 企業に自信を持って選択、配布、管理してもらう為 のプログラム ■Android Enterprise Recommended
  • 50.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.50 Android Enterpriseとは? ■グローバル9社のうちの1社
  • 51.
  • 52.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.52 ■プロビジョニングの流れ デバイスのプロビジョニング 初期化済みデバイスに DPCをインストール DPCにDeviceOwnerの 権限を付与 仕事用のアカウントを デバイスに登録 EMM Consoleにデバイス情 報を登録し管理下へ入れる
  • 53.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.53 ■Device Ownerの権限を付与する方法と前提条件 • デバイスが初期化状態であること • デバイスの初期セットップ中にDPCをインストールさせる事 • デバイスの初期セットアップ中にDeviceOwner権限を得る為のアクションを実行する事 デバイスのプロビジョニング
  • 54.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.54 ■Device Owner権限を得る デバイスのプロビジョニング ■権限付与の完了通知
  • 55.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.55 ■プロビジョニングの方式 デバイスのプロビジョニング 参考:https://www.android.com/intl/ja_jp/enterprise/management/
  • 56.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.56 ■ゼロタッチ デバイスのプロビジョニング ゼロタッチ用オンラインプラットフォームに購 入した企業所有の端末情報を事前に登録してお くことで、端末起動後に自動でDPCがインスト ールされる Android 8.0からサポート 参考:https://www.android.com/intl/ja_jp/enterprise/management/
  • 57.
  • 58.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.58 ■ Work profiles on fully managed Devices(COMPモード) • DeviceOwnerとProfileOwner、2つの権限を付与させる • 会社所有端末の個人利用を許容する場合に最適 • Android 8以降で利用可能な方式 • 個人用/仕事用、両領域にDPCが存在する • 管理サーバーとのやり取りをどちらの領域のDPCがどのように制御するか、ア ーキテクチャの検討が必要となる 会社所有端末の個人利用を許可
  • 59.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.59 ■ DO側のインスタンスとPO側のインスタンスがそれぞれ EMM Serverとのやり取りを行う方法 会社所有端末の個人利用を許可 Device Owner Profile Owner EMM Server Primary Profile managed Profile Primary Profile managed Profile Ad mi n DPC DPC
  • 60.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.60 • DeviceOwner側、ProfileOwner側でそれぞれサーバーとの通信を行い、独立して 制御を行う • それぞれの領域においてDPCの制御が作用するため、DO側とPO側で画面制御な どが競合しないように考慮した実装が必要となる 会社所有端末の個人利用を許可 ■ DO側のインスタンスとPO側のインスタンスがそれぞれ EMM Serverとのやり取りを行う方法
  • 61.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.61 ■ DO側のインスタンス(MDM Agent)を経由して、EMM Server やPO側のインスタンスのコントロールを行う方法 会社所有端末の個人利用を許可 Device Owner Profile Owner EMM Server Primary Profile managed Profile Primary Profile managed Profile Ad mi n DPCは 非表示 DPC DPC
  • 62.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.62 • DeviceOwner側で表示しているDPCで通知を受け、ProfileOwner側のMDMに対 して通知する • サーバーからコマンドを実行され、PO側の制限がかけられた場合、BindService を用いてDO→PO(別プロセス)へ通知を行いPO側で制御を行う • これらの制御はあくまで1つのアプリケーション内で全て実装する。すなわち、 MDMがDO側、PO側に存在する事を想定し、それぞれにおいて処理を制御し分 ける必要があり、かなり複雑! 会社所有端末の個人利用を許可 ■ DO側のインスタンス(MDM Agent)を経由して、EMM Server やPO側のインスタンスのコントロールを行う方法
  • 63.
  • 64.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.64 DevicePolicyManagerで制御可能な機能 ・指定したパッケージを非表示にする ・ユーザー制限をかける ・Wifiの設定変更抑止、端末初期化を抑止など ・他アプリに対してアプリの制限設定を行うことができる ・Settingsのグローバル設定、セキュア設定などを変更することができる ・デフォルトアプリとして強制的に指定する事が可能 ・ホームアプリ/電話アプリ など ・DeviceOwnerの権限を他のアプリに委譲する ・利用可能なAPIは限られるが、アプリ非表示などの制限が行える。 ・特定の画面をロック状態にする ・特定のアプリのみ起動させ専用端末化する事が可能 ・Android9からは画面をロックした上でキーの制御も出来る その他色々
  • 65.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.65 DevicePolicyManagerで制御可能な機能 指定したパッケージを非表示にする
  • 66.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.66 DevicePolicyManagerで制御可能な機能 ■setApplicationHidden パッケージを非表示にする。 データ、パッケージファイルは残る。 システムアプリに対しても有効。
  • 67.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.67 DevicePolicyManagerで制御可能な機能 ■setApplicationHidden パッケージを非表示にする。 データ、パッケージファイルは残る。 システムアプリに対しても有効。 ここで疑問
  • 68.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.68 DevicePolicyManagerで制御可能な機能 ■setApplicationHidden ? ホームアプリや設定アプリを非表示にすると、、、 DevicePolicyManager # setApplicationHidden
  • 69.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.69 DevicePolicyManagerで制御可能な機能 ■setApplicationHidden 端末の文鎮化!
  • 70.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.70 DevicePolicyManagerで制御可能な機能 ユーザー制限をかけ る
  • 71.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.71 DevicePolicyManagerで制御可能な機能 ■addUserRestriction addUserRestrictionにキーを設定する事で 様々なユーザー制御が可能。
  • 72.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.72 DevicePolicyManagerで制御可能な機能 ■addUserRestrictionで制御可能な機能(抜粋)
  • 73.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.73 DevicePolicyManagerで制御可能な機能 ■addUserRestriction 制限中の設定が別の操作で変更されてしまう場合 ? DevicePolicyManager # addUserRestrictionで 設定値Aを制限 設定値 Aに間接的に影響を与える設定を ユーザーが変更する
  • 74.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.74 DevicePolicyManagerで制御可能な機能 ■addUserRestriction 場合によっては文鎮化!
  • 75.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.75 DevicePolicyManagerで制御可能な機能 ■addUserRestriction 要するに、、、
  • 76.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.76 DevicePolicyManagerで制御可能な機能 システムアプリ側がDeviceOwner で制限される事を考慮できていな い場合が多々ある
  • 77.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.77 DevicePolicyManagerで制御可能な機能 アプリの制限設定
  • 78.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.78 DevicePolicyManagerで制御可能な機能 ■setApplicationRestrictions 予めビジネスアプリ側で定められた定義に 従って設定値を送り込む
  • 79.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.79 DevicePolicyManagerで制御可能な機能 ■setApplicationRestrictions ビジネスアプリ DPC DevicePolicyManager # getApplicationRestrictions DevicePolicyManager # setApplicationRestrictions 予めアプリ内で制限したい機能 のキーや型を定義しておく。 setApplicationRestrictionsで設 定された値を RestrictionsManagerクラスか ら取得し、自ら制限処理を実行 する 定義されている値を取得し、設 定値を送り込む事で制限をかけ てもらう
  • 80.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.80 DevicePolicyManagerで制御可能な機能 ■setApplicationRestrictions(ビジネスアプリ側の実装) Manifest xml
  • 81.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.81 DevicePolicyManagerで制御可能な機能 ■setApplicationRestrictions 例えば、ブラウザアプリなどで、指定したドメイン以外は制 限する…。プリントの制限をする…など。
  • 82.
  • 83.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.83 端末管理の今後 Android9よりDeviceAdmin非推奨!! Android10から利用できなくなる!! これによりAndroid Enterpriseへのシフト が加速する!
  • 84.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.84 ■まとめ • Device Administration APIはできる制限が限られたレガシーな機能 • Android Enterpriseは様々なデバイスの管理が可能 • DeviceOwner権限で使用できるAPIは強力でデバイスに対して様々な制限がかけられる • DeviceOwner権限で使用できるAPIを利用する場合はシステムへの影響を十分に考慮した実 装が必要 • 端末管理はAndroid Enterpriseに完全にシフトしていく まとめ
  • 85.
  • 86.
  • 87.
    Copyright © 2019i³ Systems, Inc. All Rights Reserved.87

Editor's Notes

  • #2 お疲れ様です。よろしくお願いします。 本日は「Android Enterpriseで実現できる端末管理の世界」と言う事でお話させていただきます。
  • #3 自己紹介します。 名前:堤大輔 株式会社アイキューブドシステムズに所属しております。 福岡県福岡市に本社を構える会社ですので、本日は、はるばる福岡からやってまいりました。今日、九州から来たかたってどのくらいおられますか? 主に自社プロダクトのAndroidアプリ開発を行っておりまして、製品戦略なんかも兼務でやっております。よろしくお願いいたいます。
  • #4 本日のアジェンダです。 前半は端末管理とはなんぞや、って部分を少し駆け足目に話して、後半、どんなことができるのかと言う部分をデモなど交えながらお伝えしようかなと思います。
  • #5 では、、まずはじめに
  • #6 本日は皆様に、このセッションを通じてAndroid 端末を管理することの魅力を知って興味を持っていただき、是非少しでも良いので端末管理の世界に足を踏み入れていただきたいなと思います。
  • #7 2分
  • #8 MDM、聞いたことある方??
  • #9 モバイルデバイスマネジメント、 企業が従業員に配布した端末などを管理者が一元的に管理する仕組みのことを言います。
  • #10 で、具体的にどのように管理するかと言うと、 IT管理者が管理コンソールを介し、配布したデバイスに対してデバイス利用のルールや制限をかけます。
  • #12 このクラス、、Androidエンジニアだったらどこかで1度は見たことありますよね?結構やりたいこと実現できるか調べてたら行きつくとこだったりします。
  • #13 で、このクラスの歴史とまではいかないですが、簡単な年表をみていただきましょう。
  • #14 このクラスDeviceAdministrationAPIとしてAndroid2.2から提供されました。
  • #15 で、このAPIってなんなのかというと、 ざっくり端末管理するための機能です。 で、このAPI、利用するにはユーザーの同意が必要で、ユーザー操作で権限を有効にして初めて使用できます。 このクラスを使ってできる事、として、デバイスの初期化、画面ロック、カメラ制限などがあります
  • #16 このように管理権限の画面を出して有効にしてもらう必要があります。
  • #17 4分
  • #18 この辺りは色々と情報転がってるので、さっと飛ばしますが、これらの実装をして、最後に管理権限画面を出してあげればAPIが利用できます。
  • #20 DeviceAdminRecieverの登録ですね。
  • #21 DeviceAdminRecieverを継承したクラスの実装です。
  • #23 xmlファイルの定義です
  • #24 で、ここまで見たもらった通り実装は簡単です、 ただし、このAPIでやれることは限られています。 確かに、権限付与のハードルもあまり高くないので、これでガンガンシステム設定変更できたりしたらそれこそやばいですけどね。
  • #25 で、結局これだけだと、管理する立場からしたら機能不足になっちゃうのです。
  • #26 例えば管理者はこれらのような機能を求めます。がDeviceAdministrationAPIでは制御できませんので、これらの要望を満たすためにMDMアプリは結構頑張って自力で色々と実装してきました。
  • #27 このような事情もあって、結構色々と問題もありました。 例えば、この機能を悪用したマルウェアが出回るとか、 自力で実装するにしても、OSレベルが上がるにつれて制御できなくなってくる機能もある。途中でマルチユーザー対応されたりもしたので、いよいよ管理できなくなっていきます。
  • #28 結果、これでは限界が出てきました。
  • #29 そこでAndroid Enterprise これは2015年に最初はAndroid for Workという名前で発表されました。 DeviceOwner・ProfileOwner自体はLolipopからなので2014からですが、正式に発表されたのは2015年になります。
  • #30 6分
  • #32 主にこの4つの要素からなります。
  • #34 DPCを使ってデバイス管理を行います。 DPCはDevicePolicyControllerの略で、まあMDMアプリって思っていただければ良いです。こちらの表現のほうがdevelopersとかでもよく出てくる用語になります。 EMM Consoleは管理コンソールと思ってください。 で、上はカスタムDPC、ようするにベンダーが独自にアプリを実装するパターン 下はAndroid Management APIと言いまして、Google純正のDPCアプリをインストールして、EMM Consoleだけ実装すればよいパターンです。こっちはアプリ開発する必要はないですが、用意された機能を使う事しかできません。
  • #37 で、これらのAPIを用いて、様々な方式で端末の管理が実現できます。
  • #38 ふるマネージドデバイス
  • #39 ワークプロファイル BYOD向けの管理方法で、個人所有のデバイスを業務で利用する場合の管理方法です。 仕事領域のアプリにはバッチがつきます。
  • #40 KIOSKモードとかsingle appモードとかそういうのと同等の意味です。
  • #43 Google Playには仕事用のGoogle Playが存在します。URLみていただければわかるように、「store」が「work」になってるだけで、誰でもアクセスはできます。 管理アカウントでログインする事で、アプリの承認/非承認が行えます。
  • #44 そして、承認したアプリをEMM APIと言うものを使用してデバイスに後悔することが可能となります。
  • #45 サーバー側が実装するAPIなのですが、承認されたソリューションプロバイダのみ利用可能な特別なAPIです。 で、厳密には仕事用アカウントの管理とかもあるのですが、そこまで話すと長くなっちゃうので、ここでは割愛します。知りたい人は後で聞いてください。
  • #48 特にGoogle Playプロテクトの有効化などができるようになっています。 ウィルス対策用のアプリを入れなくても、OSの仕組みでセキュリティの強化ができると言うわけです。
  • #50 要するにGoogleが定めた厳しい要件をクリアしたものだけがもらえる特別な称号です。 豊富な機能実装だったり、サポートや実績など、厳しい審査があります。 EMMそりゅーしょんや端末、キャリアなどに向けたプログラムになえります。
  • #52 10分
  • #56 プロビジョニングとは端末やDPCをセットアップし、EMM Consoleの管理下に入れるまでの流れ、と考えてください。
  • #57 で、色々方法はあるんですけど、一つ抜粋してご紹介すると、 ゼロタッチという方法があります。 これは事前に端末の情報をゼロタッチ用プラットフォームに登録しておく事で、端末がネットワークに繋がった瞬間にDPCがダウンロードされます。
  • #58 12分半
  • #64 15分前
  • #78 20分
  • #82 25分
  • #85 見ていただいたように、Android Enterpriseを使えば色々な制限が可能となります。 ただし、一歩実装を間違えると文鎮化したり、色々なことが起こり得ます。 だからこそ、この機能を使う我々エンジニアの技術力でデバイスをより正しく制御してあげる必要がありますし、エンジニアの腕の見せ所になってくるのです。