配置是指由 enterprise 使用
policies 设置要管理的设备的过程。在此过程中,设备会安装
Android Device Policy,该应用用于接收和强制执行 policies。如果
配置成功,API 会创建一个 devices 对象,将
设备绑定到企业。
Android Management API 使用注册令牌来触发配置过程。您使用的注册令牌和配置方法会确定设备的归属(个人所有或公司所有)和管理模式(工作资料或全托管式受管设备)。
配额系统控制着每个项目可以管理的设备数量。您必须先申请初始设备配额,然后才能配置 第一台设备。
个人所有的设备
Android 5.1 及更高版本
员工拥有的设备可以设置工作资料 。工作资料为工作应用和数据提供了一个独立的空间,与个人应用和数据分开。大多数应用、数据和其他管理 policies 仅适用于
工作资料,而员工的个人应用和数据仍会保持私密性。
如需在个人所有的设备上设置工作资料,创建注册
令牌(确保 allowPersonalUsage 设置为
PERSONAL_USAGE_ALLOWED),然后使用以下配置方法之一:
用于工作和个人用途的公司自有设备
Android 8 及更高版本
通过工作资料 设置公司自有设备后,该设备即可用于工作和个人用途。在装有工作资料的公司自有设备上:
- 大多数应用、数据和其他管理
policies仅适用于工作资料。 - 员工的个人资料仍会保持私密性。不过,企业可以 强制执行某些设备级政策和个人使用政策。
- 企业可以使用
blockScope对 整个设备或仅对其工作资料强制执行合规性操作。 devices.delete和 设备命令 适用于整个设备。
如需通过工作资料设置公司自有设备,请创建注册
令牌(确保
allowPersonalUsage 设置为 PERSONAL_USAGE_ALLOWED),然后使用以下
配置方法之一:
仅用于工作的公司自有设备
Android 5.1 及更高版本
完全设备管理 适用于仅用于工作的公司自有设备。企业可以管理设备上的所有应用,并可以强制执行 Android Management API 的所有政策和命令。
您还可以将设备(通过政策)锁定为单个应用或
少量应用,以实现专用用途或用例。完全托管设备的这一子集称为专用设备 。这些设备的注册令牌必须将allowPersonalUsage设置为
PERSONAL_USAGE_DISALLOWED_USERLESS。
如需在公司自有设备上设置完全管理,请创建注册令牌,
确保 allowPersonalUsage 设置为
PERSONAL_USAGE_DISALLOWED
或
PERSONAL_USAGE_DISALLOWED_USERLESS,
然后使用以下配置方法之一。
政策 可能会影响设备配置期间界面的生成。 此类政策包括:
PasswordPolicyScope:用于确定密码要求。PermittedInputMethods:用于确定软件包输入法。PermittedAccessibilityServices:用于确定全托管式设备和工作资料允许哪些无障碍服务。SetupActions:用于确定在设置期间执行哪些操作。ApplicationsPolicy:用于确定单个应用的政策。
如果您希望在设备配置期间,在安装工作应用 和设备注册卡的同时显示密码步骤,建议您更新 政策,以延迟启动界面生成,方法是将设备保持在 隔离状态(如果注册时没有关联的政策,则会发生这种情况), 直到指定最终选定的设备设置政策,其中填充了与您的设置需求相关的项。设备配置完成后,您可以根据需要更改政策。
创建注册令牌
您需要为要注册的每台设备创建一个注册令牌(您可以为多台设备使用同一个令牌)。如需请求注册令牌,请调用
enterprises.enrollmentTokens.create。注册令牌默认会在一
小时后过期,但您可以指定一个 自定义过期时间 (duration)
,最长可达大约 10,000 年。
如果请求成功,系统会返回一个 enrollmentToken 对象,其中包含
enrollmentTokenId 和 qrcode,IT 管理员和最终用户可以使用它们来
配置设备。
指定政策
您可能还希望在请求中指定 policyName,以便在注册设备的同时应用政策。如果您未指定 policyName,请参阅
注册没有政策的设备。
指定个人使用情况
allowPersonalUsage 用于确定在配置期间是否可以将工作资料添加到设备。设置为 PERSONAL_USAGE_ALLOWED 可让用户创建工作资料(个人所有的设备需要此设置,公司自有设备则为可选设置)。
关于二维码
对于维护许多不同政策的企业来说,二维码是一种高效的设备配置方法。从 enterprises.enrollmentTokens.create 返回的二维码由键值对的有效负载组成,其中包含注册令牌以及 Android Device Policy 配置设备所需的所有信息。
二维码软件包示例
该软件包包含 Android Device Policy 的下载位置和注册令牌。
{
"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME": "com.google.android.apps.work.clouddpc/.receivers.CloudDeviceAdminReceiver",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM": "I5YvS0O5hXY46mb01BlRjq4oJJGs2kuUcHvVkAPEXlg",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "https://play.google.com/managed/downloadManagingApp?identifier=setup",
"android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":{
"com.google.android.apps.work.clouddpc.EXTRA_ENROLLMENT_TOKEN": "{enrollment-token}"
}
}
您可以直接使用从 enterprises.enrollmentTokens.create 返回的二维码,也可以对其进行自定义。如需查看可以包含在
二维码软件包中的属性的完整列表,请参阅创建二维码。
如需将 qrcode 字符串转换为可扫描的二维码,请使用二维码生成器
,例如 ZXing。
配置方法
本部分介绍配置设备的不同方法。
从“设置”中添加工作资料
Android 5.1 及更高版本
如需在设备上设置工作资料,用户可以:
- 依次前往设置 > Google > 设置和恢复 。
- 点按设置您的工作资料 。
这些步骤会启动一个设置向导,该向导会在设备上下载 Android Device Policy。接下来,系统会提示用户扫描二维码或手动输入注册令牌,以完成工作资料设置。
下载 Android Device Policy
Android 5.1 及更高版本
如需在设备上设置工作资料,用户可以从 Google Play 商店下载 Android Device Policy。安装该应用后,系统会提示用户扫描二维码或手动输入注册令牌,以完成工作资料设置。
注册令牌链接
Android 5.1 及更高版本
使用从 enrollmentTokens.create 返回的注册令牌或
企业的 signinEnrollmentToken,
生成以下格式的网址:
https://enterprise.google.com/android/enroll?et=<enrollmentToken>
您可以将此网址提供给 IT 管理员,IT 管理员可以将其提供给最终用户。 当最终用户从其设备打开该链接时,系统会引导他们完成工作资料设置。
登录网址
使用此方法,用户会被定向到一个页面,以输入完成配置所需的任何其他信息。根据用户输入的信息,您可以先计算出适合用户的政策,然后再继续进行设备配置。例如:
在
enterprises.signInDetails[]中指定您的登录网址。如果您希望允许用户创建工作资料(个人所有的设备需要此设置,公司自有设备则为可选设置),请将allowPersonalUsage设置为PERSONAL_USAGE_ALLOWED。将生成的
signinEnrollmentToken作为配置额外信息添加到 二维码、NFC 载荷或 零触摸配置中。或者,您可以直接向用户提供signinEnrollmentToken。选择一个选项:
- 公司自有设备 :开启新设备或已恢复出厂设置的设备后,将
signinEnrollmentToken传递给设备(通过二维码、NFC 触碰等),或要求用户手动输入令牌。设备将打开在第 1 步中指定的登录网址。 - 个人所有的设备:要求用户从
“设置”中添加工作资料。当系统提示时,用户会扫描包含
signinEnrollmentToken的二维码或手动输入令牌。设备将打开在第 1 步中指定的登录网址。 - 个人所有的设备:为用户提供注册令牌
链接,其中注册令牌为
signinEnrollmentToken。设备将打开在第 1 步中指定的登录网址。
- 公司自有设备 :开启新设备或已恢复出厂设置的设备后,将
检查 Google 是否已对用户进行身份验证。使用 GET 参数
provisioningInfo获取设备 配置信息(在设备注册期间),并检查字段authenticatedUserEmail的值。如果此字段中有值,则表示用户已通过 Google 成功完成身份验证,您可以直接使用此身份,无需进行进一步的身份验证。如果 Google 尚未对用户进行身份验证,则您的登录网址应提示用户输入其凭据。根据用户的身份,您可以确定合适的政策,并使用 GET 参数
provisioningInfo获取设备配置信息(在设备注册期间)。调用
enrollmentTokens.create,并根据用户的凭据指定相应的policyId。使用网址重定向返回在第 5 步中生成的注册令牌,格式为
https://enterprise.google.com/android/enroll?et=<token>。
二维码方法
Android 7.0 及更高版本
如需配置公司自有设备,您可以生成二维码并将其显示在 EMM 控制台中:
- 在新设备或已恢复出厂设置的设备上,用户(通常是 IT 管理员)在同一位置点按屏幕 6 次。这会触发设备提示用户扫描二维码。
- 用户扫描您在管理控制台(或类似应用)中显示的二维码,以注册和配置设备。
NFC 方法
Android 6.0 及更高版本
此方法要求您创建一个 NFC 编程器应用,其中包含注册令牌、初始政策和 Wi-Fi 配置、设置以及客户配置完全托管设备或专用设备所需的所有其他配置详细信息。当您或您的客户在 Android 设备上安装 NFC 编程器应用时,该设备会成为编程器设备。
如需详细了解如何支持 NFC 方法,请参阅 Play EMM API 开发者 文档。该网站还包含 推送到设备的默认 参数的示例代码。如需安装 Android Device Policy,请将设备管理员软件包的下载位置设置为:
https://play.google.com/managed/downloadManagingApp?identifier=setup
DPC 标识符方法
如果无法使用二维码或 NFC 添加 Android Device Policy,用户或 IT 管理员可以按照以下步骤配置公司自有设备:
- 在新设备或已恢复出厂设置的设备上按照设置向导操作。
- 输入 Wi-Fi 登录详细信息,将设备连接到互联网。
- 当系统提示您登录时,输入 afw#setup,系统会下载 Android Device Policy。
- 扫描二维码或手动输入注册令牌以 配置设备。
零触摸注册
Android 8.0 及更高版本(Pixel 7.1 及更高版本)
从授权的零触摸设备转销商处购买的设备符合 零触摸注册条件。零触摸注册是一种简化的方法,用于预先配置设备,以便在首次启动时自动配置自身。
组织可以通过零触摸注册门户或使用 EMM 控制台(请参阅零触摸客户 API)为零触摸设备创建包含配置详细信息的配置。首次启动时,零触摸设备会检查是否已分配配置。如果是,设备会下载 Android Device Policy,然后使用其分配的配置中指定的配置额外信息完成设备设置。
如果您的客户使用零触摸注册门户,则需要 为他们创建的每个配置 选择 Android Device Policy 作为 EMM DPC。如需详细了解如何使用该门户(包括如何创建 配置并将其分配给设备),请参阅 Android Enterprise 帮助中心。
如果您希望客户直接从
EMM 控制台设置和分配配置,则需要与 零触摸客户 API 集成。创建配置时,您可以在
dpcExtras 字段中指定配置额外信息。以下 JSON 代码段展示了 dpcExtras 中应包含的内容的基本示例,并添加了登录令牌。
{
"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":"com.google.android.apps.work.clouddpc/.receivers.CloudDeviceAdminReceiver",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":"I5YvS0O5hXY46mb01BlRjq4oJJGs2kuUcHvVkAPEXlg",
"android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":{
"com.google.android.apps.work.clouddpc.EXTRA_ENROLLMENT_TOKEN":"{Sign In URL token}"
}
}
在设置期间启动应用
setupActions 在设置期间启动应用
。在 policies 中,您可以指定一个应用,以便 Android Device Policy 在设备或工作资料设置期间启动该应用。例如,您可以启动 VPN 应用,以便用户可以在设置过程中配置 VPN 设置。该应用必须
返回 RESULT_OK 以发出完成信号,并允许 Android Device Policy
完成设备或工作资料配置。如需在设置期间启动应用,请执行以下操作:
确保应用的 installType 为 REQUIRED_FOR_SETUP。如果无法在设备上安装或启动该应用,配置将会失败。
{
"applications":[
{
"packageName":"com.my.vpnapp.",
"installType":"REQUIRED_FOR_SETUP"
}
]
}
将应用的软件包名称添加到 setupActions。使用 title 和 description 指定面向用户的说明。
{
"setupActions":[
{
"title":{
"defaultMessage":"Configure VPN"
},
"description":{
"defaultMessage":"Enable your VPN client to access corporate resources."
},
"launchApp":{
"packageName":"com.my.vpnapp."
}
}
]
}
如需区分应用是从 launchApp 启动的,请确保作为应用的一部分首次启动的 activity 包含布尔值 intent extra com.google.android.apps.work.clouddpc.EXTRA_LAUNCHED_AS_SETUP_ACTION(设置为 true)。借助此 extra,您可以根据应用是从 setupActions 启动还是由用户启动来定制应用。
应用返回 RESULT_OK 后,Android Device Policy 会完成配置设备或工作资料所需的任何剩余步骤。
在设置期间取消注册
作为 SetupAction 启动的应用可以取消注册,并返回
RESULT_FIRST_USER。
取消注册会重置公司自有设备,或删除个人所有的设备上的工作资料。
注意:取消注册会触发操作,而不会显示用户
确认对话框。应用有责任在返回 RESULT_FIRST_USER 之前向用户显示适当的错误对话框。
将政策应用于新注册的设备
您可以自行决定使用哪种方法将政策应用于新注册的设备,具体取决于客户的要求。您可以使用以下不同的方法:
(推荐) 创建注册令牌时,您可以指定 将最初链接到设备的政策的名称 (
policyName)。当您使用该令牌注册设备时,系统会自动将该政策应用于设备。将政策设置为企业的默认政策。如果在注册令牌中未指定政策名称,并且存在名称为
enterprises/<enterprise_id>/policies/default的政策,则每台新设备在注册时会自动链接到默认政策。订阅 Cloud Pub/Sub 主题,以 接收有关新注册设备的通知。收到
ENROLLMENT通知后,调用enterprises.devices.patch将设备与政策相关联。
注册没有政策的设备
如果设备在没有有效政策的情况下注册,则该设备会被置于隔离区 。在设备链接到政策之前,隔离区中的设备会被阻止使用所有设备功能。
如果设备在五分钟内未链接到政策,则设备注册失败,并且设备会恢复出厂设置。隔离区设备状态让您有机会在解决方案中实现许可检查或其他注册验证流程。
许可检查工作流示例
- 设备在没有默认政策或特定政策的情况下注册。
- 检查企业剩余的许可数量。
- 如果有可用许可,请使用
devices.patch将 政策附加到设备,然后减少许可数量。如果没有可用许可,请使用devices.patch停用设备。 或者,API 会将任何在注册后五分钟内未附加到政策的设备恢复出厂设置。