註冊及佈建裝置

佈建是指設定裝置,以便由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 Management API 政策和指令。

您也可以(透過政策)將裝置鎖定為單一應用程式或一小組應用程式,以用於專門用途或用途。這類全代管裝置稱為「專用裝置」。這些裝置的註冊權杖必須將 allowPersonalUsage 設為 PERSONAL_USAGE_DISALLOWED_USERLESS。

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

政策可能會影響裝置佈建期間的使用者介面生成。這些政策包括:

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


建立註冊權杖

Android Management 總覽。
圖 1. 建立權杖,用於註冊裝置並套用「policy1」。1800 秒 (30 分鐘) 後,權杖就會過期。

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

如果要求成功,系統會傳回 enrollmentToken 物件,其中包含 enrollmentTokenId 和 qrcode,IT 管理員和使用者可使用這些資訊佈建裝置。

指定政策

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

指定個人用途

allowPersonalUsage 會決定是否可在佈建期間將工作資料夾新增至裝置。設為 PERSONAL_USAGE_ALLOWED,允許使用者建立工作資料夾 (個人擁有的裝置必須設定,公司擁有的裝置則可視需要設定)。

現有註冊權杖的豁免條件

部分客戶會使用效期較長的註冊權杖,重複執行註冊作業。為確保這些現有工作流程不會中斷,在首次啟用「使用 Google 驗證」規定「之前」建立的任何權杖,都不會觸發新的登入提示。這些舊權杖會繼續照常運作,使用者不需經過 Google 驗證程序,即可註冊裝置。

不過,在首次啟用 Google 驗證要求「之後」建立的權杖,則會遵循新的驗證規則。也就是說,使用這些新權杖的裝置會要求使用者根據 IT 管理員選擇的設定進行驗證。如果專用裝置不應儲存使用者資料,請務必將 allowPersonalUsage 設為 PERSONAL_USAGE_DISALLOWED_USERLESS,以免顯示驗證畫面。

強制在註冊時進行 Google 驗證

EMM 可在註冊權杖或登入權杖上設定適當的值,在裝置註冊期間強制要求登入 Google 帳戶。這項設定會決定是否在 Google 登入畫面上隱藏「略過」按鈕。設定後,這些選項會覆寫全企業的 googleAuthenticationSettings 政策。

設定選項

您可以在 EnrollmentToken 或 SigninDetail 中使用 googleAuthenticationOptions 物件,控制驗證行為。

欄位 說明 值
authenticationRequirement 指定使用者是否必須在註冊期間透過 Google 進行驗證。 AUTHENTICATION_REQUIREMENT_UNSPECIFIED:改用企業預設設定。
選用:使用者會看到 Google 登入畫面,但可以選擇略過。
「必要」:使用者無法略過登入。「略過」按鈕會隱藏。
requiredAccountEmail 使用者必須使用的特定受管理 Google 帳戶電子郵件地址。
注意:如果使用這個欄位,authenticationRequirement 必須設為 REQUIRED。
字串 (例如「user@enterprise.com」)

JSON 酬載範例

停用略過按鈕

如要隱藏「略過」按鈕,並強制使用者使用任何有效的公司帳戶登入,請將驗證需求設為「必要」。

{
  ...
  "googleAuthenticationOptions": {
    "authenticationRequirement": "REQUIRED"
  }
}

要求特定帳戶電子郵件

如要強制使用者以指定帳戶登入,請定義 requiredAccountEmail 字串。如果未將需求欄位設為 REQUIRED,權杖建立要求會失敗,並傳回 INVALID_ARGUMENT 錯誤。

{
...
  "googleAuthenticationOptions": {
    "authenticationRequirement": "REQUIRED",
    "requiredAccountEmail": "user@enterprise.com"
  }
}

關於 QR code

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

QR code 套件範例

套件包含 Android 裝置政策的下載位置和註冊權杖。

{
    "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」。

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


佈建方法

本節說明佈建裝置的不同方法。

從「設定」新增工作資料夾

Android 5.1 以上版本

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

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

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

下載 Android 裝置政策

Android 5.1 以上版本

如要在裝置上設定工作資料夾,使用者可以從 Google Play 商店下載 Android Device Policy。安裝應用程式後,系統會提示使用者掃描 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 code、NFC 酬載或零接觸設定。或者,您也可以直接向使用者提供 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 產生的註冊權杖。

透過登入網址流程強制執行 Google 驗證

使用 SigninDetail 進行第三方登入流程 (透過 enterprises.create 或 enterprises.patch) 時,您可以傳遞 googleAuthenticationOptions。這項設定會在使用者重新導向至第三方登入網址前,強制執行規則。

在登入網址流程結束時建立 EnrollmentToken 時,其驗證需求會與初始 SigninDetail 互動:

  • 如果使用者因 SigninDetail 未要求而略過 Google 登入,但產生的 EnrollmentToken 將其要求設為 REQUIRED,使用者會看到錯誤,且需要登入。
  • 如果權杖上設定了 requiredAccountEmail,且使用者以屬於企業的其他地址登入,系統會顯示「帳戶錯誤」訊息,要求使用者以正確的電子郵件地址重新登入。

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 裝置政策,使用者或 IT 管理員可以按照下列步驟佈建公司擁有的裝置:

  1. 在全新或已恢復原廠設定的裝置上,按照設定精靈的指示操作。
  2. 輸入 Wi-Fi 登入詳細資料,將裝置連上網際網路。
  3. 系統提示登入時,請輸入 afw#setup,下載 Android 裝置政策。
  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 裝置政策 完成裝置或工作資料夾佈建。如要在設定期間啟動應用程式,請按照下列步驟操作:

確認應用程式的 installType 為 REQUIRED_FOR_SETUP。如果無法在裝置上安裝或啟動應用程式,佈建就會失敗。

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

將應用程式的套件名稱新增至 setupActions。使用 title 和 description 指定面向使用者的操作說明。

{
   "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 裝置政策會完成佈建裝置或工作資料夾所需的其餘步驟。

在設定期間取消註冊

以 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 會將裝置恢復原廠設定。