要通过 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 | 通过 enroll 和 completeSignup 调用返回的组织唯一标识符。 | ||
kind | 使用固定字符串值标识资源类型, “androidenterprise#enterprise ” | ||
name | 关联的组织
enterprise 对象。 | ||
primaryDomain | 未设置 | 因为 Google Play 企业版账号与企业之间 与 Google 网域模型相关联,则此字段仅适用于受管理的 Google 网域。 | |
管理员 [] | 非 设置 | 使用 EMM 发起的注册流程会成为 企业绑定IT 管理员可以使用 Google Play 企业版控制台邀请 组织中的其他用户参与管理任务。请参阅 Google 管理的 Play 帮助中心。 | |
administrator[].email | 未设置 | ||
方法 | |||
completeSignup | 给定 completionToken
和 enterpriseToken ,系统会返回
响应正文。 | ||
generateSignupUrl | 如果有一个 callbackUrl ,
返回一个网址和 completionToken 。 | ||
enroll | 为来电者注册 EMM 令牌随请求一起提交。 | ||
getServiceAccount | 返回服务账号和 凭据。 | ||
setAccount | 设置将用于 以企业身份向 API 进行身份验证 | ||
unenroll | EMM 可将绑定拆分到 使用取消注册的企业类型。必须使用 EMM 调用 MSA 凭据,而不是 ESA 凭据。 |
Google Play 企业版账号注册
此注册方法已弃用。使用 受管理的 Google 域名注册方法。
受管理的 Google 域名注册
您可以在 EMM 控制台中集成注册流程:
![Google Play 企业版账号管理员注册](https://developers-dot-devsite-v2-prod.appspot.com/static/android/work/play/emm-api/images/mgpa-admin-workflow.png?authuser=4&hl=zh-cn)
IT 管理员负责启动企业创建流程。为此,IT 部门 管理员:
- 登录 EMM 控制台。
- 点击或选择配置 Android(举例来说),然后重定向到 由 Google 托管的注册界面。
- 在注册界面中提供有关企业的详细信息。
- 系统会重定向到您的 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](https://developers-dot-devsite-v2-prod.appspot.com/static/android/work/play/emm-api/images/afwa-enroll-enterprise.png?authuser=4&hl=zh-cn)
- </ph>
IT 管理员在您的 EMM 控制台中发起注册请求。
调用
Enterprises.generateSignupUrl
其中callbackURL
是唯一的参数。示例:https://localhost:8080/enrollcomplete?session=12345
响应将包含注册网址(有效期为 30 分钟)和 完成令牌。提取并保存完成令牌。
最佳做法:将完成令牌与 发起了注册。
从
generateSignupURL
响应中提取url
。重定向到第 4 步中提取的网址。
IT 管理员按照注册界面中的设置流程创建一个 企业绑定:
IT 管理员输入关于自己和组织的详细信息, 如果用户还没有 Google 账号,则设置密码。
IT 管理员会看到 EMM 名称,并确认 组织将与此 EMM 绑定。
IT 管理员同意 Google 服务条款。
注册界面会根据第 2 步中指定的网址生成一个回调网址。
注册界面会将 IT 管理员重定向到回调网址。解压并保存 将企业令牌添加到该网址。例如:
https://localhost:8080/enrollcomplete?session=12345&enterpriseToken=5h3jCC903lop1
调用
Enterprises.completeSignup
, 并传递completionToken
(第 3 步)和enterpriseToken
(第 8 步)。该调用会返回
Enterprises
实例 。存储id
、name
和管理员电子邮件地址(如果 以供将来使用。创建企业服务账号 (ESA)。ESA 凭据采用 电子邮件地址和私钥创建 ESA 的方法有两种:
- 最佳做法:以编程方式创建 ESA, 使用 Play EMM API
- 显示一个页面,指示 IT 管理员在 Google Cloud 中 API 控制台。请参阅创建服务 账号 以获取更多详细信息(让管理员选择 项目 >Editor 角色,然后检查私钥下载情况 方框)。IT 管理员创建 ESA 后,为您的控制台配置 欧洲航天局的私钥凭据
使用您的 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 生成的账号:
- 不会显示在属于 您或组织;必须以编程方式进行管理
- 会在以下情况下删除: 取消注册 组织。
如需以编程方式生成服务账号,请执行以下操作:
调用
Enterprises.getServiceAccount
enterpriseId
(请参阅注册流程中的第 10 步) 过程) 并指定所需的密钥类型 (keyType
)(googleCredentials、pkcs12)。 系统会返回服务的服务账号名称和私钥 (采用 Google API 控制台所返回的格式)。调用
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
字段 | |
id | ServiceAccountKey 的不透明唯一字符串标识符 由服务器分配 |
kind | 使用固定字符串标识资源
androidenterprise#serviceAccountKey . |
类型 | 生成的密钥数据的文件格式。可接受以下值:
|
数据 | 包含私有凭据正文的字符串 文件。创建时填充。不会由 Google 存储。 |
方法 | |
删除 | 删除指定凭据,并使
服务账号(使用 enterpriseId 和 keyId 指定)。
|
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)。
注册过程
- IT 管理员通过 Google 管理控制台获取 EMM 令牌。
- IT 管理员会与您分享 EMM 令牌,该令牌将授予您管理 。
- 通过 EMM 控制台,使用 EMM 令牌调用
Enterprises.enroll
. 这样即可将组织的 Android 解决方案与其 Google 网域绑定。enroll
方法会返回一个唯一的enterpriseId
,您可以检索该 (仅适用于受管理的 Google 网域)list
方法。- (可选)您可以存储有关绑定的信息(
enterpriseId
、primaryDomain
),以避免进行 API 调用来获取这些 。在 Google 账号场景中,组织的primaryDomain
是唯一的密钥,用于标识 EMM 和 Google。
- 如需对 Google Play EMM API 进行针对组织的调用,请执行以下操作:
<ph type="x-smartling-placeholder">
- </ph>
- 您可以代表组织创建一个 ESA,或者由管理员创建 然后分享给您
- 通过 EMM 控制台,致电
setAccount
,使用enterpriseId
以及 ESA 的电子邮件地址。这使得欧洲航天局可以 以企业身份向 API 进行身份验证
示例
以下示例展示了如何注册一个给定 primaryDomainName
的组织,
serviceAccountEmail
和authenticationToken
:
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
软件包。示例中显示的过程可总结为以下步骤:
- 使用参数创建一个新的
AndroidEnterprise
对象 由bind
提供,这是一个包含主域名的模型类, 服务账号电子邮件地址和 EMM 注册令牌。 - 指定新创建的企业对象的主域名。
- 调用注册方法,并提供企业对象和注册令牌。
- 使用客户的 ESA ID 创建一个新的 EnterpriseAccount 对象
(
serviceAccountEmail
). - 通过提供
enterpriseId
(在第 3 步中返回)来设置账号 和enterpriseAccount
字段。
(可选)您可以存储有关绑定的信息(enterpriseId
、
primaryDomain
),以避免进行 API 调用来获取这些
。在 Google 账号场景中,组织的 primaryDomain
为
用于向 EMM 和 Google 标识组织的唯一密钥。
设置本地部署
如果某个组织要求其数据保留在站点上,而您无法访问,那么您可以 您需要确保您的服务器永远不会看到 欧洲航天局。为此,请在网站上生成并存储一组 ESA 凭据:
- 完成注册流程:
<ph type="x-smartling-placeholder">
- </ph>
- 如第 11 步中所示,使用主服务协议调用
getServiceAccount
。这个 生成 ESA 凭据。 - 如第 12 步中所示,在 ESA 上使用
setAccount
将其设为 ESA 。
- 如第 11 步中所示,使用主服务协议调用
- 将 ESA 传递到组织的本地服务器。
- 在本地服务器上执行以下步骤:
<ph type="x-smartling-placeholder">
- </ph>
- 调用
Serviceaccountkeys.insert
来创建新的 ESA 密钥。该私钥未存储在 Google 服务器上, 在创建账号时仅返回一次。无法访问 。 - 使用新的 ESA 凭据调用
Serviceaccountkeys.list
. 这将返回有效的服务账号凭据。 - 致电
Serviceaccountkeys.delete
删除除了之前指定的所有 ESA 凭据 刚刚在本地创建的映像 - (可选)致电
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 控制台中处理此错误,请按以下步骤操作:
在删除与
组织。