建立企業繫結

如要透過 EMM 控制台註冊新機構,您需要建立企業繫結。Enterprises 資源代表 EMM 和機構之間的繫結。您可以使用該執行個體的執行個體來代表機構叫用作業。

Play EMM API 提供三種建立企業繫結執行個體的方式:

  • 受管理 Google 網域註冊:這個方法可以取代兩個其他方法。具有現有代管 Google 網域的機構,以及剛開始與 Google 合作的機構將使用相同的註冊 UI。使用者切換 UI 的過程會因情況和需求而異。機構不需要事先取得 EMM 權杖。

  • 註冊 Google Play 管理版帳戶:機構想要使用 Google Play 管理版帳戶,您可以將 Google 的 Android 註冊 UI 與 EMM 控制台整合,讓機構快速建立企業繫結執行個體,將執行個體繫結至 EMM。如此一來,即可為使用者和裝置啟用 Google Play 管理版帳戶。這種方法在 API 說明文件中有時也稱為「EMM 啟動」。這個方法已淘汰,並改用上述的代管 Google 網域註冊方法。

  • 受管理的 Google 網域註冊作業:機構已有受管理的 Google 網域。IT 管理員會完成多項手動工作,例如向 Google 驗證網域擁有權、取得 EMM 權杖,以及建立企業服務帳戶。此方法在 API 說明文件中有時稱為「Google 啟動」

您可以使用 Enterprises 資源,在 EMM 控制台中支援任一方法。表 1 顯示了將機構繫結至 EMM 的相關欄位和作業。

表 1:Enterprises API 和替代繫結程序

 Google Play 管理版帳戶企業受管理的 Google 網域說明
欄位
id 機構的專屬 ID,是從 enrollcompleteSignup 呼叫傳回。
kind 使用固定字串值 hoandroidenterprise#enterprisesuite。
名稱 enterprise 物件相關聯的機構。
primaryDomain未設定 由於 Google Play 管理版帳戶企業並未與 Google 網域模型建立關聯,因此這個欄位僅適用於代管 Google 網域。
管理員 []未設定使用 EMM 啟動的註冊程序註冊 Android 的 IT 管理員會成為企業繫結的管理員 (擁有者)。IT 管理員可以透過 Google Play 管理版主控台,邀請機構中的其他使用者參與管理工作。請參閱「Google Play 管理版說明中心」。
管理員 [].email 未設定
方法
completeSignup 針對 completionTokenenterpriseToken,在回應主體中傳回 Enterprises 資源。
generateSignupUrl 提供 callbackUrl 後會傳回網址和 completionToken
註冊 使用透過要求提交權杖的 EMM 為呼叫端註冊。
getServiceAccount 傳回服務帳戶和憑證。
setAccount 設定要以企業身分驗證 API 的帳戶。
取消註冊 EMM 可以使用取消註冊功能,將繫結至任一企業類型。必須使用 EMM 的憑證叫用,而非 ESA 憑證。

申請 Google Play 管理版帳戶

這個註冊方法已淘汰。請改用 代管的 Google 網域註冊方法。

受管理 Google 網域申請

您可以將申請程序整合至 EMM 控制台:

Google Play 管理版帳戶管理員申請
圖 1. 代管 Google 網域註冊工作流程

IT 管理員啟動企業建立程序。為此,IT 管理員:

  1. 登入 EMM 控制台。
  2. 點擊或選取「Configure Android」 (例如),系統會重新導向至 Google 代管的註冊 UI。
  3. 在註冊使用者介面中提供企業的詳細資料。
  4. 會重新導向至 EMM 控制台。

IT 管理員的電子郵件地址現已連結至 Google 帳戶,這是代管 Google 網域的管理員帳戶。

最佳做法:遵循 Google 安全性指南,協助確保管理員帳戶安全無虞。

必備條件

IT 管理員專區

  • 存取您的 EMM 控制台,以及在主控台中選擇適當選項所需的權限 (例如「管理 Android」) 做為選單選項。

  • 公司電子郵件地址。這應該屬於機構擁有的網域,而非共用網域 (例如 Gmail.com)

EMM 控制台適用

如要實作代管型 Google Doomain 註冊流程,您的 EMM 控制台必須能夠執行下列操作:

  • 叫用 Play EMM API 呼叫時,請使用 MSA 憑證。在機構的企業服務帳戶 (ESA) 已設定完畢之前,主要服務合約會用於代表 IT 管理員叫用許多作業。

  • 處理透過安全網址重新導向至 Google 提供的外部網站,以啟動註冊流程並完成註冊程序。

  • 可在註冊後使用 ESA 憑證進行設定。由於您的 EMM 控制台可在任何機構的網站內建立許多企業,因此您必須將每個 enterpriseId 與其各自的服務帳戶和憑證建立關聯。請考慮呼叫 Enterprises.getServiceAccount 並使用 Serviceaccountkeys API 處理金鑰管理,為機構建立服務帳戶。詳情請參閱「透過程式建立企業服務帳戶」一文。

Android 註冊程序會要求您提供安全的 (https) 服務,以便在執行階段使用控制台。這項安全服務的網址可以是本機網址,也可以包含工作階段或其他不重複的識別資訊 (只要格式正確),這樣系統才能加以剖析。例如:

https://localhost:8080/enrollmentcomplete?session=12345

註冊程序

註冊程序將在 5 分鐘內完成。下列步驟假設代管 callbackUrl 的伺服器運作正常。這些步驟也假設主控台包含 UI 元件 (例如選取「Manage Android」選項的選單選項),會在通過驗證的 IT 管理員選取選項時啟動註冊程序。

註冊 Google Play 管理版帳戶企業的 12 步驟程序
圖 2. 建立繫結至代管 Google 網域的 12 個步驟
  1. IT 管理員在您的 EMM 控制台中發出註冊要求。

  2. 使用 callbackURL 做為唯一參數呼叫 Enterprises.generateSignupUrl。範例:

    https://localhost:8080/enrollcomplete?session=12345

  3. 回應會包含註冊網址 (在 30 分鐘內有效) 和完成權杖。擷取並儲存完成權杖。

    最佳做法:將完成權杖與啟動註冊的 IT 管理員建立關聯。

  4. generateSignupURL 回應中擷取 url

  5. 重新導向至在步驟 4 擷取的網址。

  6. IT 管理員會按照註冊 UI 中的設定流程建立企業繫結:

    1. IT 管理員會輸入自己和所屬機構的詳細資料,如果還沒有 Google 帳戶,請設定密碼。

    2. IT 管理員會顯示 EMM 名稱,並確認機構將與這個 EMM 建立繫結。

    3. IT 管理員同意 Google 服務條款。

  7. 註冊使用者介面根據步驟 2 中指定的網址產生回呼網址。

  8. 註冊使用者介面會將 IT 管理員重新導向至回呼網址。請擷取企業權杖並儲存至網址例如:

    https://localhost:8080/enrollcomplete?session=12345&enterpriseToken=5h3jCC903lop1

  9. 呼叫 Enterprises.completeSignup,並傳遞 completionToken (步驟 3) 和 enterpriseToken (步驟 8)。

  10. 呼叫會在回應主體中傳回 Enterprises 例項。儲存 idname 和管理員電子郵件地址 (如有) 供日後使用。

  11. 建立企業服務帳戶 (ESA)。ESA 憑證採用電子郵件地址和私密金鑰的形式。建立 ESA 的方法有兩種:

    • 最佳做法:使用 Play EMM API 以程式輔助方式建立 ESA
    • 顯示頁面,指示 IT 管理員在 Google API 控制台中建立 ESA。詳情請參閱「建立服務帳戶」一文 (指示管理員選取「專案」>「編輯者」角色,然後勾選私密金鑰的下載方塊)。IT 管理員建立 ESA 後,請使用 ESA 的私密金鑰憑證設定主控台
  12. 請使用主要服務合約 (MSA) 憑證呼叫 setAccount,為這個機構設定 ESA。

註冊程序完成

  • 新的受管理 Google 網域會繫結至您的 EMM。
  • IT 管理員的 Google 帳戶設為網域管理員,並可存取 https://play.google.com/work 管理機構的應用程式。
  • EMM 控制台可使用 ESA 透過 Google Play EMM API 管理機構的資料。

以程式輔助方式建立 ESA

如要簡化 ESA 的金鑰管理作業,請使用 Google Play EMM API 為機構產生服務帳戶 (而非 Google Cloud 控制台)。透過 Play EMM API 產生的服務帳戶:

  • 不會顯示在您或該機構的任何 Cloud Console 專案中;這些專案必須以程式輔助方式管理。
  • 取消註冊機構時,會一併刪除。

如何透過程式輔助方式產生服務帳戶:

  1. 使用 enterpriseId 呼叫 Enterprises.getServiceAccount (請參閱註冊程序的步驟 10),並指定所需的金鑰類型 (keyType) (googleCredentials、pkcs12)。系統會傳回服務帳戶的名稱和私密金鑰 (採用與 Google API 控制台傳回的格式相同)。

  2. 呼叫 Enterprises.setAccount 並設定機構的服務帳戶。

最佳做法:支援讓 IT 管理員變更 ESA 憑證。如要在 EMM 控制台中執行這項操作,請使用現有的 ESA 呼叫 setAccount

管理服務帳戶金鑰

Enterprises.getServiceAccount 傳回的服務帳戶會由 Google 公開透明地建立。EMM 使用者無法存取這些帳戶。不過,您可以將 Serviceaccountkeys API 整合到主控台,讓機構能夠管理透過程式產生的 ESA 和金鑰。

Serviceaccountkeys API 可讓機構插入、刪除及列出服務帳戶的有效憑證。您必須在授權時叫用這些 API,做為您為機構設定的 ESA 格式,而且 ESA 必須從 getServiceAccount 產生。換句話說,在機構呼叫 Enterprises.setAccount (使用 Enterprises.getServiceAccount 產生的服務帳戶) 後,只有該機構有權叫用 Serviceaccountkeys API 的呼叫來管理帳戶。

資料表 2. Serviceaccountkeys API

欄位
id伺服器指派的 ServiceAccountKey 的不透明不重複字串 ID。
kind使用固定字串 androidenterprise#serviceAccountKey 來識別資源。
類型產生的金鑰資料的檔案格式。可接受的值:
  • googleCredentials
  • pkcs12
資料或曾存取這類資料的人員包含私人憑證檔案主體的字串。建立時填入。不會由 Google 儲存。
方法
delete移除服務帳戶的指定憑證 (以 enterpriseIdkeyId 指定) 並使其失效。
insert為與企業相關聯的服務帳戶產生新憑證。
list列出與企業相關聯的服務帳戶所有使用中的憑證。僅傳回 ID 和金鑰類型。

通知

您可以呼叫 Enterprises.pullNotificationSet,從程式輔助產生的 ESA 取得通知。詳情請參閱「設定 EMM 通知」。

受管理的 Google 網域註冊

如要管理屬於受管理 Google 網域的裝置,您必須在 EMM 控制台、機構與 Google 之間建立連線 (稱為繫結)。

必備條件

機構必須擁有代管的 Google 網域、EMM 註冊權杖和企業服務帳戶 (ESA)。如需 IT 管理員取得這些詳細資料的操作說明,請前往 Android Enterprise 說明中心

受管理的 Google 網域

如果機構的 IT 管理員在申請 Google Workspace 時聲明瞭受管理網域,則可以從 Google 管理控制台啟用 Android 管理服務。如果機構沒有代管 Google 網域,其 IT 管理員必須向 Google 完成一次性網頁註冊流程。

EMM 符記

IT 管理員可以從 Google 管理控制台取得 EMM 權杖 (在「裝置」>「行動裝置與端點」>「設定」>「第三方整合」下方)。

西班牙語

貴機構的 IT 管理員可以在與 EMM 控制台相關聯的專案上,透過 Google Cloud 控制台建立 ESA。ESA 具有名稱、ID 和金鑰,可以針對代表使用者採取的行動驗證帳戶。ID 的格式與電子郵件地址類似,名稱在 @ 符號之前的服務帳戶名稱 (位於 @ 符號之前) 和專案名稱,以及 Google 服務資訊 (例如 some-orgs-esa@myemmconsole313302.iam.gserviceaccount.com)。

註冊程序

  1. IT 管理員可透過 Google 管理控制台取得 EMM 權杖。
  2. IT 管理員會將 EMM 權杖與您共用,讓您可以授權管理其網域中的 Android。
  3. 透過 EMM 控制台使用 EMM 權杖呼叫 Enterprises.enroll。這會將機構的 Android 解決方案繫結至其 Google 網域。
    • enroll 方法會傳回專屬的 enterpriseId,您可以稍後使用 list 方法擷取此資料 (僅適用於代管的 Google 網域)。
    • 您也可以選擇將繫結相關資訊 (enterpriseIdprimaryDomain) 儲存在資料儲存庫中,以避免發出 API 呼叫來取得這些詳細資料。在 Google 帳戶的情境中,機構的 primaryDomain 是向 EMM 和 Google 識別機構的專屬金鑰。
  4. 如要對機構呼叫 Google Play EMM API,請按照下列步驟操作:
    • 您能夠代表機構建立 ESA,或是由管理員建立 ESA,然後提供給您。
    • 您可以透過 EMM 控制台使用 enterpriseId 和 ESA 的電子郵件地址呼叫 setAccount。如此一來,ESA 就能以企業身分驗證 API。

範例

以下範例說明如何根據 primaryDomainNameserviceAccountEmailauthenticationToken 註冊機構:

    public void bind(String primaryDomainName, String serviceAccountEmail,
        String authenticationToken) throws IOException {

      Enterprise enterprise = new Enterprise();
      enterprise.setPrimaryDomain(primaryDomainName);

      Enterprise result = androidEnterprise.enterprises()
          .enroll(authenticationToken, enterprise)
          .execute();

      EnterpriseAccount enterpriseAccount = new EnterpriseAccount();
      enterpriseAccount.setAccountEmail(serviceAccountEmail);
      androidEnterprise.enterprises()
          .setAccount(result.getId(), enterpriseAccount)
          .execute();
    }

本範例使用 Java 的用戶端程式庫,以及 com.google.api.services.androidenterprise.model 套件中的 AndroidEnterprise 服務類別。範例中顯示的程序可總結如下步驟:

  1. 使用 bind 提供的參數建立新的 AndroidEnterprise 物件,模型類別包含主網域名稱、服務帳戶電子郵件地址,以及 EMM 註冊權杖。
  2. 為新建立的 Enterprise 物件指定主網域名稱。
  3. 呼叫註冊方法,提供 enterprise 物件和註冊權杖。
  4. 使用客戶的 ESA ID (serviceAccountEmail) 建立新的 EnterpriseAccount 物件。
  5. 提供 enterpriseId (步驟 3 中傳回) 和 enterpriseAccount 欄位,藉此設定帳戶。

您也可以選擇將繫結相關資訊 (enterpriseIdprimaryDomain) 儲存在資料儲存庫中,以避免發出 API 呼叫來取得這些詳細資料。在 Google 帳戶的情境中,機構的 primaryDomain 是向 EMM 和 Google 識別機構的專屬金鑰。

設定地端部署部署

如果機構要求資料留在網站上,而您無法存取,則您必須確保伺服器不會看到 ESA 的有效憑證組合。如要這麼做,請在網站上產生一組 ESA 憑證並加以儲存:

  1. 完成註冊流程
    1. 如步驟 11 所示,請使用主要服務合約呼叫 getServiceAccount。這會產生 ESA 憑證。
    2. 如步驟 12 所示,在 ESA 上使用 setAccount 設為這個機構的 ESA。
  2. 將 ESA 傳遞至機構的地端部署伺服器。
  3. 請在地端部署伺服器上按照下列步驟操作:
    1. 呼叫 Serviceaccountkeys.insert 為 ESA 建立新的金鑰。這組私密金鑰不會儲存在 Google 伺服器上,而且在帳戶建立時只會傳回一次。他們無法透過其他方式存取。
    2. 使用新的 ESA 憑證呼叫 Serviceaccountkeys.list。這樣做會傳回有效服務帳戶憑證。
    3. 呼叫 Serviceaccountkeys.delete 可刪除所有憑證,「除了」在內部部署建立的 ESA 憑證。
    4. (選用) 呼叫 Serviceaccountkeys.list,驗證目前在內部部署使用的憑證是服務帳戶唯一有效的憑證。

地端部署伺服器現在是唯一具有 ESA 憑證的伺服器。只有透過 getServiceAccount 產生的 ESA 可以存取 ServiceAccountKeys,您的 MSA 不得呼叫此服務。

最佳做法:不要將主要服務帳戶 (MSA) 憑證儲存在內部部署環境中。請為每個地端部署部署作業使用不同的 ESA。

取消註冊、重新註冊或刪除企業繫結

取消註冊

如要解除機構與 EMM 解決方案的繫結,請使用 unenroll。取消註冊時,系統不會刪除企業繫結,但其 EMM 管理的使用者和所有相關的使用者資料會在 30 天後刪除。實作範例如下:

    public void unbind(String enterpriseId) throws IOException {
      androidEnterprise.enterprises().unenroll(enterpriseId).execute();
    }

最佳做法:如果您有機構名稱和企業繫結 ID 對應的資料儲存庫,請在呼叫 unenroll 後從資料儲存庫中刪除資訊。

重新註冊

IT 管理員可以使用現有的 enterpriseId 重新註冊企業。如要這麼做,使用者請使用擁有者層級帳戶登入,並按照註冊程序進行操作。

對您來說,重新註冊流程完全透明:無法判斷重新導向網址 (步驟 8) 傳回的企業權杖是來自新機構,還是先前已註冊其他 EMM 的機構。

如果機構先前已透過 EMM 解決方案註冊,或許可以辨識企業繫結 ID。如果 IT 管理員在機構取消註冊後 30 天內重新註冊機構,您即可還原受 EMM 管理的使用者和相關使用者資料。如果機構先前已透過其他 EMM 註冊,則無法存取由其他 EMM 建立的 EMM 管理使用者的使用者 ID。這是因為這些 User-ID 有 EMM 專屬的 ID。

刪除

IT 管理員可以將機構從 Google Play 管理版中刪除。在 24 小時內,管理員、使用者和您都將無法存取機構的資料、帳戶、授權指派作業及其他資源。因此,您的 API 呼叫會為 enterpriseId 參數傳回 HTTP 404 Not Found 回應狀態碼。如要在 EMM 控制台中處理這個錯誤,請先要求 IT 管理員進行確認,再移除與機構關聯。