註冊及佈建裝置

佈建是指由 enterprise 使用 policies 設定要管理的裝置。在這個過程中,裝置會安裝 Android Device Policy,用於接收及強制執行 policies。如果佈建作業成功,API 會建立 devices 物件,將裝置繫結至企業。

Android Management API 會使用註冊權杖觸發布建程序。您使用的註冊權杖和佈建方法會建立裝置的擁有權 (個人擁有或公司擁有) 和管理模式 (工作資料夾或全代管裝置)。

個人擁有的裝置

Android 5.1 以上版本

員工擁有的裝置可以設定工作資料夾。工作資料夾可提供獨立的空間,用於存放工作應用程式和資料,與個人應用程式和資料分開。大部分的應用程式、資料和其他管理 policies 只會套用至工作資料夾,員工的個人應用程式和資料則不會外流。

如要在個人裝置上設定工作資料夾,請建立註冊權杖 (請確認 allowPersonalUsage 已設為 PERSONAL_USAGE_ALLOWED),然後使用下列其中一種佈建方法:

公司擁有的裝置,用於工作和私人用途

Android 8 以上版本

設定公司擁有的裝置時,如果使用工作資料夾,就能將裝置用於工作和個人用途。在設有工作資料夾的公司裝置上:

  • 大部分應用程式、資料和其他管理 policies 只適用於工作資料夾。
  • 員工的個人資料仍會保持私密。不過,企業可以強制執行特定的裝置全域政策個人使用政策
  • 企業可以使用 blockScope,針對整部裝置或僅針對其工作資料夾強制執行法規遵循動作。
  • devices.delete裝置指令會套用至整部裝置。

如要設定公司擁有的裝置 (含工作資料夾),請建立註冊權杖 (請確認 allowPersonalUsage 已設為 PERSONAL_USAGE_ALLOWED),然後使用下列其中一種佈建方法:

公司擁有的裝置,僅用於工作

Android 5.1 以上版本

完整裝置管理:適用於公司擁有的裝置,且僅用於工作用途。企業可以管理裝置上的所有應用程式,並且強制執行所有 Android 管理 API 政策和指令。

您也可以透過政策,將裝置鎖定為只能使用單一應用程式或少數應用程式,以便執行特定用途或用例。這類全代管裝置的子集稱為「專用裝置」。這些裝置的註冊權杖必須將 allowPersonalUsage 設為 PERSONAL_USAGE_DISALLOWED_USERLESS

如要在公司擁有的裝置上設定完整管理功能,請建立註冊權杖,並確保 allowPersonalUsage 設為 PERSONAL_USAGE_DISALLOWEDPERSONAL_USAGE_DISALLOWED_USERLESS,然後使用下列其中一種佈建方法。

政策可能會影響裝置佈建期間的 UI 產生作業。這類政策包括:

如果您希望在裝置佈建期間,系統一併顯示密碼步驟、安裝工作應用程式和裝置註冊卡片,建議您更新政策,讓裝置保持在隔離狀態 (如果註冊時沒有相關聯的政策,就會發生這種情況),直到指定裝置設定的最終所選政策,並填入與設定需求相關的項目為止,以便延遲啟動 UI 產生作業。完成裝置的佈建程序後,您可以視需要變更政策


建立註冊權杖

Android 管理總覽。
圖 1. 建立權杖,用於將「policy1」註冊至裝置並套用至裝置。權杖會在 1800 秒 (30 分鐘) 後失效。

您需要為要註冊的每部裝置取得註冊權杖 (您可以為多部裝置使用相同的權杖)。如要要求註冊權杖,請呼叫 enterprises.enrollmentTokens.create。註冊權杖預設會在 1 小時後過期,但您可以指定自訂到期時間 (duration),最長可達 10,000 年。

成功的要求會傳回 enrollmentToken 物件,其中包含 enrollmentTokenIdqrcode,IT 管理員和使用者可用來佈建裝置。

指定政策

您也可以在要求中指定 policyName,以便在註冊裝置時套用政策。如果您未指定 policyName,請參閱註冊沒有政策的裝置

指定個人用途

allowPersonalUsage 會判斷是否可以在佈建期間將工作資料夾新增至裝置。將其設為 PERSONAL_USAGE_ALLOWED,允許使用者建立工作資料夾 (個人擁有的裝置必須設為此值,公司擁有的裝置則為選用值)。


關於 QR code

對於維護多種不同政策的企業而言,QR code 是一種有效的裝置佈建方法。enterprises.enrollmentTokens.create 傳回的 QR code 由鍵/值組成的酬載組成,其中包含註冊權杖,以及 Android 裝置政策佈建裝置所需的所有資訊。

QR code 組合範例

套件內含 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 code,也可以自訂 QR code。如要查看可納入 QR code 套件的完整屬性清單,請參閱「建立 QR code」一節。

如要將 qrcode 字串轉換為可掃描的 QR code,請使用 QR code 產生器,例如 ZXing


佈建方法

本節說明各種裝置佈建方法。

透過「設定」新增工作資料夾

Android 5.1 以上版本

如要設定裝置的工作資料夾,使用者可以:

  1. 依序前往「設定」>「Google」>「設定與還原」
  2. 輕觸「設定工作資料夾」

這些步驟會啟動設定精靈,在裝置上下載 Android Device Policy。接著,系統會提示使用者掃描QR code,或手動輸入註冊權杖,以完成工作資料夾設定。

下載 Android Device Policy

Android 5.1 以上版本

如要設定裝置的工作資料夾,使用者可以從 Google Play 商店下載 Android 裝置政策。安裝應用程式後,系統會提示使用者輸入QR code 或手動輸入註冊權杖,以完成工作資料夾設定。

Android 5.1 以上版本

使用從 enrollmentTokens.create 或企業的 signinEnrollmentToken 傳回的註冊權杖,產生以下格式的網址:

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

您可以將這個網址提供給 IT 管理員,讓他們轉交給使用者。當使用者從裝置開啟連結時,系統會引導他們設定工作資料夾。

登入網址

使用這個方法時,系統會將使用者導向至一個頁面,讓他們輸入完成佈建所需的任何其他資訊。您可以根據使用者輸入的資訊,計算適合使用者的政策,然後再繼續進行裝置佈建作業。例如:

  1. enterprises.signInDetails[] 中指定登入網址。如果您想允許使用者建立工作資料夾,請將 allowPersonalUsage 設為 PERSONAL_USAGE_ALLOWED (個人擁有的裝置必須設為此值,公司擁有的裝置則為選用值)。

    將產生的 signinEnrollmentToken 新增為QR codeNFC 酬載零接觸設定的額外佈建項目。或者,您也可以直接將 signinEnrollmentToken 提供給使用者。

  2. 選擇下列任一選項:

    1. 公司擁有的裝置:開啟新裝置或已重設至原廠設定的裝置後,請將 signinEnrollmentToken 傳遞至裝置 (透過 QR Code、NFC 碰觸等方式),或請使用者手動輸入權杖。裝置會開啟在步驟 1 中指定的登入網址。
    2. 個人擁有的裝置:請使用者透過「設定」新增工作資料夾。系統顯示提示時,使用者可以掃描含有 signinEnrollmentToken 的 QR code,或手動輸入權杖。裝置會開啟步驟 1 中指定的登入網址。
    3. 個人擁有的裝置:為使用者提供註冊權杖連結,其中註冊權杖為 signinEnrollmentToken。裝置會開啟在步驟 1 中指定的登入網址。
  3. 檢查 Google 是否已驗證使用者。使用 GET 參數 provisioningInfo 取得裝置佈建資訊 (在裝置註冊期間),並檢查 authenticatedUserEmail 欄位的值。如果這個欄位中有值,表示 Google 已成功驗證使用者,您可以使用這個身分,而無須再進行驗證。

  4. 如果 Google 尚未驗證使用者,您的登入網址應會提示使用者輸入憑證。您可以根據使用者的身分,判斷適當的政策,並在裝置註冊期間使用 GET 參數 provisioningInfo 取得裝置佈建資訊。

  5. 呼叫 enrollmentTokens.create,根據使用者的憑證指定適當的 policyId

  6. 使用網址重新導向,在 https://enterprise.google.com/android/enroll?et=<token> 表單中傳回步驟 5 產生的註冊權杖。

QR code 方法

Android 7.0 以上版本

如要設定公司擁有的裝置,您可以產生 QR code,並在 EMM 主控台中顯示:

  1. 在全新或已恢復原廠設定的裝置上,使用者 (通常是 IT 管理員) 在同一個位置輕觸螢幕六次。裝置就會提示使用者掃描 QR code。
  2. 使用者掃描您在管理控制台 (或類似應用程式) 中顯示的 QR code,即可註冊及佈建裝置。

NFC 方法

Android 6.0 以上版本

您必須建立 NFC 程式設計師應用程式,其中包含註冊權杖、初始政策和 Wi-Fi 設定、設定,以及客戶為佈建全代管或專用裝置所需的所有其他佈建詳細資料。當您或客戶在 Android 裝置上安裝 NFC 程式設計器應用程式時,該裝置就會成為程式設計器裝置。

如需支援 NFC 方法的詳細指引,請參閱 Play EMM API 開發人員說明文件。該網站也提供預設參數的程式碼範例,可在 NFC 觸碰傳輸時推送至裝置。如要安裝 Android Device Policy,請將裝置管理員套件的下載位置設為:

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

DPC ID 方法

如果無法使用 QR code 或 NFC 新增 Android Device Policy,使用者或 IT 管理員可以按照下列步驟佈建公司擁有的裝置:

  1. 按照全新或已恢復原廠設定的裝置上設定精靈的指示操作。
  2. 輸入 Wi-Fi 登入詳細資料,將裝置連上網際網路。
  3. 當系統提示您登入時,請輸入 afw#setup,即可下載 Android Device Policy。
  4. 掃描 QR code 或手動輸入註冊權杖,即可為裝置進行佈建。

零接觸註冊機制

Android 8.0 以上 (Pixel 7.1 以上)

授權的零接觸經銷商購買的裝置,可使用零接觸註冊機制,這是一種簡化方法,可讓裝置預先設定,在首次啟動時自動佈建。

機構可以透過零接觸註冊機制入口網站或 EMM 主控台 (請參閱 零接觸客戶 API),為零接觸裝置建立設定,其中包含佈建詳細資料。在首次啟動時,零接觸裝置會檢查是否已指派設定。如果是,裝置就會下載 Android Device Policy,然後使用指派設定中指定的佈建額外項目,完成裝置設定程序。

如果客戶使用零接觸註冊入口網站,則需要為所建立的每個設定選取 Android Device Policy 做為 EMM DPC。如需詳細的使用入口網站說明,包括如何建立設定並指派給裝置,請前往 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 在裝置或工作資料夾設定期間啟動的應用程式。舉例來說,您可以啟動 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_ACTION (設為 true)。您可以根據應用程式是從 setupActions 或使用者啟動,自訂應用程式。

應用程式傳回 RESULT_OK 後,Android Device Policy 會完成佈建裝置或工作資料夾所需的所有剩餘步驟。

在設定期間取消註冊

SetupAction 啟動的應用程式可以取消註冊,並傳回 RESULT_FIRST_USER

取消註冊會將公司擁有的裝置重設,或刪除個人裝置上的「工作資料夾」。

注意:取消註冊會觸發動作,但不會顯示使用者確認對話方塊。應用程式有責任在傳回 RESULT_FIRST_USER 之前,向使用者顯示適當的錯誤對話方塊。

將政策套用至新註冊的裝置

您可以根據客戶的需求,決定如何將政策套用至新註冊的裝置。以下是可用的不同方法:

  • (建議) 建立註冊權杖時,您可以指定要初始連結至裝置的政策名稱 (policyName)。使用憑證註冊裝置時,系統會自動將政策套用至裝置。

  • 將政策設為企業的預設政策。如果註冊權杖中未指定政策名稱,且有名稱為 enterprises/<enterprise_id>/policies/default 的政策,則每部新裝置都會在註冊時自動連結至預設政策。

  • 訂閱 Cloud Pub/Sub 主題,接收有關新註冊裝置的通知。回應 ENROLLMENT 通知時,請呼叫 enterprises.devices.patch,將裝置與政策建立連結。

註冊未設定政策的裝置

如果裝置註冊時沒有有效的政策,系統會將裝置置入隔離區。在裝置連結至政策之前,隔離裝置的所有裝置功能都會遭到封鎖。

如果裝置在五分鐘內未連結至政策,裝置註冊程序就會失敗,並且裝置會恢復原廠設定。隔離裝置狀態可讓您在解決方案中導入授權檢查或其他註冊驗證程序。

授權檢查工作流程範例

  1. 裝置未註冊預設政策或特定政策。
  2. 查看企業剩餘的授權數量。
  3. 如果有可用的授權,請使用 devices.patch 將政策附加至裝置,然後減少授權數量。如果沒有可用的授權,請使用 devices.patch 停用裝置。或者,API 工廠會在註冊後五分鐘內,重設未連結至政策的任何裝置。