身份和用户账号

身份配置(或账号配置)是指设置账号并在保存用户数据的三个系统之间建立连接的过程,在某些情况下,还包括在用户与其设备之间建立连接。

在 Android 企业环境中,有三个不同的系统会保存用户账号信息:

  • 组织的用户目录是有关用户的权威信息来源。
  • 您(EMM 解决方案提供商)必须维护至少包含组织用户的最简目录。
  • Google 会保留有关 Google Play 企业版账号和 Google 账号的一些信息,以便通过 Google Play 提供应用管理服务。

Users 资源表示与企业关联的账号。账号可以专用于特定设备,也可以与拥有多部设备并在所有设备上使用该账号的个人相关联。该账号可以仅提供对受管理的 Google Play 的访问权限,也可以提供对其他 Google 服务的访问权限,具体取决于您如何设置客户的企业

  • 受管理的 Google 账号是由 Google 管理的现有账号。这些账号要求客户使用 Google 作为其身份提供方,或将其组织的的用户目录与 Google 相关联。对于使用受管 Google 账号的企业,Google 负责在设备配置期间对用户进行身份验证。

  • Google Play 企业版账号可让企业通过其企业移动管理 (EMM) 解决方案提供商自动创建受限的用户账号。这些账号仅提供对 Google Play 企业版的访问权限。EMM 全面负责在需要时对用户进行身份验证。对于 Google Play 企业版账号集,这是唯一可用的账号类型。

表 1:Users API 字段和方法

 Google Play 企业版账号受管理的 Google 账号
字段
id
kind
accountIdentifier您创建并映射到 Google Play 返回的 ID (userId) 的唯一标识符。请勿使用个人身份信息 (PII)。未设置。
accountTypedeviceAccount、userAccountuserAccount
displayName您在界面项(例如 Google Play 中)显示的名称。请勿使用个人身份信息。未设置。
managementTypeemmManagedgoogleManaged、emmManaged
primaryEmail未设置。此字段是您用于管理从 Google 管理的网域账号到您系统中的用户账号的同步的主键。
方法
删除
generateAuthenticationToken
generateToken
get
getAvailableProductSet
insert
list
revokeToken
setAvailableProductSet
update

为了改进设备注册流程,我们正在过渡到为所有使用公司身份的员工所用的 Android Enterprise 设备使用受管理的 Google 账号

对于新注册的设备,我们现在建议使用受管理的 Google 账号,而不是受管理的 Google Play 账号。虽然我们会继续为现有用户提供受管理的 Google Play 账号支持,但这些账号只能用于访问受管理的 Google Play 商店。 受管理的 Google 账号可让用户访问全套 Google 服务和跨设备功能。

改进了注册流程

受管理的 Google 账号用于向 Google 验证用户身份。这可实现跨设备体验,例如任务切换、通知和附近分享。在企业领域,用户经常使用多台设备,因此这些功能变得越来越重要。

我们现在强烈建议未使用 Google 作为身份提供商的企业将其现有身份提供商与 Google 相关联。这样一来,在绑定过程中,您就可以为员工创建受管理的 Google 账号。 企业应使用与 EMM 相同的身份提供商。

我们已实施以下更改:

  • 设备注册期间的最终用户身份验证现在由 Google/Android 处理。EMM 的设备政策控制器 (DPC) 要求 Android 在适当的时间点对用户进行身份验证,然后 Android 将已登录用户的身份返回给 DPC。

  • EMM 在请求用户身份验证时,必须向 Android 传递注册令牌。此令牌由对 Android Enterprise API 的 API 调用返回,并且可能编码在 QR、NFC 或零触摸注册载荷中。

虽然 Android 现在可以处理身份验证并将用户身份提供给 EMM,但 EMM 仍有责任将用户身份映射到正确的群组或组织结构。此映射对于向设备应用适当的政策至关重要。因此,企业必须继续将其组织的用户目录关联到其 EMM。

IT 管理员可以启用或停用 Google 提供的全新最终用户身份验证功能。为了向用户提供最佳体验(包括跨设备功能),我们建议 IT 管理员将组织的的用户目录关联到 Google。如果不进行关联,用户将拥有受管理的 Google Play 账号,但无法获享跨设备体验。

所有 EMM 都必须满足一项新要求,即在创建注册和登录令牌时提供额外信息。具体而言,您现在必须指明设备是否为无用户设备(例如自助服务终端或专用设备)。

优势

新流程具有以下主要改进:

  • 简化注册:与标准方法相比,它减少了手动步骤的数量并降低了复杂性。

  • Google 账号支持:您现在可以使用所有配置方法来使用 Google 账号。这样就不再需要受管理的 Google Play 账号。

  • 用户体验更佳:借助受管理的 Google 账号,您可以获得更丰富的 Android 体验,包括强大的跨设备功能,例如共享和复制粘贴。

用户账号的实现

如需了解如何继续完成此新注册流程,请参阅实现用户账号

受管理的 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 账号部署中,组织可以使用 GCDS 工具将其 G Suite 网域中的数据与 LDAP 目录中的数据同步。或者,如果组织授予您相应权限,您也可以使用 GCDS 代表组织执行此操作。

GCDS 工具会调用 Google Directory API 并同步用户名,但不会同步密码。

如果组织使用 Microsoft Active Directory,并希望将用户的 G Suite 密码与其 Active Directory 密码保持同步,那么组织或您可以使用 G Suite Password Sync (GSPS) 工具与 GCDS 搭配使用。

有关面向管理员的 GCDS 说明,请参阅为 G Suite 网域做好同步准备

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 文档中的检索所有账号用户

  • 使用 Directory API 进行目录同步和可选的密码同步。 如果您对组织的受管理 Google 网域拥有读写权限,则可以使用 Google Directory API 获取用户名、密码和其他 Google 账号信息。您可以更新此信息并将其与您自己的数据库同步,并且您可能需要对账号生命周期承担全部或部分责任,具体取决于您向客户提供的解决方案。

    场景 2 更全面地描述了这种情况。

    如需详细了解如何使用 Directory API 管理用户账号信息,请参阅开发者指南:Directory API - 用户账号

Google 账号使用场景

以下部分介绍了几个典型的 Google 账号身份配置场景。

方案 1:客户负责账号生命周期

使用 Directory API(具有只读访问权限)和 GCDS

在这种情况下,您的客户会为其用户创建和维护 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 负责账号生命周期

使用具有读写权限的 Directory API

在这种情况下,您需要代表客户处理 Google 账号创建流程,并负责用户账号的生命周期。

例如,当组织 LDAP 目录中的用户信息发生变化时,您负责更新用户的 Google 账号。在此方案中,不使用 GCDS。

在这种情况下:

  • 您对 Google 账号拥有读写权限。
  • 您的数据库会获取 Google 账号名称和 LDAP 用户名(以及可选的密码哈希值)。
  • 您代表客户使用 Google Directory API 读取和写入组织用户的账号信息。(您可获取的信息是 Users.get 请求返回的不可写入信息)。您可以使用此信息来验证用户的 Google 账号是否存在,以便用户可以向其设备进行身份验证。
  • 不使用 GCDS 工具。

基于 SAML 的单点登录身份验证方案

在 Google 账号部署中,您或您的客户可能会将安全断言标记语言 (SAML) 与身份提供方 (IdP) 搭配使用,以对与每位用户关联的 Google 账号进行身份验证。您可以使用 Google 账号名称来验证用户的 Google 账号是否存在,这对于用户登录设备时的用户身份验证是必需的。例如,SAML 可用于方案 2。如需详细了解如何进行此设置,请参阅为 G Suite 账号设置单点登录 (SSO)