デバイス管理を実装する

このページでは、Android 上でデバイス メーカーがデバイス管理を有効にするためのガイドラインについて説明します。デバイス管理をサポートするためには、デバイスは、セクション 3.9. デバイス管理Android 互換性定義ドキュメント(CDD))で定義されたすべてのソフトウェア互換性要件を満たしている必要があります。ここで提供する実装ガイドラインは網羅的なものではなく、Android デバイス管理を実装するための出発点としての役割にすぎません。

デバイス管理を有効にする

デバイス管理を有効にするには、次の機能を有効にします。

  • android.software.device_admin
  • android.software.managed_users

デバイスがデバイス管理をサポートしていることを確認するには、デバイス上で以下のコマンドを実行し、これらの機能が存在することを確認してください: adb shell pm list features

セットアップの要件

デバイスの所有者またはプロファイル所有者のプロビジョニングを実装するデバイスは、セットアップ(使用開始時の体験または仕事用プロファイルの設定)中にエンドユーザーに適切な開示を提示しなければなりません。AOSP はリファレンス実装を提供します。マネージド プロビジョニングとは、デバイス所有者またはマネージド プロファイルをデバイスに設定する意味をデバイスユーザーに適切に知らせるために、完全管理対象デバイスまたは仕事用プロファイルの設定中に呼び出される Android フレームワークの UI フローです。マネージド プロビジョニングは、プロビジョニング中に以下のアクティビティを実行するか、デバイスポリシー管理ロールホルダーに委任します。

  • デバイスを暗号化する(暗号化が有効な場合)。
  • 管理対象ユーザーを確立する。
  • オプションのアプリを無効にする。
  • 企業向けモバイル管理(EMM)Device Policy Controller(DPC)アプリをデバイス所有者またはプロファイル所有者に設定する。

次に、DPC アプリは以下のアクティビティを実行します。

  • ユーザー アカウントを追加する。
  • デバイス ポリシーのコンプライアンスを強制適用する。
  • 追加のシステムアプリをすべて有効にする。

プロビジョニングが完了すると、DPC アプリの ADMIN_POLICY_COMPLIANCE インテント ハンドラは、完全管理対象デバイスのユーザー(デバイス所有者プロビジョニングの場合)または仕事用プロファイル ユーザー(プロファイル所有者プロビジョニングの場合)によって実行されます。その後、DPC アプリがアカウントを追加し、ポリシーを適用します。

ランチャーの要件

デバイス管理をサポートするために、ランチャーは仕事用アイコンバッジ(管理されたアプリケーションを表すために AOSP で提供される)でアプリのバッジをサポートする必要があります。通知など、管理対象デバイスまたはプロファイル上のその他のユーザー インターフェース要素は、仕事用バッジアセットを使用する必要があります。AOSP の Launcher3 は、すでにこれらのバッジ機能をサポートしています。

デフォルトの仕事用アプリ

デフォルトでは、Android Enterprise プロビジョニングの一環として、管理対象デバイスまたは仕事用プロファイルの正しい動作に必要なアプリケーションのみが有効となっています。デバイス メーカーは、以下の XML ファイルを使用してデフォルト アプリのリストを指定できます。

  • vendor_required_apps_managed_profile.xml
  • vendor_required_apps_managed_device.xml
  • vendor_required_apps_managed_user.xml

デバイスのプロビジョニング後、IT 管理者は EMM コンソールまたは managed Google Play を使って、組織が必要と判断した追加アプリを入れることができます。

デバイス所有者(完全管理対象デバイス)モードとプロファイル所有者(仕事用プロファイル)モードのどちらの場合も以下のとおりとなります。

  • ランチャー アイコンがないアプリは、重要なシステム コンポーネントとみなされ、Android によって自動的に有効になります。
  • ランチャー アイコンがあるアプリは、vendor_required_apps_managed_[device|profile|user].xml files にパッケージ名を許可することで、デバイスのプロビジョニング時にデフォルトで有効にできます。
  • その他のアプリは、デバイスのプロビジョニング時に自動的に無効になります。

ヘッドレス システム ユーザーで構成されたデバイスにおけるデバイス所有者の実装

Android 14(API レベル 34)では、システム ユーザーがバックグラウンド ユーザーで、フォアグラウンド ユーザーがセカンダリ ユーザーとなるヘッドレス システム ユーザー モード設定が導入されています。デバイス所有者の機能は、慣例的にシステム ユーザーがフォアグラウンドにいることに依存しているため、ヘッドレス システム ユーザー構成は、完全管理対象デバイス(デバイス所有者のプロビジョニング)に対して、ある固有の課題となります。

ヘッドレス システム ユーザー モード

図 1. ヘッドレス システム ユーザー モード

ヘッドレス システム ユーザー モードのデバイスでは、提携モード(HEADLESS_DEVICE_OWNER_MODE_AFFILIATED)をサポートしている場合に限り、Device Policy Controller(DPC)アプリケーションをデバイス所有者に設定できます。このシステムは、getHeadlessDeviceOwnerMode() を呼び出すことで、提携モードがサポートされているかどうか確認できます。デバイスのプロビジョニングは、DPC アプリケーションが提携モードのプロビジョニングをサポートしているかどうかによって処理されます。