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

このページでは、NFC またはクラウド サービスを使用して企業ユーザーにデバイスをデプロイするプロセスを説明します。要件の全リストは、デバイス管理を実装するをご覧ください。

まず、NfcProvisioning APKAndroid-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)のプロビジョニングを設定するには、次のいずれかの方法を使用します。

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 テストハーネスを使用します。詳細については、デバイスのプロビジョニングをテストするをご覧ください。