Product Documentation

Android at Work

Feb 27, 2017

Android at Work(以前称为 Android for Work)是运行 Android 5.0 及更高版本的 Android 设备上提供的一个安全工作区。该工作区将企业帐户、应用程序和数据与个人帐户、应用程序和数据隔离开来。在 XenMobile 中,通过允许用户在其设备上创建单独的工作配置文件来管理自带设备 (BYOD) 以及公司拥有的 Android s设备。通过结合使用硬件加密以及您所部署的策略,可以安全地隔离设备上的企业和个人区域。您可以在不影响用户个人区域的情况下,远程管理或擦除所有公司策略、应用程序和数据。有关支持的 Android 设备的详细信息,请参阅 Google Android Enterprise Web 页面。

使用 Google Play 可添加、购买和审批应用程序,以便部署到设备上的 Android at Work 工作区。可以使用 Google Play 部署您的私有 Android 应用程序,以及公共和第三方应用程序。向 XenMobile 中添加面向 Android at Work 的付费公共应用商店应用程序时,可以查看批量购买许可状态。该状态显示可用许可证总数、现在正在使用的数量以及占用这些许可证的每个用户的电子邮件地址。有关向 XenMobile 中添加应用程序的详细信息,请参阅向 XenMobile 中添加公共应用商店应用程序

Android at Work 的要求:

  • 可公开访问的域
  • Google 管理员帐户
  • 支持托管配置文件并且运行 Android 5.0+ Lollipop 的设备
  • 安装了 Google Play 的 Google 帐户
  • 用户设备上设置的工作配置文件

必须执行以下操作,才能设置 Android at Work 应用程序限制:

  • 在 Google 上完成 Android at Work 设置任务。
  • 创建一组 Google Play 凭据。
  • 配置 Android at Work 服务器设置。
  • 至少创建一个 Android at Work 设备策略。
  • 在 Google Play 应用商店中添加、购买和审批 Android at Work 应用程序。

管理 Android at Work 时可以使用以下链接:

Android at Work 必备条件

必须先执行以下操作,才能在 XenMobile 中管理 Android at Work:

  • 创建 Android at Work 帐户。
  • 设置一个服务帐户。
  • 下载 Android at Work 证书
  • 启用并授权 Google Admin SDK 和 MDM API。
  • 授权服务帐户使用目录和 Google Play。
  • 获取一个绑定的令牌。

以下部分将分别介绍如何执行这些任务。完成这些任务后,可以创建一组 Google Play 凭据,配置 Android 设置,并在 XenMobile 中管理 Android 应用程序。有关创建一组凭据的详细信息,请参阅 Google Play 凭据

创建一个 Android at Work 帐户

必须满足以下必备条件,才能设置 Android at Work 帐户:

  • 拥有域名;例如 example.com。
  • 允许 Google 验证您是否拥有该域。
  • 通过企业移动性管理 (EMM) 提供程序(例如 XenMobile 10.1 或更高版本)启用和管理 Android at Work。

如果已向 Google 验证您的域名,可以跳至此步骤:设置 Android at Work 服务帐户并下载 Android at Work 证书

此时将显示以下页面,您可以在此页面中键入管理员和公司信息。

localized image

2. 键入管理员用户信息。

localized image

2. 键入您的公司信息(管理员帐户信息除外)。

localized image

此过程中的第一个步骤已完成,请继续查看下面的页面。

localized image

验证域所有权

允许 Google 通过以下方式之一验证您的域:

  • 将 TXT 或 CNAME 记录添加到域主机的 Web 站点。
  • 向域的 Web 服务器上载 HTML 文件。
  • 向您的主页添加 标记。Google 建议使用第一种方法。本文不包含验证域所有权的步骤,但您可以从以下网址找到所需的信息:https://support.google.com/a/answer/6095407/

1. 单击 Start(开始)开始验证您的域。

此时将显示 Verify domain ownership(验证域所有权)页面。请按照此页面上显示的说明验证您的域。

2. 单击 Verify(验证)。

localized image
localized image

3. Google 验证您的域所有权。

localized image

4. 成功验证后,将显示以下页面。单击继续

localized image

5. Google 创建一个需要向 Citrix 提供的 EMM 绑定令牌,您在配置 Android at Work 设置时需要使用该令牌。复制并保存该令牌;稍后的设置过程中需要使用该令牌。

localized image

6. 单击 Finish(完成)以完成 Android at Work 设置。此时将显示一个页面,指示您已成功验证您的域。

创建 Android at Work 服务帐户后,可以登录 Google 管理控制台管理您的移动性管理设置。

设置 Android at Work 服务帐户并下载 Android at Work 证书

要允许 XenMobile 联系 Google Play 和 Directory 服务,必须使用面向开发人员的 Google 项目门户创建新服务帐户。此服务帐户用于 XenMobile 与适用于 Android 的 Google 服务之间的服务器至服务器通信。有关所使用的身份验证协议的详细信息,请参阅 https://developers.google.com/identity/protocols/OAuth2ServiceAccount

1. 在 Web 浏览器中,转至 https://console.cloud.google.com/project 并使用您的 Google 管理员凭据登录。

2. 在 Projects(项目)列表中,单击 Create Project(创建项目)。

localized image

3. 在 Project name(项目名称)中,键入项目的名称。

localized image

4. 在“Dashboard”(控制板)上,单击 Use Google APIs(使用 Google API)。

localized image

5. 单击 Library(库),在 Search(搜索)中,键入 EMM,然后单击搜索结果。

localized image

6. 在 Overview(概览)页面上,单击 Enable(启用)。

localized image

7. 在 Google Play EMM API 旁边,单击 Go to Credentials(转至凭据)。

localized image

8. 在 Add credentials to our project(向我们的项目中添加凭据)列表中,在步骤 1 中单击 service account(服务帐户)。

localized image

9. 在 Service Accounts(服务帐户)页面上,单击 Create Service Account(创建服务帐户)。

localized image

10. 在 Create service account(创建服务帐户)中,命名该帐户,然后选中 Furnish a new private key(提供新私钥)复选框。单击 P12,选中 Enable Google Apps Domain-wide Delegation(启用 Google App 域范围的委派)复选框,然后单击 Create(创建)。

localized image

证书(P12 文件)将下载到您的计算机。请务必将该证书保存到一个安全的位置。

11. 在 Service account created(已创建服务帐户)确认屏幕上,单击 Close(关闭)。

localized image

12. 在 Permissions(权限)中,单击 Service accounts(服务帐户),然后在您的服务帐户对应的 Options(选项)下,单击 View Client ID(查看客户端 ID)。

localized image

13. 此时将显示 Google 管理控制台上的帐户授权所需的详细信息。将 Client ID(客户端 ID)和 Service account ID(服务帐户 ID)复制到以后能够从中检索信息的位置。需要提供此信息以及域名,才能发送给 Citrix 技术支持用于添加到白名单。

localized image

14. 在 Library(库)页面上,搜索 Admin SDK(管理 SDK),然后单击搜索结果。

localized image

15. 在 Overview(概览)页面上,单击 Enable(启用)。

localized image

16. 打开您的域对应的 Google 管理控制台,然后单击 Security(安全)。

localized image

17. 在 Settings(设置)页面上,单击 Show more(显示更多),然后单击 Advanced settings(高级设置)。

localized image
localized image

18. 单击 Manage API client access(管理 API 客户端访问)。

localized image

19. 在 Client Name(客户端名称)中,输入您之前保存的客户端 ID,在 One or More API Scopes(一个或多个 API 作用域)中,键入 https://www.googleapis.com/auth/admin.directory.user,然后单击 Authorize(授权)。

localized image

绑定到 EMM

必须先联系 Citrix 技术支持并提供您的域名、服务帐户和绑定令牌,才能使用 XenMobile 管理您的 Android 设备。Citrix 会将该令牌绑定到 XenMobile 作为企业移动性管理 (EMM) 提供程序。有关 Citrix 技术支持的联系信息,请参阅 Citrix 技术支持。

1. 要确认绑定,请登录 Google 管理门户,然后单击 Security(安全)。

2. 单击 Manage EMM provider for Android(管理适用于 Android 的 EMM 提供程序)。

您将看到自己的 Google Android for Work 帐户绑定到 Citrix,用作 EMM 提供程序。

确认令牌绑定后,可以开始使用 XenMobile 控制台管理您的 Android 设备。导入在步骤 14 中生成的 P12 证书。设置 Android at Work 服务器设置,启用基于 SAML 的单点登录 (SSO),并至少定义一条 Android for Work 设备策略。

localized image

导入 P12 证书

请按照以下步骤导入 Android at Work P12 证书:

1. 登录到 XenMobile 控制台。

2. 单击控制台右上角的齿轮图标以打开设置页面,然后单击证书。此时将显示证书页面。

localized image

3. 单击导入。此时将显示导入对话框。

localized image

配置以下设置:

  • 导入:在列表中,单击密钥库
  • 密钥库类型:在列表中,单击 PKCS#12
  • 用作:在列表中,单击服务器
  • 密钥库文件:单击浏览,然后导航到 P12 证书。
  • 密码:键入密钥库密码。
  • 说明:(可选)键入证书的说明。

4. 单击导入

设置 Android at Work 服务器设置

1. 在 XenMobile 控制台中,单击控制台右上角的齿轮图标。此时将显示设置页面。

2. 在服务器下,单击 Android for Work。此时将显示 Android for Work 页面。

localized image

配置以下设置:

  • 域名:键入 Android at Work 的域名,例如 domain.com。
  • 域管理员帐户:键入域管理员的用户名,例如,用于 Google 开发人员门户的电子邮件帐户。
  • 服务帐户 ID:键入服务帐户 ID,例如,Google 服务帐户中关联的电子邮件 (serviceaccountemail@xxxxxxxxx.iam.gserviceaccount.com)。
  • 启用 Android for Work:单击可启用或禁用 Android at Work。

3. 单击保存

启用基于 SAML 的单点登录

1. 登录到 XenMobile 控制台。

2. 单击控制台右上角的齿轮图标。此时将显示设置页面。

3. 单击证书。此时将显示证书页面。

localized image

3. 在证书列表中,单击 SAML 证书。

4. 单击导出并将证书保存到您的计算机。

5. 使用您的 Android at Work 管理员凭据登录到 Google 管理门户。有关门户的访问权限,请参阅 Google 管理门户

6. 单击 Security(安全)。

localized image

7. 在 Security(安全)下,单击 Set up single sign-on (SSO)(设置单点登录(SSO)),然后配置以下设置。

localized image
  • 登录页面 URL:键入用户登录您的系统和 Google 应用程序使用的 URL。例如:https:///aw/saml/signin。
  • 注销页面 URL:键入注销时用户被定向到的 URL。例如:https:///aw/saml/signout。
  • Change password URL(更改密码 URL):键入 URL 以允许用户更改其系统中的密码。例如:https:///aw/saml/changepassword。如果定义了此字段,用户将看到此提示,即使 SSO 不可用时也是如此。
  • Verification certificate(验证证书):单击 CHOOSE FILE(选择文件)并导航到从 XenMobile 导出的 SAML 证书。

8. 单击 SAVE CHANGES(保存更改)。

设置 Android at Work 设备策略

最好设置通行码策略,以便用户在首次注册时必须在其设备上创建通行码。

localized image

设置任何设备策略的基本步骤如下。

1. 登录到 XenMobile 控制台。

2. 单击配置,然后单击设备策略

3. 单击添加,然后在添加新策略对话框中选择要添加的策略。在此示例中,请单击通行码

4. 完成策略信息页面。

5. 单击 Android for Work 并配置策略设置。

6. 将策略分配到交付组。

有关设置适用于 Android for Work 的其他设备策略的详细信息,请参阅 XenMobile 设备策略(按平台)

配置 Android at Work 帐户设置

您必须在 XenMobile 中设置 Android at Work 域和帐户信息,才能开始管理设备上的 Android 应用程序和策略。首先,请在 Google 上完成 Android at Work 设置任务以设置域管理员,并获取服务帐户 ID 和绑定令牌。

1. 在 XenMobile Web 控制台中,单击右上角的齿轮图标。此时将显示设置页面。

2. 在服务器下,单击 Android for Work。此时将显示 Android for Work 配置页面。

localized image

3. 在 Android for Work 页面上,配置以下设置:

  • 域名:键入域名。
  • 域管理员帐户:键入域管理员用户名。
  • 服务帐户 ID:键入 Google 服务帐户 ID。
  • 启用 Android for Work:选择是否启用 Android for Work。

4. 单击保存

在 Android at Work 中置备设备所有者模式

如果要在设备所有者模式下置备 Android at Work,必须在两个设备之间通过近场通信(NFC)碰撞传输数据。其中一个必须运行 XenMobile Provisioning Tool,并且必须将另一个还原到其出厂设置。设备所有者模式仅适用于企业拥有的设备。

为什么通过 NFC?蓝牙、Wi-Fi 和其他通信模式在恢复出厂设置的设备上处于禁用状态。NFC 是此状态下设备可以使用的唯一通信协议。

必备条件

  • 为 Android at Work 启用的 XenMobile 服务器 10.4。
  • 恢复出厂设置的设备,在设备所有者模式下针对 Android at Work 置备。可以在本文中查找完成此必备条件的步骤。
  • 另一台设备具有 NFC 功能,运行已配置的 Provisioning Tool。Provisioning Tool 在 Secure Hub 10.4 或 Citrix 下载页面上提供。

每个设备只能配备一个 Android at Work 配置文件,通过企业移动性管理 (EMM) 应用程序管理。在 XenMobile 中,Secure Hub 为 EMM 应用程序。仅允许在每个设备上配备一个配置文件。尝试添加第二个 EMM 应用程序将删除第一个 EMM 应用程序。

可以在新设备上或还原为出厂设置的设备上启动设备所有者模式。您将通过 XenMobile 管理整个设备。

设备所有者模式下的 NFC 碰撞

置备恢复出厂设置的设备需要您通过 NFC 碰撞发送以下数据以启动 Android at Work:

  • 要作为设备所有者(在此示例中为 Secure Hub)的 EMM 提供程序应用程序的包名称。
  • 可以从中下载 EMM 提供程序应用程序的 Intranet/Internet 位置。
  • 用于验证下载是否成功的 EMM 提供程序应用程序的 SHA1 哈希。
  • Wi-Fi 连接详细信息,以便恢复出厂设置的设备能够连接和下载 EMM 提供程序应用程序。注意:Android 现在不支持在此步骤中使用 802.1x Wi-Fi。
  • 设备的时区(可选)。
  • 设备的地理位置(可选)。

碰撞两台设备时,来自 Provisioning Tool 的数据将发送到恢复出厂设置的设备。该数据随后用于下载使用管理员设置的 Secure Hub。如果未输入时区和位置值,Android 将在新设备上自动配置值。

配置 XenMobile Provisioning Tool

执行 NFC 碰撞之前,必须配置 Provisioning Tool。此配置随后在 NFC 碰撞过程中被传输到恢复出厂设置的设备。

localized image

可以将数据键入到必填字段中,或者通过文本文件进行填充。下一个过程中的步骤介绍了如何配置文本文件,并且包含每个字段的说明。键入后,该应用程序将不保存信息,因此,您可能希望创建一个文本文件以保留该信息供将来使用。

使用文本文件配置 Provisioning Tool

将文件命名为 nfcprovisioning.txt 并将其放置在设备的 SD 卡中的 /sdcard/ 文件夹下。该应用程序随后可以读取文本文件并填充值。

文本文件必须包含以下数据:

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION=
此行为 EMM 提供程序应用程序的 intranet/internet 位置。恢复出厂设置的设备在进行 NFC 碰撞后连接到 Wi-Fi 之后,该设备必须有权访问此位置才能进行下载。该 URL 为常规 URL,不需要特殊格式。

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM=
此行是 EMM 提供程序的校验和。此校验和用于验证下载是否成功。本文中后面的内容介绍了获取校验和的步骤。

android.app.extra.PROVISIONING_WIFI_SSID=
此行是运行 Provisioning Tool 的设备的已连接的 Wi-Fi SSID。

android.app.extra.PROVISIONING_WIFI_SECURITY_TYPE=
支持的值为 WEP 和 WPA2。如果 Wi-Fi 未受保护,此字段必须留空。

android.app.extra.PROVISIONING_WIFI_PASSWORD=
如果 Wi-Fi 未受保护,此字段必须留空。

android.app.extra.PROVISIONING_LOCALE=
输入语言和国家/地区代码。语言代码为包含两个小写字母的 ISO 语言代码(例如 en),如 ISO 639-1 所定义。国家/地区代码为包含两个大写字母的 ISO 国家/地区代码(例如 US),如 ISO 3166-1 所定义。例如,请键入 en_US 表示在美国所讲的英语。如果未输入任何代码,则会自动填充国家/地区和语言。

android.app.extra.PROVISIONING_TIME_ZONE=
设备运行时所在的时区。请键入表单区域/位置的 Olson 名称。例如,America/Los_Angeles 表示太平洋时间。如果未输入名称,则将自动填充时区。

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME=
此数据不是必需的,因为该值已硬编码到应用程序中作为 Secure Hub。在本文中提及的目的只是为了保持完整性。

如果存在使用 WPA2 保护的 Wi-Fi,完整的 nfcprovisioning.txt 文件可能如下所示:

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION=http://www.somepublicurlhere.com/path/to/securehub.apk

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM=ga50TwdCmfdJ72LGRFkke4CrbAk\u003d

android.app.extra.PROVISIONING_WIFI_SSID=Protected_WiFi_Name

android.app.extra.PROVISIONING_WIFI_SECURITY_TYPE=WPA2

android.app.extra.PROVISIONING_WIFI_PASSWORD=wifiPasswordHere

android.app.extra.PROVISIONING_LOCALE=en_US

android.app.extra.PROVISIONING_TIME_ZONE=America/Los_Angeles

如果存在不受保护的 Wi-Fi,完整的 nfcprovisioning.txt 文件可能如下所示:

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION=http://www.somepublicurlhere.com/path/to/securehub.apk

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM=ga50TwdCmfdJ72LGRFkke4CrbAk\u003d

android.app.extra.PROVISIONING_WIFI_SSID=Unprotected_WiFi_Name

android.app.extra.PROVISIONING_LOCALE=en_US

android.app.extra.PROVISIONING_TIME_ZONE=America/Los_Angeles

获取 Secure Hub 校验和

要获取任何应用程序的校验和,请添加该应用程序作为企业应用程序。

1. 在 XenMobile 控制台中,单击配置 > 应用程序,然后单击添加

localized image

此时将显示添加应用程序窗口。

2. 单击企业

此时将显示应用程序信息页面。

localized image

3. 选择以下配置并单击下一步

此时将显示 Android for Work 企业应用程序页面。

localized image

4. 提供 .apk 的路径,然后单击下一步以上载文件。

上载完成后,系统将显示上载的软件包的详细信息。

localized image

5. 单击下一步显示下载 JSON 文件的页面,随后可以在该页面中上载到 Google Play。对于 Secure Hub,不需要上载到 Google Play,但需要 JSON 文件才能从中读取 SHA1 值。

localized image

典型的 JSON 文件格式如下:

localized image

6. 复制 file_sha1_base64 值并在 Provisioning Tool 中的哈希字段中使用。注意:哈希的 URL 必须安全。

  • 将所有 + 符号转换为 -
  • 将所有 / 符号转换为 _
  • 将尾部的 \u003d 替换为 =

如果您将哈希值存储在设备的 SD 卡上的 nfcprovisioning.txt 文件中,该应用程序将执行安全转换。但是,如果选择手动键入哈希值,您将负责确保其 URL 的安全性。

使用的库

Provisioning Tool 在其源代码中使用以下库: