デバイスの登録とプロビジョニング

プロビジョニングは、enterprise によって policies を使用して管理対象デバイスをセットアップするプロセスです。このプロセス中に、デバイスは Android Device Policy をインストールします。Android Device Policy は、policies を受け取って適用するために使用されます。プロビジョニングが成功すると、API は devices オブジェクトを作成し、デバイスを企業にバインドします。

Android Management API は、登録トークンを使用してプロビジョニング プロセスをトリガーします。使用する登録トークンとプロビジョニング方法により、デバイスの所有権(個人所有または会社所有)と管理モード(仕事用プロファイルまたは完全管理対象デバイス)が確立されます。

個人所有のデバイス

Android 5.1 以降

従業員が所有するデバイスには仕事用プロファイルを設定できます。仕事用プロファイルは、個人用のアプリやデータとは別に、仕事用のアプリとデータ用の自己完結型のスペースを提供します。ほとんどのアプリ、データ、その他の管理 policies は仕事用プロファイルにのみ適用され、従業員の個人用アプリとデータは非公開に保たれます。

個人所有のデバイスに仕事用プロファイルを設定するには、登録トークンを作成し(allowPersonalUsagePERSONAL_USAGE_ALLOWED に設定されていることを確認します)、次のいずれかのプロビジョニング方法を使用します。

会社所有デバイス(仕事とプライベート)

Android 8 以降

会社所有のデバイスに仕事用プロファイルを設定することで、仕事用と個人用の両方が有効になります。仕事用プロファイルが設定された会社所有デバイスの場合:

  • ほとんどのアプリ、データ、その他の管理 policies は仕事用プロファイルにのみ適用されます。
  • 従業員の個人用プロファイルは公開されません。ただし、企業は特定のデバイス全体のポリシー個人利用のポリシーを適用できます。
  • 企業は blockScope を使用して、デバイス全体または仕事用プロファイルのみにコンプライアンス アクションを適用できます。
  • devices.deleteデバイス コマンドは、デバイス全体に適用されます。

仕事用プロファイルを使用して会社所有デバイスを設定するには、登録トークンを作成し(allowPersonalUsagePERSONAL_USAGE_ALLOWED に設定されていることを確認します)、次のいずれかのプロビジョニング方法を使用します。

仕事専用の会社所有デバイス

Android 5.1 以降

完全なデバイス管理は、仕事専用の会社所有デバイスに適しています。企業はデバイス上のすべてのアプリを管理し、Android Management API のすべてのポリシーとコマンドを適用できます。

ポリシーによって)デバイスを、専用の目的やユースケースで使用する 1 つのアプリまたは少数のアプリだけにロックダウンすることもできます。この完全管理対象デバイスのサブセットは、専用デバイスと呼ばれます。

会社所有のデバイスに完全管理を設定するには、登録トークンを作成し(allowPersonalUsagePERSONAL_USAGE_DISALLOWED に設定されていることを確認)、次のいずれかのプロビジョニング方法を使用します。

ポリシーは、デバイスのプロビジョニング時の UI の生成に影響を与える可能性があります。 このようなポリシーは次のとおりです。

デバイスのプロビジョニング中に仕事用アプリやデバイス登録カードのインストールとともにパスワードの手順を表示する場合は、ポリシーを更新して、デバイスを検疫状態に維持し、UI 生成の開始を遅らせることをおすすめします。これは、関連するポリシーなしで登録した場合に、設定のニーズに関連する項目が入力されたデバイス設定に最終的に選択されたポリシーを指定するまで発生します。デバイスのプロビジョニングが完了したら、必要に応じてポリシーを変更できます。


登録トークンを作成する

Android の管理の概要。
図 1.デバイスを登録して「policy1」を適用するトークンを作成します。1,800 秒(30 分)が経過するとトークンは期限切れになります。

登録するデバイスごとに登録トークンが必要です(複数のデバイスに同じトークンを使用できます)。登録トークンをリクエストするには、enterprises.enrollmentTokens.create を呼び出します。登録トークンはデフォルトで 1 時間後に期限切れになりますが、最大約 10,000 年までのカスタム有効期限duration)を指定できます。

リクエストが成功すると、enrollmentTokenIdqrcode を含む enrollmentToken オブジェクトが返されます。IT 管理者とエンドユーザーは、このオブジェクトを使用してデバイスのプロビジョニングを行うことができます。

ポリシーを指定する

リクエストに policyName を指定して、デバイスの登録と同時にポリシーを適用することもできます。policyName を指定しない場合は、ポリシーなしでデバイスを登録するをご覧ください。

個人用途を指定する

allowPersonalUsage は、プロビジョニング中に仕事用プロファイルをデバイスに追加できるかどうかを指定します。ユーザーが仕事用プロファイルを作成できるようにするには、PERSONAL_USAGE_ALLOWED に設定します(個人所有のデバイスの場合は必須、会社所有のデバイスの場合は任意)。


QR コードについて

QR コードは、さまざまなポリシーを管理する企業にとって、効率的なデバイス プロビジョニング方法です。enterprises.enrollmentTokens.create から返される QR コードは、登録トークンを含む Key-Value ペアのペイロードと、Android Device Policy がデバイスをプロビジョニングするために必要なすべての情報で構成されています。

QR コードバンドルの例

このバンドルには、Android Device Policy のダウンロード場所と登録トークンが含まれています。

{
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME": "com.google.android.apps.work.clouddpc/.receivers.CloudDeviceAdminReceiver",
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM": "I5YvS0O5hXY46mb01BlRjq4oJJGs2kuUcHvVkAPEXlg",
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "https://play.google.com/managed/downloadManagingApp?identifier=setup",
    "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":{
        "com.google.android.apps.work.clouddpc.EXTRA_ENROLLMENT_TOKEN": "{enrollment-token}"
    }
}

enterprises.enrollmentTokens.create から返された QR コードを直接使用することも、カスタマイズすることもできます。QR コード バンドルに含めることができるプロパティの一覧については、QR コードを作成するをご覧ください。

qrcode 文字列をスキャン可能な QR コードに変換するには、ZXing などの QR コード生成ツールを使用します。


プロビジョニング方法

このセクションでは、デバイスをプロビジョニングするさまざまな方法について説明します。

[設定] から仕事用プロファイルを追加する

Android 5.1 以降

デバイスに仕事用プロファイルを設定するには、次の操作を行います。

  1. [設定] > [Google] > [設定と復元] に移動
  2. [仕事用プロファイルを設定] をタップします。

この手順により、デバイスに Android Device Policy をダウンロードする設定ウィザードが起動します。次に、ユーザーは QR コードをスキャンするか、登録トークンを手動で入力して、仕事用プロファイルの設定を完了するよう求められます。

Android Device Policy をダウンロード

Android 5.1 以降

デバイスに仕事用プロファイルをセットアップするには、Google Play ストアから Android Device Policy をダウンロードします。アプリがインストールされると、ユーザーは QR コードを求められるか、登録トークンを手動で入力して、仕事用プロファイルの設定を完了します。

Android 5.1 以降

enrollmentTokens.create または企業の signinEnrollmentToken から返された登録トークンを使用して、次の形式の URL を生成します。

https://enterprise.google.com/android/enroll?et=<enrollmentToken>

この URL を IT 管理者に提供すると、IT 管理者がエンドユーザーに提供できます。 エンドユーザーがデバイスからリンクを開くと、仕事用プロファイルの設定画面が表示されます。

ログイン URL

この方法では、認証情報の入力を求める URL がユーザーに表示されます。デバイスのプロビジョニングに進む前に、ユーザーの認証情報に基づいて適切なポリシーを計算できます。次に例を示します。

  1. ログイン URL を enterprises.signInDetails[] に指定します。ユーザーに仕事用プロファイルの作成を許可する場合は、allowPersonalUsagePERSONAL_USAGE_ALLOWED に設定します(個人所有のデバイスの場合は必須、会社所有のデバイスの場合はオプション)。

    生成された signinEnrollmentToken をプロビジョニング エクストラとして QR コードNFC ペイロード、またはゼロタッチ構成に追加します。または、signinEnrollmentToken をユーザーに直接提供することもできます。

  2. 次のいずれかを選択します。

    1. 会社所有デバイス: 新しいデバイスまたは出荷時の設定にリセットしたデバイスの電源を入れた後、(QR コードや NFC バンプなどを使用して)signinEnrollmentToken をデバイスに渡すか、トークンを手動で入力するようユーザーに求めます。ステップ 1 で指定したログイン URL がデバイスで開きます。
    2. 個人所有デバイス: [設定] から仕事用プロファイルを追加するようユーザーに依頼します。プロンプトが表示されたら、ユーザーは signinEnrollmentToken を含む QR コードをスキャンするか、トークンを手動で入力します。ステップ 1 で指定したログイン URL がデバイスで開きます。
    3. 個人所有デバイス: ユーザーに登録トークンのリンクを提供します。ここで、登録トークンは signinEnrollmentToken です。ステップ 1 で指定したログイン URL がデバイスで開きます。
  3. ログイン URL で、ユーザーに認証情報の入力を求めます。ID に基づいて適切なポリシーを決定し、GET パラメータ provisioningInfo を使用して(デバイスの登録時に)デバイス プロビジョニング情報を取得できます。

  4. enrollmentTokens.create を呼び出し、ユーザーの認証情報に基づいて適切な policyId を指定します。

  5. https://enterprise.google.com/android/enroll?et=<token> という形式の URL リダイレクトを使用して、手順 4 で生成された登録トークンを返します。

QR コードによる方法

Android 7.0 以降

会社所有デバイスをプロビジョニングするには、QR コードを生成して EMM コンソールに表示します。

  1. 新しいデバイスまたは出荷時の設定にリセットしたデバイスで、ユーザー(通常は IT 管理者)が画面を同じ場所を 6 回タップします。これにより、デバイスがトリガーされ、ユーザーに QR コードのスキャンを求めるメッセージが表示されます。
  2. ユーザーは、管理コンソール(または同様のアプリケーション)に表示される QR コードをスキャンして、デバイスの登録とプロビジョニングを行います。

NFC 方式

Android 6.0 以降

この方法では、登録トークン、初期ポリシー、Wi-Fi 構成、設定など、お客様が完全管理対象デバイスや専用デバイスのプロビジョニングに必要なすべてのプロビジョニングの詳細を含む、NFC プログラマー アプリを作成する必要があります。パートナー様またはお客様が Android 搭載デバイスに NFC プログラマー アプリをインストールすると、そのデバイスがプログラマー デバイスになります。

NFC 方式のサポート方法に関する詳細なガイダンスについては、Play EMM API のデベロッパー向けドキュメントをご覧ください。このサイトには、NFC バンプでデバイスにプッシュされるデフォルト パラメータのサンプルコードも含まれています。Android Device Policy をインストールするには、デバイス管理パッケージのダウンロード場所を次のように設定します。

https://play.google.com/managed/downloadManagingApp?identifier=setup

DPC ID 方式

QR コードまたは NFC を使用して Android Device Policy を追加できない場合、ユーザーまたは IT 管理者は次の手順で会社所有デバイスをプロビジョニングできます。

  1. 新しいデバイスまたは初期状態にリセットしたデバイスでセットアップ ウィザードに沿って操作します。
  2. Wi-Fi のログイン情報を入力して、デバイスをインターネットに接続します。
  3. ログインを求められたら、「afw#setup」と入力します。これにより、Android Device Policy がダウンロードされます。
  4. QR コードをスキャンするか、登録トークンを手動で入力して、デバイスをプロビジョニングします。

ゼロタッチ登録

Android 8.0 以降(Google Pixel 7.1 以降)

正規ゼロタッチ販売パートナーから購入したデバイスは、ゼロタッチ登録を利用できます。ゼロタッチ登録とは、初回起動時に自動的にプロビジョニングされるようにデバイスを事前構成するための効率的な方法です。

組織は、ゼロタッチ登録ポータルまたは EMM コンソール(ゼロタッチ登録 API を参照)を使用して、ゼロタッチ デバイスのプロビジョニングの詳細を含む構成を作成できます。初回起動時に、ゼロタッチ デバイスが設定が割り当てられているかどうかを確認します。設定されている場合、デバイスは Android Device Policy をダウンロードし、割り当てられた構成で指定されたプロビジョニング エクストラを使用してデバイスのセットアップを完了します。

お客様がゼロタッチ登録ポータルを使用している場合は、作成する構成ごとに EMM DPC として Android Device Policy を選択する必要があります。構成を作成してデバイスに割り当てる方法など、ポータルの使用方法について詳しくは、Android Enterprise ヘルプセンターをご覧ください。

ユーザーに EMM コンソールから直接構成を設定して割り当てる場合は、ゼロタッチ登録 API と統合する必要があります。構成を作成するときに、dpcExtras フィールドにプロビジョニング エクストラを指定します。次の JSON スニペットは、追加されたログイン トークンとともに dpcExtras に含める内容の基本的な例を示しています。

{
   "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":"com.google.android.apps.work.clouddpc/.receivers.CloudDeviceAdminReceiver",
   "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":"I5YvS0O5hXY46mb01BlRjq4oJJGs2kuUcHvVkAPEXlg",
   "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":{
      "com.google.android.apps.work.clouddpc.EXTRA_ENROLLMENT_TOKEN":"{Sign In URL token}"
   }
}

セットアップ中にアプリを起動する

setupaction
図 2. セットアップ中に setupActions を使用してアプリを起動します。

policies では、デバイスまたは仕事用プロファイルのセットアップ中に起動する Android Device Policy のアプリを 1 つ指定できます。たとえば、VPN アプリを起動して、セットアップ プロセスの一環として VPN 設定を構成できます。アプリは RESULT_OK を返して完了を通知し、Android Device Policy がデバイスまたは仕事用プロファイルのプロビジョニングを完了できるようにする必要があります。セットアップ中にアプリを起動するには:

アプリの installTypeREQUIRED_FOR_SETUP であることを確認します。デバイスにアプリをインストールまたは起動できない場合、プロビジョニングは失敗します。

{
   "applications":[
      {
         "packageName":"com.my.vpnapp.",
         "installType":"REQUIRED_FOR_SETUP"
      }
   ]
}

アプリのパッケージ名を setupActions に追加します。titledescription を使用して、ユーザー向けの手順を指定します。

{
   "setupActions":[
      {
         "title":{
            "defaultMessage":"Configure VPN"
         },
         "description":{
            "defaultMessage":"Enable your VPN client to access corporate resources."
         },
         "launchApp":{
            "packageName":"com.my.vpnapp."
         }
      }
   ]
}

アプリが launchApp から起動されたことを区別するために、アプリの一部として最初に起動されるアクティビティには、ブール値インテント エクストラ com.google.android.apps.work.clouddpc.EXTRA_LAUNCHED_AS_SETUP_ACTIONtrue に設定)が含まれています。このエクストラを使用すると、setupActions から起動されたのか、ユーザーによって起動されたのかに基づいてアプリをカスタマイズできます。

アプリから RESULT_OK が返された後、Android Device Policy はデバイスまたは仕事用プロファイルのプロビジョニングに必要な残りの手順を完了します。

設定中に登録をキャンセルする

SetupAction として起動したアプリは、RESULT_CANCELED を返すように登録をキャンセルできます。

登録をキャンセルすると、会社所有のデバイスがリセットされるか、個人所有のデバイスの仕事用プロファイルが削除されます。

: 登録をキャンセルすると、ユーザー確認ダイアログなしでアクションがトリガーされます。結果を返す前に適切なエラー ダイアログをユーザーに表示するのは、アプリの責任です。

新しく登録したデバイスにポリシーを適用する

新しく登録したデバイスにポリシーを適用する方法は、デベロッパーや顧客の要件に応じて選択できます。次のような方法があります。

  • (推奨)登録トークンを作成するときに、デバイスに最初にリンクされるポリシーの名前(policyName)を指定できます。トークンを使用してデバイスを登録すると、このポリシーが自動的にデバイスに適用されます。

  • ポリシーを企業のデフォルト ポリシーとして設定します。登録トークンにポリシー名が指定されず、enterprises/<enterprise_id>/policies/default という名前のポリシーが存在する場合、新しいデバイスはそれぞれ登録時にデフォルト ポリシーに自動的にリンクされます。

  • Cloud Pub/Sub トピックにサブスクライブして、新しく登録されたデバイスに関する通知を受信する。ENROLLMENT 通知に応じて、enterprises.devices.patch を呼び出して、デバイスをポリシーにリンクします。

ポリシーなしでデバイスを登録する

有効なポリシーなしでデバイスが登録された場合、そのデバイスは検疫モードになります。検疫されたデバイスは、デバイスがポリシーにリンクされるまで、すべてのデバイス機能からブロックされます。

デバイスが 5 分以内にポリシーにリンクされなかった場合、デバイスの登録は失敗し、デバイスは出荷時の設定にリセットされます。デバイスの隔離状態により、ソリューションの一部としてライセンス チェックやその他の登録検証プロセスを実装できます。

ライセンス チェック ワークフローの例

  1. デフォルトのポリシーまたは特定のポリシーを設定せずにデバイスが登録されている。
  2. 企業の残りのライセンス数を確認します。
  3. 利用可能なライセンスがある場合は、devices.patch を使用してデバイスにポリシーを接続し、ライセンス数を減らします。使用可能なライセンスがない場合は、devices.patch を使用してデバイスを無効にします。または、ポリシーに接続されていないデバイスを、API によって登録後 5 分以内に出荷時の設定にリセットします。