註冊及佈建裝置

佈建是設定裝置的程序,可讓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_DISALLOWEDPERSONAL_USAGE_DISALLOWED_USERLESS,然後使用下列其中一種佈建方法。

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

如要在裝置佈建期間,一併顯示密碼步驟和安裝工作應用程式及註冊裝置卡片,建議您更新政策,將裝置保持在隔離狀態,延後啟動 UI 生成作業。如果註冊時未套用相關政策,裝置就會處於隔離狀態,直到您指定最終選定的政策,並填入與設定需求相關的項目,裝置才會完成設定。裝置完成佈建後,您即可視需要變更政策


建立註冊權杖

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

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

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

指定政策

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

指定個人用途

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

強制在註冊時進行 Google 驗證

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

設定選項

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

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

JSON 酬載範例

停用「略過」按鈕

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

{
  ...
  "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 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 中產生的註冊權杖。

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

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

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

  • 如果使用者略過 Google 登入程序,因為 SigninDetail 並未要求登入,但產生的 EnrollmentToken 將登入要求設為 REQUIRED,使用者會看到錯誤訊息,且必須登入。
  • 如果權杖已設定 requiredAccountEmail,且使用者登入時使用的地址屬於企業,但與權杖設定的地址不同,系統會顯示「帳戶錯誤」錯誤訊息,使用者必須使用正確的必要電子郵件地址重新登入。

QR code 方法

Android 7.0 以上版本

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

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

NFC 方法

Android 6.0 以上版本

完整裝置管理佈建,無法用於 Android 11 裝置上供個人使用的公司裝置 (COPE) 佈建。

這個方法需要建立 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 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 會在註冊後五分鐘內,將未附加至政策的裝置恢復原廠設定。