デバイス管理のプロビジョニング

IT 管理者は、クラウド サービス、QR コード、または近距離無線通信(NFC)によるプロビジョニングを使用して、企業ユーザーにデバイスをデプロイできます。まず、NfcProvisioning APKAndroid-DeviceOwner APK をダウンロードします。要件の全リストについては、デバイス管理を実装するをご覧ください。

Android 12 のアップデート

  • ACTION_PROVISION_MANAGED_DEVICE のサポートが終了しました。

  • ACTION_PROVISION_MANAGED_PROFILE は、エンドユーザーが DPC をダウンロードした後で仕事用プロファイルをプロビジョニングできる、DPC ファーストの仕事用プロファイルのプロビジョニングでのみサポートされます。

  • QR コードなどのプロビジョニング方法をサポートする DPC デベロッパーは、DevicePolicyManager#ACTION_GET_PROVISIONING_MODE インテント アクションと DevicePolicyManager#ACTION_ADMIN_POLICY_COMPLIANCE インテント アクションのハンドラを実装する必要があります。これらのハンドラが DPC に実装されていない場合、プロビジョニングは失敗します。

  • DPC の ACTION_GET_PROVISIONING_MODE ハンドラには、新しい EXTRA_PROVISIONING_ALLOWED_PROVISIONING_MODES エクストラが含まれています。DPC は、EXTRA_PROVISIONING_MODE エクストラを、そのリストに属する値を持つ結果のインテントに設定する必要があります。DPC がこのリストにない値を返した場合、プロビジョニングは失敗します。

  • 設定ウィザードの実行時に発生するフローの安定性、保守性、シンプルさをさらに高めるため、設定ウィザードの終了後に DPC の設定を開始することはできません。android.intent.category.PROVISIONING_FINALIZATION カテゴリと ADMIN_POLICY_COMPLIANCE インテント アクションを使用して設定ウィザードの終了前に明示的に設定をリクエストする DPC は、このカテゴリを削除できます。デフォルトでは、これはその時点で終了しているからです。

管理対象プロビジョニング

管理対象プロビジョニングは、デバイスの所有者や管理対象プロファイルの設定の情報をユーザーに適切に知らせるためのフレームワーク UI フローです。デバイスでデフォルトの暗号化を有効にする場合、デバイス管理のプロビジョニング フローが大幅に簡素化および高速化されます。

管理対象プロビジョニングの際、管理対象プロビジョニング コンポーネントは以下のアクティビティを実行します。

  • デバイスを暗号化する
  • 管理対象プロファイルを作成する
  • 必須ではないアプリを無効にする
  • 企業向けモバイル管理(EMM)アプリをプロファイル所有者またはデバイス所有者として設定する

次に、企業向けモバイル管理(EMM)アプリは以下のアクティビティを実行します。

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

管理対象プロビジョニングの際、フレームワークは EMM アプリを管理対象プロファイルにコピーします。プロビジョニングが完了すると、仕事用プロファイル ユーザー(仕事用プロファイルのプロビジョニングの場合)またはデバイス所有者ユーザー(デバイス所有者のプロビジョニングの場合)で、EMM アプリの ADMIN_POLICY_COMPLIANCE インテント ハンドラが呼び出されます。次に、EMM はアカウントを追加してポリシーを適用し、その後 setProfileEnabled() を呼び出してランチャー アイコンを表示可能にします。

プロファイル所有者のプロビジョニング

プロファイル所有者のプロビジョニングを利用すると、ユーザーは、仕事用プロファイル(管理対象プロファイル)と個人用プロファイルの両方をデバイスに登録できます。プロファイル所有者のプロビジョニングを有効にするには、適切なエクストラを使用してインテントを送信する必要があります。たとえば、デバイスに TestDPC アプリをインストールし(Google Play からダウンロードするか、GitHub からビルドする)、ランチャーからアプリを起動して、アプリ内の指示に沿って操作します。プロビジョニングが完了すると、バッジの付いたアイコンがランチャー ドロワーに表示されます。

EMM DPC アプリは、DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE アクションでインテントを送信することで、管理対象プロファイルの作成をトリガーします。次のコマンドは、管理対象プロファイルの作成をトリガーし、DeviceAdminSample をプロファイル所有者として設定するインテントのサンプルです。

adb shell am start \
  -a android.app.action.PROVISION_MANAGED_PROFILE \
  -c android.intent.category.DEFAULT \
  -e wifiSsid $(printf '%q' \"WifiSSID\") \
  -e deviceAdminPackage "com.google.android.deviceadminsample" \
  -e android.app.extra.deviceAdminPackageName $(printf '%q'.DeviceAdminSample\$DeviceAdminSampleReceiver) \
  -e android.app.extra.DEFAULT_MANAGED_PROFILE_NAME "My Organisation"

NFC によるデバイス所有者のプロビジョニング

NFC またはクラウド サービスを使用して、デバイスの初期設定プロセスの際にデバイス所有者(DO)のプロビジョニングを設定できます。

NFC を使用する際は、初期デバイス設定時に NFC バンプを使用して DO モードのデバイスをプロビジョニングします。この方法はさらなるブートストラップを必要としますが、ロータッチであり、Wi-Fi の構成、DPC のインストール、DPC のデバイス所有者としての設定を処理します。

一般的な NFC バンドルには以下のものが含まれます。

EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LOCATION
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM
EXTRA_PROVISIONING_WIFI_SSID
EXTRA_PROVISIONING_WIFI_SECURITY_TYPE

デバイスでは、設定エクスペリエンスから管理対象プロビジョニング mimetype を受け入れるように NFC を構成する必要があります。構成するには、/packages/apps/Nfc/res/values/provisioning.xml に以下の行があることを確認します。

<bool name="enable\_nfc\_provisioning">true</bool>
<item>application/com.android.managedprovisioning</item>

クラウド サービスを使用したプロビジョニング

クラウド サービスを使用して、デバイス所有者またはプロファイル所有者(仕事用プロファイル)をデバイスにプロビジョニングできます。デバイスは、認証情報(またはトークン)を収集および使用してクラウド サービスを検索します。そのクラウド サービスを使用して、プロビジョニング プロセスを開始できます。

企業向けモバイル管理のメリット

企業向けモバイル管理(EMM)アプリは、次のタスクを実行できます。

  • 管理対象プロファイルをプロビジョニングする
  • セキュリティ ポリシーを適用する
    • パスワードの複雑さの要件を設定する
    • ロックダウン。管理対象プロファイルから共有されたスクリーンショットを無効にするなど
  • エンタープライズ接続を構成する
    • WifiEnterpriseConfig を使用して企業 Wi-Fi を構成する
    • デバイスで VPN を構成する
    • DPM.setApplicationRestrictions() を使用して企業 VPN を構成する
  • 会社のアプリのシングル サインオン(SSO)を有効化する。
    • 選択した会社のアプリをインストールする。
    • DPM.installKeyPair() を使用して、企業クライアント証明書をサイレント インストールする
    • DPM.setApplicationRestrictions() を使用して、企業アプリのホスト名と証明書エイリアスを構成する

管理対象プロビジョニングは、EMM エンドツーエンド ワークフローの一部であり、最終的な目的は、管理対象プロファイルまたは管理対象デバイス内のアプリから企業データにアクセスできるようにすることです。テストのガイダンスについては、デバイステストを設定するをご覧ください。