このページでは、NFC またはクラウド サービスを使用して企業ユーザーを対象にデバイスをデプロイするプロセスを説明します。要件の全リストについては、デバイス管理を実装するをご覧ください。
まず、NfcProvisioning APK と Android-DeviceOwner APK をダウンロードします。
注意: プロビジョニングがすでに開始されている場合、影響を受けるデバイスを最初に出荷時設定にリセットする必要があります。
管理対象プロビジョニング
管理対象プロビジョニングは、デバイスの所有者や管理対象プロファイルの設定の情報をユーザーに適切に知らせるためのフレームワーク UI フローです。管理対象プロファイルの設定ウィザードとして機能するように設計されています。
注: デバイスの所有者を設定できるのはプロビジョニングされていないデバイスのみです。Settings.Secure.USER_SETUP_COMPLETE
が設定されている場合、そのデバイスはプロビジョニングされていると認識され、デバイスの所有者を設定することはできません。
デバイスでデフォルトの暗号化を有効にする場合、デバイス管理のプロビジョニング フローが大幅に簡素化および高速化されます。管理対象プロビジョニングのコンポーネントは次のとおりです。
- デバイスを暗号化する
- 管理対象プロファイルを作成する
- 必須ではないアプリケーションを無効にする
- 企業向けモバイル管理(EMM)アプリをプロファイル所有者として設定する
そして、EMM アプリは次のように動作します。
- ユーザー アカウントを追加する
- デバイスのコンプライアンスを適用する
- 追加のシステム アプリケーションを有効にする
このフローでは、管理対象プロビジョニングによりデバイスの暗号化がトリガーされます。そして、フレームワークにより、管理プロビジョニングの一環として EMM アプリが管理対象プロファイルにコピーされます。プロビジョニングが完了すると、管理対象プロファイル内の EMM アプリのインスタンスがフレームワークからコールバックを受け取ります。その後、EMM は setProfileEnabled()
を呼び出してランチャー アイコンを表示し、アカウントを追加してポリシーを適用できるようになります。
プロファイル所有者をプロビジョニングする
プロファイル所有者のプロビジョニングは、デバイスのユーザー(企業の IT 部門ではないユーザー)がデバイス管理を監督することを想定しています。プロファイル所有者のプロビジョニングを有効にするには、追加のアプリケーションを使用してインテントを送信する必要があります。たとえば、TestDPC アプリ(Google Play からダウンロード、または GitHub からビルド)を使用します。TestDPC をデバイスにインストールしてランチャーから起動し、アプリの指示に沿って操作します。プロビジョニングが完了すると、バッジの付いたアイコンがランチャー ドロワーに表示されます。
モバイル デバイス管理(MDM)アプリは、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"
デバイス所有者をプロビジョニングする
デバイス所有者(DO)のプロビジョニングを設定するには、次のいずれかの方法を使用します。
クラウド サービスを使用したプロビジョニング
クラウド サービスを使用したデバイス所有者のプロビジョニングは、初期設定から何も変更を加えずに、デバイス所有者モードでデバイスをプロビジョニングできるもう 1 つの方法です。 デバイスは認証情報(またはトークン)を収集し、収集した情報を使用してクラウドサービスへのルックアップを実行します。そして、クラウド サービスを使用して、デバイス所有者のプロビジョニング プロセスを開始します。
NFC を使用したプロビジョニング(非推奨)
NFC を使用したデバイス所有者のプロビジョニングは、プロファイル所有者のプロビジョニングと類似していますが、ブートストラップがさらに必要になります。この方法では、初期設定時(セットアップ ウィザードの最初のページ)にデバイスで NFC バンプを行います。このロータッチ フローにより、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 のメリット
企業向けモバイル管理(EMM)アプリは、次のタスクを実行できます。
- 管理対象プロファイルをプロビジョニングする
- セキュリティ ポリシーを適用する
- パスワードの複雑さの要件を設定する
- ロックダウン: スクリーンショットを無効化する、管理対象プロファイルから共有する、など
- 企業向け接続を構成する
- WifiEnterpriseConfig を使用して企業 Wi-Fi を構成する
- デバイスで VPN を構成する
DPM.setApplicationRestrictions()
を使用して企業 VPN を構成する
- 企業向けアプリのシングル サインオン(SSO)を有効化する
- 希望する企業アプリをインストールする
DPM.installKeyPair()
を使用して、企業クライアント証明書をサイレント インストールするDPM.setApplicationRestrictions()
を使用して、企業アプリのホスト名と証明書エイリアスを構成する
管理対象プロビジョニングは、EMM エンドツーエンド ワークフローの一部であり、最終的な目的は、管理対象プロファイル内のアプリから企業データにアクセスできるようにすることです。テストのガイダンスについては、デバイステストを設定するをご覧ください。
プロビジョニング テストの自動化
企業向けプロビジョニングのプロセスのテストを自動化するには、Android Enterprise テストハーネスを使用します。詳細については、デバイスのプロビジョニングをテストするをご覧ください。