身分佈建 (或帳戶佈建) 是指設定帳戶,並在這三個系統之間建立連線的程序,有時也包括設定使用者與裝置之間的連線。

在 Android 企業環境中,最多有三個不同的系統會保存帳戶資訊:
- 機構的使用者目錄是使用者資訊的最終來源。
- 您 (EMM 解決方案供應商) 必須維護機構使用者目錄,至少要包含最基本的部分。
- Google 會保留 Google Play 管理版帳戶和 Google 帳戶的部分資訊,以便透過 Google Play 提供應用程式管理功能。
Users 資源代表與企業相關聯的帳戶。帳戶可以專屬於某個裝置,也可以與擁有數個裝置 (手機、平板電腦等) 的使用者建立關聯,並在所有裝置上使用該帳戶。視您設定客戶企業的方式而定,帳戶可提供 Google Play 管理版存取權,或提供其他 Google 服務存取權:
企業可透過企業行動管理 (EMM) 解決方案供應商,以Google Play 管理版帳戶自動建立使用者或裝置帳戶,過程公開透明。這些帳戶只提供 Google Play 管理版的存取權。
Google 帳戶是由 Google 管理的現有帳戶,需要與 Google 帳戶來源同步。
表 1:Users API 欄位和方法
| Google Play 管理版帳戶 | Google 管理的帳戶 | |
|---|---|---|
| 欄位 | ||
| id | ||
| kind | ||
| accountIdentifier | 您建立並對應至 Google Play 傳回 ID (userId) 的專屬 ID。請勿使用個人識別資訊 (PII)。 | 未設定。 |
| accountType | deviceAccount、userAccount | userAccount |
| displayName | 您在 UI 項目中顯示的名稱,例如 Google Play 內。請勿使用個人識別資訊。 | 未設定。 |
| managementType | emmManaged | googleManaged、emmManaged |
| primaryEmail | 未設定。 | 這個欄位是主要鍵,您可藉此將 Google 管理的網域帳戶同步至系統中的使用者帳戶。 |
| 方法 | ||
| 刪除 | ||
| generateAuthenticationToken | ||
| generateToken | ||
| get | ||
| getAvailableProductSet | ||
| insert | ||
| list | ||
| revokeToken | ||
| setAvailableProductSet | ||
| update | ||
Google Play 管理版帳戶
受管理 Google Play 帳戶分為兩種:
- 使用者帳戶
- 讓單一使用者從所有裝置存取 Google Play 管理版。 您必須為使用者佈建使用者帳戶,因為他們沒有憑證,無法自行新增 Google Play 管理版帳戶。
- 如要建立使用者帳戶,請呼叫
Users.insert。將帳戶類型設為userType,並設定accountIdentifier,這會參照企業內的使用者。 - 最佳做法:不要在超過 10 部裝置上使用同一個帳戶。
- 裝置帳戶
- 從單一裝置存取 Google Play 管理版。如果已為裝置帳戶核發驗證權杖,針對該裝置帳戶提出新的驗證權杖要求時,系統會停用先前的權杖。每部裝置都必須具備各自的應用程式授權。
- 如要建立裝置帳戶,請呼叫
Users.insert,並將帳戶類型設為deviceType。

您需要建立並維護使用者或裝置身分與對應 Google Play 管理版帳戶之間的對應關係,並在帳戶生命週期內管理帳戶。機構不需要直接控管這些 Google Play 管理版帳戶,因為這些帳戶僅用於管理應用程式。
EMM 控制台和伺服器需求
您可以透過 Google Play EMM API 和 Android 架構 API,在 EMM 解決方案的各個元件 (EMM 控制台、EMM 伺服器和裝置政策控制器) 中,以程式輔助方式隨選建立 Google Play 管理版帳戶。這些元件會在執行階段互動,建立使用者帳戶,並在目標裝置上佈建工作資料夾。
EMM 控制台或伺服器必須符合下列條件:
提供建立專屬匿名帳戶 ID (
accountIdentifier欄位) 的機制,以便在呼叫Users.insert時使用。舉例來說,您可能會使用使用者的內部值 (「sanjeev237389」),或是神祕的資產標記號碼 (「asset#44448」)。請勿使用個人識別資訊 (PII) 做為帳戶 ID。儲存
userId(從insert呼叫傳回) 與您選取的accountIdentifier之間的對應。
如要瞭解 DPC 的需求,請參閱「建構裝置政策控制器」。
建立 Google Play 管理版使用者帳戶
- 使用者 (通常) 會使用公司憑證登入 DPC。
- DPC 會向 EMM 伺服器或控制台要求使用者的詳細資料。
假設系統無法辨識使用者:
- 呼叫
Users.insert,並提供新accountIdentifier、displayName和accountType的值,即可提交新的 Google Play 管理版帳戶要求。- 系統必須建立
accountIdentifier。帳戶 ID 在系統中不得重複。請勿使用 PII 做為帳戶 ID。 displayName會顯示在 Google Play 商店的帳戶切換器中,且應對使用者有意義 (但不得包含使用者的個人識別資訊)。例如,名稱可以包含機構名稱,或是與 EMM 相關的通用名稱。- 將
accountType設為userAccount或deviceAccount。userAccount可在多部裝置上使用,而deviceAccount則專屬於單一裝置。指定的accountType可以是deviceType或userType。 - 將
managementType設為emmManaged。
- 系統必須建立
- Google Play 會處理要求、建立帳戶,並傳回
userId。 - 在資料儲存庫中儲存
accountIdentifier和userId之間的對應關係。 - 使用
userId和enterpriseId呼叫Users.generateAuthenticationToken。Google Play 會傳回只能使用一次的驗證權杖,且必須在幾分鐘內使用。 - 安全地將驗證權杖轉送至 DPC。
- 呼叫
- DPC 會佈建工作資料夾,並將帳戶新增至工作資料夾或裝置。
- 使用者可以在工作資料夾或裝置中存取 Google Play 管理版。
管理員帳戶
管理員使用 Google Play 管理版帳戶建立企業時,不能使用 Google Workspace 帳戶。他們使用的帳戶會成為企業的擁有者,而擁有者可以在 Google Play 管理版 管理中心新增更多擁有者和管理員。
Enterprises.get 和
Enterprises.completeSignup
都會傳回與企業相關聯的管理員電子郵件地址清單 (僅限使用 Google Play 管理版帳戶的企業)。
管理帳戶生命週期
在 Google Play 管理版帳戶部署作業中,您必須負責使用者和裝置帳戶的生命週期,也就是建立、更新及刪除這些帳戶。
您會在裝置佈建期間建立帳戶,這個程序會用到 DPC 應用程式和 EMM 控制台。如需操作說明,請參閱Google Play 管理版帳戶方法。
如要變更帳戶資訊,請呼叫 Users.update。
如要刪除帳戶,請呼叫 Users.delete。
管理員無法刪除個別帳戶,但可以刪除 Google Play 管理版帳戶企業。這麼做之後,與企業相關聯的裝置和使用者帳戶最終會遭到刪除,詳情請參閱「取消註冊、重新註冊、刪除」一文。
帳戶到期
帳戶或權杖偶爾會過期,原因如下:
- 用於將帳戶新增至裝置的驗證權杖已過期。
- 帳戶或企業已刪除。
- 如果是裝置帳戶,帳戶已新增至新裝置,因此舊裝置上的帳戶會停用。
- 系統會觸發自動濫用檢查。
- 如果裝置離線超過 270 天,系統可能會在批次清除程序中刪除裝置資訊。
在大多數情況下 (除非 EMM 刻意將裝置帳戶移至新裝置),最佳做法是使用 Google Play EMM API 向 EMM 伺服器要求新權杖,記下帳戶和企業的狀態以及任何傳回的錯誤,然後在裝置上採取適當行動。例如更新權杖,或在錯誤無法復原時重設或取消註冊裝置。
如要正確更新權杖,請按照下列步驟操作:
- 請致電
users.generateAuthenticationToken,為帳戶申請新的驗證權杖。 - 如果呼叫成功,請移除現有帳戶,然後使用 DPC 支援程式庫新增帳戶。
- 如果通話失敗,請從裝置移除帳戶,然後使用
users.insert建立新使用者,產生驗證權杖並將帳戶新增至裝置。
Google Play 服務 9.0.00 版會使用以下廣播動作,通知 DPC 帳戶已過期:
當裝置上的 Google Play 管理版 帳戶失效時,裝置政策控制器 (DPC) 會收到含有下列動作的廣播:
com.google.android.gms.auth.ACCOUNT_REAUTH_REQUIRED
廣播意圖包含名稱為
account的Parcelable額外項目,這是失效帳戶的物件。AccountDPC 會向 EMM 伺服器檢查
Account#name,找出無效帳戶。DPC 會要求提供新憑證或新帳戶,流程與佈建裝置時相同。
Google 帳戶
如果機構使用 Google 帳戶,EMM 解決方案中的使用者帳戶會反映與其他 Google 服務 (例如 Google Workspace) 相關聯的現有使用者帳戶。這些帳戶是 googleManaged (表 1),因為帳戶的建立和相關資訊都來自 Google 的後端服務。
EMM 可以在控制台中提供機制,方便您使用 Google Cloud Directory Sync (GCDS) 和 Google Admin SDK Directory API 等工具,建立系統中的使用者帳戶,並持續與 Google 網域帳戶來源同步處理。如需各種方法的總覽,Google 管理的網域身分識別模型要求使用者帳戶必須存在於解決方案 (EMM 控制台、EMM 伺服器,可能位於資料存放區) 的環境中,才能在工作資料夾環境中,佈建至使用者的任何裝置。
在佈建身分期間,系統會使用使用者帳戶填入機構的 Google 管理網域。在某些情況下,系統會將使用者現有的線上身分 (例如 Microsoft Exchange 帳戶) 與 Google 帳戶同步處理。
完成初始同步處理後,應用程式會先發布到使用者的裝置,但使用者必須先啟用 Google 帳戶,才能使用應用程式,詳情請參閱「在裝置上啟用帳戶」。啟用後,裝置就能存取 Google Play 管理版。
同步處理客戶帳戶
在 Google 帳戶部署作業中,機構可以透過 GCDS 工具,將 Google Workspace 網域中的資料與 LDAP 目錄中的資料同步處理。或者,如果貴機構授予您存取權,您也可以使用 GCDS 代表機構執行這項操作。
GCDS 工具會呼叫 Google Directory API 並同步處理使用者名稱,但不會同步處理密碼。
如果貴機構使用 Microsoft Active Directory,並希望使用者 Google Workspace 密碼與 Active Directory 密碼保持同步,請參閱「準備使用 Password Sync」。
如需管理員適用的 GCDS 操作說明,請參閱「授權給您的 Google 帳戶」。
Google Directory API
在 Google 帳戶部署作業中,您可以使用 Google Directory API 同步處理 Active Directory、密碼或兩者:
使用 Directory API 進行僅限目錄的同步作業。如果您對機構的受管理 Google 網域具有唯讀存取權,可以使用 Google Directory API 從 Google 取得 Google 帳戶資訊,例如使用者名稱 (但不包括密碼)。由於您無法將任何資料寫入使用者的 Google 帳戶,因此機構必須全權負責帳戶生命週期。
情境 1 和 SAML 式單一登入 (SSO) 驗證情境更完整地說明瞭這種情況。
如要瞭解如何以這種方式使用 Directory API,請參閱 Directory API 說明文件中的「Retrieve all account users」(擷取所有帳戶使用者)。
使用 Directory API 同步處理目錄和選用密碼。如果您擁有機構受管理 Google 網域的讀寫權,可以使用 Google Directory API 取得使用者名稱、密碼和其他 Google 帳戶資訊。您可以更新這項資訊並與自己的資料庫同步,而且視您為客戶提供的解決方案而定,您可能要全權或部分負責帳戶生命週期。
情境 2 更完整地說明瞭這種情況。
如要進一步瞭解如何使用 Directory API 管理使用者帳戶資訊,請參閱開發人員指南:Directory API - 使用者帳戶。
Google 帳戶情境
以下說明幾個常見的 Google 帳戶身分佈建情境。
情境 1:客戶負責帳戶生命週期

在這個情境中,客戶會為使用者建立及維護 Google 帳戶。
您會從機構的 LDAP 目錄取得使用者帳戶資訊,並透過 Google Directory API,將這些資訊與從 Google 取得的 Google 帳戶資料建立關聯。
機構須全權負責帳戶生命週期。舉例來說,當建立新的 Google 帳戶時,機構會將使用者新增至 LDAP 目錄。下次將資料庫與 LDAP 目錄同步時,資料庫就會收到這位新使用者的資訊。
此時:
- 您只有 Google 帳戶的唯讀存取權。
- 資料庫會取得 Google 帳戶名稱,但不會取得 LDAP 使用者名稱或密碼。
- 您可以使用 Google Directory API 取得客戶使用者的基本帳戶資訊。(您可用的資訊是
Users.get要求傳回的不可寫入資訊)。您可以使用這項資訊驗證使用者的 Google 帳戶是否存在,讓使用者在裝置上進行驗證。 - 客戶使用 GCDS 工具進行單向同步,以填入使用者的 Google 帳戶。(機構可能也會在身分佈建完成後,使用 GCDS 進行持續同步。)此外,機構也可以視需要使用 GSPS 工具,同步處理使用者名稱和密碼。
情境 2:EMM 負責帳戶生命週期

在這個情境中,您會代表客戶處理建立 Google 帳戶的程序,並負責管理使用者的帳戶生命週期。
舉例來說,如果機構的 LDAP 目錄中使用者資訊有異動,您必須負責更新使用者的 Google 帳戶。在此情境中,不會使用 GCDS。
此時:
- 您擁有 Google 帳戶的讀寫權限。
- 資料庫會取得 Google 帳戶名稱和 LDAP 使用者名稱 (以及密碼雜湊值,視需要)。
- 您代表客戶使用 Google Directory API,讀取及寫入機構使用者帳戶資訊。(您可用的資訊是
Users.get要求傳回的不可寫入資訊)。您可以使用這項資訊驗證使用者的 Google 帳戶是否存在,讓使用者在裝置上進行驗證。 - 未使用 GCDS 工具。
SAML 式單一登入 (SSO) 驗證情境
在 Google 帳戶部署作業中,您或客戶可能會搭配使用安全宣告標記語言 (SAML) 和識別資訊提供者 (IdP),驗證與每位使用者相關聯的 Google 帳戶。您可以使用 Google 帳戶名稱驗證使用者的 Google 帳戶是否存在,使用者登入裝置時需要進行這項驗證。舉例來說,SAML 可用於情境 2。如要瞭解如何設定,請參閱「關於單一登入 (SSO)」。
在裝置上啟用帳戶
如要透過 Google Play 管理版將應用程式發布到使用者裝置,使用者必須在裝置佈建期間登入裝置:
- 在Google Play 管理版帳戶裝置佈建中,DPC 會引導使用者使用 EMM 控制台接受的憑證登入,通常是公司電子郵件憑證。
- 在 Google 帳戶部署作業中,DPC 會引導使用者輸入 Google 帳戶登入憑證。通常,這些憑證與使用者登入公司網域時的憑證相符,前提是使用者已透過 GCDS 或 GSPS 同步處理,或是機構使用 IdP 進行驗證。這會啟用使用者的 Google 帳戶、產生專屬裝置 ID,並繫結使用者的 Google 帳戶身分和裝置的裝置 ID。