创建企业绑定

要通过 EMM 控制台注册新组织,您需要创建一个 企业绑定一个 Enterprises 资源表示 EMM 与组织之间的绑定关系。您可以使用它的实例来 代表组织调用操作。

Play EMM API 提供了三种创建企业绑定实例的方法:

  • 受管理的 Google 域名注册 - 此方法可代替其他两种方法。拥有 现有的受管 Google 网域和组织,是初次合作的新成员 Google 将使用相同的注册界面。用户在界面中的体验 因他们的具体情况和需求而异。组织无需 获取 EMM 令牌。

  • Google Play 企业版账号注册 - 有组织想使用 Google Play 企业版账号。您可以将 Google 的 Android 注册界面与您的 EMM 控制台,并为组织提供 快速创建企业绑定实例 您的 EMM。以便为用户和设备启用 Google Play 企业版账号。 此方法有时在 API 中称为 EMM 发起的 文档。此方法已被弃用,取而代之的是受管理的 Google 网域 注册方法。

  • 受管理的 Google 网域注册 - 组织已有受管理的 Google 网域。IT 管理员已完成 一些手动任务,例如通过 Google 验证域名所有权、获取 EMM 令牌和创建企业服务账号。这种方法 在 API 文档中有时称为“Google 启动”。

您可以使用 Enterprises 资源。表 1 显示此绑定资源的相关字段和操作 迁移到 EMM。

表 1:Enterprise API 和替代绑定流程

 Google Play 企业版账号集受管理的 Google 网域 说明
字段
id 通过 enrollcompleteSignup 调用返回的组织唯一标识符。
kind 使用固定字符串值标识资源类型, “androidenterprise#enterprise ”
name 关联的组织 enterprise 对象。
primaryDomain未设置 因为 Google Play 企业版账号与企业之间 与 Google 网域模型相关联,则此字段仅适用于受管理的 Google 网域。
管理员 []非 设置使用 EMM 发起的注册流程会成为 企业绑定IT 管理员可以使用 Google Play 企业版控制台邀请 组织中的其他用户参与管理任务。请参阅 Google 管理的 Play 帮助中心
administrator[].email 未设置
方法
completeSignup 给定 completionTokenenterpriseToken,系统会返回 响应正文。
generateSignupUrl 如果有一个 callbackUrl, 返回一个网址和 completionToken
enroll 为来电者注册 EMM 令牌随请求一起提交。
getServiceAccount 返回服务账号和 凭据。
setAccount 设置将用于 以企业身份向 API 进行身份验证
unenroll EMM 可将绑定拆分到 使用取消注册的企业类型。必须使用 EMM 调用 MSA 凭据,而不是 ESA 凭据。

Google Play 企业版账号注册

此注册方法已弃用。使用 受管理的 Google 域名注册方法。

受管理的 Google 域名注册

您可以在 EMM 控制台中集成注册流程:

Google Play 企业版账号管理员注册
图 1. 受管理的 Google 域名注册 工作流程

IT 管理员负责启动企业创建流程。为此,IT 部门 管理员:

  1. 登录 EMM 控制台。
  2. 点击或选择配置 Android(举例来说),然后重定向到 由 Google 托管的注册界面。
  3. 在注册界面中提供有关企业的详细信息。
  4. 系统会重定向到您的 EMM 控制台。

IT 管理员的电子邮件地址现已与作为管理员的 Google 账号相关联 是受管理的 Google 网域的账号。

最佳做法:遵循 Google 安全措施 指南,帮助保持 管理员账号的安全。

前提条件

面向 IT 管理员

  • 能够访问您的 EMM 控制台,以及执行适当的 (例如,管理 Android,作为菜单选项)。

  • 工作电子邮件地址。该网址应属于 组织,而不是 Gmail.com 等共享网域

对于 EMM 控制台

如要实施受管理的 Google 网域注册流程,请在您的 EMM 控制台 必须能够:

  • 对 Play EMM API 进行调用时,请使用您的 MSA 凭据。您的主服务协议 用于代表 IT 管理员调用许多操作, 已设置组织的企业服务账号 (ESA)。

  • 通过安全网址处理到 Google 提供的外部网站的重定向,以便 启动注册流程并完成注册过程。

  • 注册后可使用 ESA 凭据进行配置。因为您的 EMM 控制台可用于在任意指定组织的 因此您需要一种方法来将每个 enterpriseId 与其自己的服务相关联 账号和凭据可以考虑为 调用 Enterprises.getServiceAccount 来组织组织 以及使用 Serviceaccountkeys API。 请参阅以编程方式创建企业服务账号 了解详情。

Android 注册流程要求您为 您的控制台在运行时的使用情况此安全服务的网址可以是本地网址 可以包含会话或其他唯一标识符 格式正确,以便系统进行解析。例如:

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

注册过程

注册过程所需的时间不会超过 5 分钟。以下步骤 假设托管 callbackUrl 的服务器已启动并运行。这些步骤 还假设您的控制台包含界面组件,例如菜单选项 选择管理 Android 来启动注册流程, 由经过身份验证的 IT 管理员选择此选项

Google Play 企业版账号注册流程分为 12 步
Enterprise
图 2. 创建与代管式 API 的绑定的 12 步流程 Google 网域
<ph type="x-smartling-placeholder">
    </ph>
  1. IT 管理员在您的 EMM 控制台中发起注册请求。

  2. 调用 Enterprises.generateSignupUrl 其中 callbackURL 是唯一的参数。示例:

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

  3. 响应将包含注册网址(有效期为 30 分钟)和 完成令牌。提取并保存完成令牌。

    最佳做法:将完成令牌与 发起了注册。

  4. generateSignupURL 响应中提取 url

  5. 重定向到第 4 步中提取的网址。

  6. IT 管理员按照注册界面中的设置流程创建一个 企业绑定:

    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 的方法有两种:

    • 最佳做法以编程方式创建 ESA, 使用 Play EMM API
    • 显示一个页面,指示 IT 管理员在 Google Cloud 中 API 控制台。请参阅创建服务 账号 以获取更多详细信息(让管理员选择 项目 >Editor 角色,然后检查私钥下载情况 方框)。IT 管理员创建 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 生成的账号:

  • 不会显示在属于 您或组织;必须以编程方式进行管理
  • 会在以下情况下删除: 取消注册 组织。

如需以编程方式生成服务账号,请执行以下操作:

  1. 调用 Enterprises.getServiceAccount enterpriseId(请参阅注册流程中的第 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. 服务账号密钥 API

字段
idServiceAccountKey 的不透明唯一字符串标识符 由服务器分配
kind使用固定字符串标识资源 androidenterprise#serviceAccountKey
类型生成的密钥数据的文件格式。可接受以下值:
  • googleCredentials
  • pkcs12
数据包含私有凭据正文的字符串 文件。创建时填充。不会由 Google 存储。
方法
删除删除指定凭据,并使 服务账号(使用 enterpriseIdkeyId 指定)。
insert为服务账号生成新的凭据 与企业相关联
list列出服务账号的所有有效凭据 与企业相关联仅返回 ID 和密钥类型。

通知

您可以通过以下操作从程序化生成的 ESA 处获取通知: 调用 Enterprises.pullNotificationSet。 请参阅设置 EMM 通知

注册受管理的 Google 网域

要管理属于受管理的 Google 网域的设备,您需要 (称为“绑定”)建立您的 EMM 控制台、组织和 Google。

前提条件

组织必须拥有受管理的 Google 网域、EMM 注册令牌以及 企业服务账号 (ESA)。IT 管理员如何获取 您可以参阅Android Enterprise 帮助 中心

受管理的 Google 网域

如果组织的 IT 管理员声明了受管理的 注册 Google Workspace 后,就可以启用 Android 管理访问权限。如果组织没有 受管理的 Google 网域,则其 IT 管理员必须通过一次性网络 Google 的注册流程。

EMM 令牌

IT 管理员可以从 Google 管理控制台(在设备 > 移动设备和 端点 >设置 >第三方集成)。

ESA

贵组织的 IT 管理员可以创建 ESA,通常: 在与您的 EMM 控制台关联的项目中访问 Google Cloud 控制台。欧洲航天局 具有名称、ID 和密钥(用于对账号进行身份验证) 。ID 的格式与电子邮件地址类似, 以 @ 符号开头的服务账号名称和项目名称 以及 Google 服务信息(例如 some-orgs-esa@myemmconsole313302.iam.gserviceaccount.com)。

注册过程

  1. IT 管理员通过 Google 管理控制台获取 EMM 令牌。
  2. IT 管理员会与您分享 EMM 令牌,该令牌将授予您管理 。
  3. 通过 EMM 控制台,使用 EMM 令牌调用 Enterprises.enroll。 这样即可将组织的 Android 解决方案与其 Google 网域绑定。
    • enroll 方法会返回一个唯一的 enterpriseId,您可以检索该 (仅适用于受管理的 Google 网域) list 方法。
    • (可选)您可以存储有关绑定的信息(enterpriseIdprimaryDomain),以避免进行 API 调用来获取这些 。在 Google 账号场景中,组织的primaryDomain 是唯一的密钥,用于标识 EMM 和 Google。
  4. 如需对 Google Play EMM API 进行针对组织的调用,请执行以下操作: <ph type="x-smartling-placeholder">
      </ph>
    • 您可以代表组织创建一个 ESA,或者由管理员创建 然后分享给您
    • 通过 EMM 控制台,致电 setAccount,使用 enterpriseId 以及 ESA 的电子邮件地址。这使得欧洲航天局可以 以企业身份向 API 进行身份验证

示例

以下示例展示了如何注册一个给定 primaryDomainName 的组织, serviceAccountEmailauthenticationToken

    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 客户端库和 AndroidEnterprise 服务类(位于 com.google.api.services.androidenterprise.model 软件包。示例中显示的过程可总结为以下步骤:

  1. 使用参数创建一个新的 AndroidEnterprise 对象 由 bind 提供,这是一个包含主域名的模型类, 服务账号电子邮件地址和 EMM 注册令牌。
  2. 指定新创建的企业对象的主域名。
  3. 调用注册方法,并提供企业对象和注册令牌。
  4. 使用客户的 ESA ID 创建一个新的 EnterpriseAccount 对象 (serviceAccountEmail)。
  5. 通过提供 enterpriseId(在第 3 步中返回)来设置账号 和 enterpriseAccount 字段。

(可选)您可以存储有关绑定的信息(enterpriseIdprimaryDomain),以避免进行 API 调用来获取这些 。在 Google 账号场景中,组织的 primaryDomain 为 用于向 EMM 和 Google 标识组织的唯一密钥。

设置本地部署

如果某个组织要求其数据保留在站点上,而您无法访问,那么您可以 您需要确保您的服务器永远不会看到 欧洲航天局。为此,请在网站上生成并存储一组 ESA 凭据:

  1. 完成注册流程: <ph type="x-smartling-placeholder">
      </ph>
    1. 如第 11 步中所示,使用主服务协议调用 getServiceAccount。本次 生成 ESA 凭据。
    2. 如第 12 步中所示,在 ESA 上使用 setAccount 将其设为 ESA 。
  2. 将 ESA 传递到组织的本地服务器。
  3. 在本地服务器上执行以下步骤: <ph type="x-smartling-placeholder">
      </ph>
    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。您可以恢复受 EMM 管理的用户 以及相关用户数据(如果 IT 管理员重新注册的组织不超过 30 个) 天后。如果组织之前 是使用不同的 EMM 注册的,即由 您将无法访问其他 EMM。这是因为这些用户 ID 特定于 EMM。

删除

IT 管理员可以从 Google Play 企业版中删除自己的组织。24 小时内 单位数据、账号、许可分配情况和其他 管理员、最终用户和您都无法访问这些资源。作为 结果,您的 API 调用将返回 HTTP 404 Not Found 响应状态代码 为 enterpriseId 参数指定样式。如要在 EMM 控制台中处理此错误,请按以下步骤操作: 在删除与 组织。