Android for Work

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

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

注意:

在 XenMobile Server 和我们的文档中,我们引用了 Android for Work。最新的术语是 Android 企业版。有关详细信息,请参阅 Android 文档

设置 Android for Work

XenMobile 提供了一种简单的为贵组织设置 Android for Work 的方法。使用 XenMobile Management Tools,通过 Google Play 将 XenMobile 绑定为您的企业移动性管理提供程序并为 Android for Work 设置一个企业。

注意:

对于 G Suite 客户,请参阅适用于 G Suite 客户的旧版 Android for Work,那里提供了一个包含相关策略信息的表格。

您需要:

  • 用于登录 XenMobile Tools 的 Citrix 帐户凭据
  • 用于登录 Google Play 的企业 Google ID 凭据
  1. 在 XenMobile 控制台中,单击右上角的齿轮图标。此时将显示设置页面。

  2. 设置页面上,单击 Android for Work

    Android for Work 的“设置”页面图

  3. 在 XenMobile“设置”中的 Android for Work 页面上,单击转至 XenMobile Tools

    “转至 XenMobile Tools”链接图

  4. 如果系统提示,请登录您的 Citrix 帐户。
  5. 在 XenMobile“Management Tools”(管理工具)中的 Android for Work 页面上,单击 Go to Google Play(转至 Google Play)。

    “Go to Google Play”(转至 Google Play)选项图

  6. 在 Google Play 中,注册 Citrix 作为贵组织的企业移动性管理工具:

    • 输入贵组织的名称。
    • 确保 Citrix 显示为您的企业移动性管理工具。
    • 接受条款,然后单击 Confirm(确认)。

    Google Play 注册页面图

    • 在显示的页面中,单击 Complete Registration(完成注册)。

    该步骤将创建一个文件,供您下载并上载到 XenMobile。

  7. 在 XenMobile“Management Tools”(管理工具)中的 Android for Work 页面上,单击 Download(下载)。
  8. 创建一个用于文件加密的密码。记下密码,以便您上载文件以及需要输入密码时参考。

    密码提示图

  9. 单击 Go back to XenMobile(返回 XenMobile)。
  10. 在 XenMobile“设置”的“Android for Work”页面中,单击上载文件

    “上载文件”选项图

  11. 浏览到下载的文件,然后输入您创建的密码。单击上载

    “上载”选项图

  12. 将为 Android for Work 添加企业 ID。要启用 Android for Work,请将启用 Android for Work 滑动到

    “启用 Android for Work”选项图

发布适用于 Android for Work 的移动生产力应用程序

要发布适用于 Android for Work 的移动生产力应用程序,请按照下面的步骤操作。

  1. 在托管 Google Play 应用商店帐户中,发布您希望您的用户使用的应用程序。您可以在 https://play.google.com/work 上管理您的 Google Play 帐户。
  2. 在 XenMobile 控制台中,按如下方式发布相同的应用程序:

    1. 选择公共应用商店应用程序,然后选择 Android for Work。有关发布公共应用商店应用程序的详细信息,请参阅添加公共应用商店应用程序
    2. 将这些应用程序发布为 MDX 应用程序,以便其接收 MDX 策略。有关发布 MDX 应用程序的详细信息,请参阅添加 MDX 应用程序

注册 Android for Work 设备

如果您的设备注册过程要求用户输入用户名或用户 ID,接受的格式取决于将 XenMobile Server 配置为按用户主体名称 (UPN) 还是 SAM 帐户名称来搜索用户。

如果 XenMobile Server 配置为按 UPN 搜索用户,用户必须按以下格式输入 UPN:

  • 用户名@

如果 XenMobile Server 配置为按 SAM 搜索用户,用户必须按以下格式之一输入 SAM:

  • 用户名@
  • 域\用户名

要确定为您的 XenMobile Server 配置的用户名类型,请执行以下操作:

  1. 在 XenMobile Server 控制台中,单击右上角的齿轮图标。此时将显示设置页面。
  2. 单击 LDAP 以查看 LDAP 连接的配置。
  3. 在靠近页面底部的位置,查看用户搜索依据字段:

    • 如果设置为 userPrincipalName,XenMobile Server 将设置为按 UPN 搜索。
    • 如果设置为 sAMAccountName,XenMobile Server 将设置为按 SAM 搜索。

取消注册 Android for Work 企业

可以使用 XenMobile Server 控制台和 XenMobile Tools 取消注册 Android for Work 企业。

执行此任务时,XenMobile Server 将打开 XenMobile Tools 的弹出窗口。开始之前,请确保 XenMobile Server 有权在您使用的浏览器中打开弹出窗口。某些浏览器(例如 Google Chrome)要求禁用弹出窗口阻止功能并将 XenMobile 站点的地址添加到弹出窗口阻止白名单中。

警告:

取消注册企业后,通过其注册的设备上的 Android for Work 应用程序将重置到其默认状态。这些设备将不再由 Google 托管。如果未进一步进行配置,在 Android for Work 企业中重新注册这些设备可能不会恢复以前的功能。

取消注册 Android for Work 企业后:

  • 通过企业注册的设备和用户会将 Android for Work 应用程序重置到其默认状态。以前应用的“Android for Work 应用程序权限”和“Android for Work 应用程序限制”策略不再有效。
  • 通过企业注册的设备由 XenMobile 托管,但在 Google 看来未托管。无法添加任何新的 Android for Work 应用程序。无法应用任何“Android for Work 应用程序权限”或“Android for Work 应用程序限制”策略。仍然可以将其他策略(例如“计划”、“密码”和“限制”)应用于这些设备。
  • 如果尝试在 Android for Work 中注册设备,这些设备将注册为 Android 设备,而非 Android for Work 设备。

要取消注册 Android for Work 企业,请执行以下操作:

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

  2. 在“设置”页面上,单击 Android for Work

  3. 单击删除企业

    “删除企业”选项图

  4. 指定一个密码。您在执行下一步骤时需要此密码才能完成取消注册操作。然后单击取消注册

    “取消注册”选项图

  5. “XenMobile Tools”页面打开时,请输入您在上一步骤中创建的密码。

    密码字段图

  6. 单击取消注册

    “取消注册”选项图

为 Android for Work 预配工作托管设备模式

Android for Work 的工作托管设备模式仅适用于公司拥有的设备。XenMobile 在工作托管设备模式下支持这些注册方法:

  • afw#xenmobile: 如果使用此注册方法,用户在设置设备时将输入字符 afw#xenmobile。此令牌将设备标识为由 XenMobile 托管并下载 Secure Hub。
  • QR 代码: QR 代码预配是预配不支持 NFC 的分布式设备队列(例如平板电脑)的简便方式。可以在已恢复出厂设置的队列设备上使用 QR 代码注册方法。QR 代码注册方法通过扫描设置向导中的 QR 代码来设置并配置工作托管设备模式。
  • 近场通信 (NFC) 碰撞: 可以在已重置为出厂设置的队列设备上使用 NFC 碰撞注册方法。NFC 碰撞通过在两个设备之间使用近场通信来传输数据。蓝牙、Wi-Fi 和其他通信模式在恢复出厂设置的设备上处于禁用状态。NFC 是此状态下设备可以使用的唯一通信协议。

afw#xenmobile

此注册方法在打开新设备或恢复出厂设置的设备以便进行初始设置后使用。系统提示输入 Google 帐户时,用户输入 afw#xenmobile。此操作将下载并安装 Secure Hub。用户随后将按照 Secure Hub 设置提示进行操作,完成注册过程。

对于大多数客户,建议使用此注册方法,因为是从 Google Play 应用商店下载最新版本的 Secure Hub。与其他注册方法不同,您不用提供要从 XenMobile Server 下载的 Secure Hub。

必备条件:

  • 在运行 Android 5.0 及更高版本的所有 Android 设备上均受支持。

QR 代码

要使用 QR 代码在设备模式注册设备,请通过创建一个 JSON 并将该 JSON 转换为 QR 代码来生成 QR 代码。将使用设备相机扫描 QR 代码以注册设备。

必备条件:

  • 在运行 Android 7.0 及更高版本的所有 Android 设备上均受支持。

从 JSON 创建 QR 代码

创建包含以下字段的 JSON。

以下字段均为必填项:

键:android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME

值:com.zenprise/com.zenprise.configuration.AdminFunction

键:android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM

值:qn7oZUtheu3JBAinzZRrrjCQv6LOO6Ll1OjcxT3-yKM

键:android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION

值:https://path/to/securehub.apk

注意:

如果将 Secure Hub 上载到 Citrix XenMobile Server 作为企业应用程序,则可以从 https://<fqdn>:4443/*instanceName*/worxhome.apk 下载该应用程序。Secure Hub APK 路径应该能够通过设备在预配期间连接到的 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_LOCAL_TIME: 从 Epoch 开始经过的时间(毫秒)。

    Unix epoch(或 Unix 时间、POSIX 时间或 Unix 时间戳)是指从 1970 年 1 月 1 日(午夜,UTC/GMT)开始经过的秒数。该时间不包括闰秒(在 ISO 8601 中为:1970-01-01T00:00:00Z)。

  • android.app.extra.PROVISIONING_SKIP_ENCRYPTION: 设置为 true 将在配置文件创建期间跳过加密。设置为 false 将在配置文件创建期间强制加密。

典型的 JSON 如下:

典型的 JSON 图

使用任意 JSON 验证工具(例如 https://jsonlint.com)验证创建的 JSON。然后使用任意联机 QR 代码生成器(例如 https://goqr.me)将该 JSON 字符串转换为 QR 代码。

恢复出厂设置的设备将扫描此 QR 代码以在工作托管设备模式下注册设备。

注册设备

要在工作托管设备模式下注册设备,该设备必须处于已恢复出厂设备状态。

  1. 在欢迎屏幕上轻按该屏幕六次以启动 QR 代码注册流程。
  2. 系统提示时,连接到 Wi-Fi。QR 代码(JSON 编码)中 Secure Hub 的下载位置可以通过此 Wi-Fi 网络访问。

    设备成功连接到 Wi-Fi 后,将从 Google 下载一个 QR 代码读取器并启动摄像头。

  3. 将摄像头对准 QR 代码以扫描该代码。

    Android 将从 QR 代码中的下载位置下载 Secure Hub,验证签名证书的签名,安装 Secure Hub 并将其设置为设备所有者。

有关详细信息,请参阅此面向 Android EMM 开发人员的 Google 指南:https://developers.google.com/android/work/prov-devices#qr_code_method

NFC 碰撞

要使用 NFC 碰撞在设备模式下注册设备,需要两个设备:一个已恢复出厂设置的设备,以及一个运行 XenMobile Provisioning Tool 的设备。

必备条件:

  • 在运行 Android 5.0、Android 5.1、Android 6.0 及更高版本的所有 Android 设备上均受支持。
  • 为 Android for Work 启用的 XenMobile Server 10.4。
  • 恢复出厂设置的设备,在工作托管设备模式下针对 Android for Work 预配。可以在本文中查找完成此必备条件的步骤。
  • 另一个设备具有 NFC 功能,运行已配置的 Provisioning Tool。Provisioning Tool 在 Secure Hub 10.4 或 Citrix 下载页面上提供。

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

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

通过 NFC 碰撞传输数据

预配恢复出厂设置的设备需要您通过 NFC 碰撞发送以下数据以初始化 Android for 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 碰撞过程中被传输到恢复出厂设置的设备。

Provisioning Tool 配置图

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

使用文本文件配置 Provisioning Tool

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

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

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION=<download_location>

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

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM=<SHA1 hash>

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

android.app.extra.PROVISIONING_WIFI_SSID=<wifi ssid>

此行是运行 Provisioning Tool 的设备的已连接 Wi-Fi SSID。

android.app.extra.PROVISIONING_WIFI_SECURITY_TYPE=<wifi security type>

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

android.app.extra.PROVISIONING_WIFI_PASSWORD=<wifi password>

如果 Wi-Fi 未受保护,此字段必须留空。

android.app.extra.PROVISIONING_LOCALE=<locale>

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

android.app.extra.PROVISIONING_TIME_ZONE=<timezone>

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

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME=<package name>

不需要此数据,因为值 Secure Hub 被硬编码到应用程序中。在本文中提及的目的只是为了保持完整性。

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

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION=https://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=https://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 控制台中,转至配置 > 应用程序,然后单击添加

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

  2. 单击企业

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

    “应用程序信息”页面图

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

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

    “Android for Work Enterprise App”(Android for Work 企业应用程序)图

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

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

    文件上载页面图

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

    下载 JSON 文件页面图

    典型的 JSON 文件格式如下:

    典型的 JSON 文件图

  6. 复制 file_sha1_base64 值并在 Provisioning Tool 中的 Hash(哈希)字段中使用。

    注意: 该哈希必须是 URL 安全哈希。

    • 将任何 + 符号转换为 -
    • 将任何 / 符号转换为 _
    • 将尾随 \u003d 替换为 =

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

使用的库

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

  • Google 遵循 Apache License 2.0 提供的 v7 appcompat 库、Design Support Library 以及 v7 Palette 库

    有关信息,请参阅 Support Library Features Guide(支持库功能指南)。

  • Jake Wharton 遵循 Apache License 2.0 提供的 Butter Knife

在 Android for Work 中预配工作配置文件模式

Android for Work 的工作配置文件模式适用于安全地分隔了设备上的企业区域与个人区域的设备。例如,工作配置文件模式适用于 BYOD 设备。工作配置文件模式的注册体验与 XenMobile 中的 Android 注册体验相似。用户将从 Google Play 下载 Secure Hub 并注册其设备。

默认情况下,如果某个设备是在工作配置文件模式下在 Android for Work 中注册的,“USB 调试”和“未知来源”设置在该设备上将处于禁用状态。

提示:

在工作配置文件模式下在 Android for Work 中注册设备时,将始终转至 Google Play。在该应用商店中,允许 Secure Hub 在用户的个人配置文件中显示。