无需应用程序管理 Android 设备

1. 简介

管理 Android 设备从未如此简单。借助 Android 管理 API,您可以在几分钟内构建策略并配置设备。本 Codelab 将向您展示入门所需的一切,并帮助您在几分钟内从头开始设置设备。

您将学到什么

  • 注册企业
  • 创建设备管理策略
  • 配置设备

您需要什么

  • Android 6.0+ 设备
  • Gmail 帐户(G Suite 帐户将无法使用)

2. 创建 Google Cloud 项目

Android 管理解决方案的基本资源是 Google Cloud Platform 项目。所有其他资源(企业、设备、策略等)都属于该项目,该项目控制对这些资源的访问。解决方案通常与单个项目关联,但如果您想限制对资源的访问,可以创建多个项目。

您可以在 Google Cloud Console 中创建项目

  1. 转到 Cloud Console
  2. 单击**创建项目**。

1c46ec488b69276f.png

  1. 输入您的项目名称,然后单击**创建**。

3c70bf84b5401584.png

  1. 记下**项目 ID**,您将在下一步中用到它。

1711508ec7cfa7ee.png

3. 打开快速入门笔记本

要访问 Android 管理 API,您将使用与 Colab 一起运行的快速入门 Python 笔记本。单击下面的链接,在新标签页中打开它。

快速入门笔记本的源代码在 GitHub 上提供(此处)。

4. 设置 API 身份验证

在能够调用 API 之前,您需要在笔记本中设置身份验证。

首先,填写您在上一步骤中创建的 Google Cloud 项目的项目 ID。将**项目 ID 粘贴**到快速入门笔记本的第一个单元格中,并**运行此单元格**(单击 ▶ 按钮或按**Shift + Enter**)。

1088015c89796b26.png

然后**运行下一个单元格**,无需修改。此单元格运行 OAuth 身份验证流程并实例化 API 客户端。

c6918107fb223268.png

系统会要求您通过关注链接来授权访问。如果要求选择帐户,请选择用于创建 Google Cloud 项目的帐户。然后单击**允许**。

cfcfea4fd9a8a5c6.png

OAuth 流程通过显示身份验证代码来结束。

8e534cefdfdc0711.png

要完成身份验证流程

  1. 复制身份验证代码。
  2. 返回快速入门笔记本。
  3. 将代码粘贴到输入框中。
  4. 按**Enter**。

在此阶段,笔记本已成功与 API 进行身份验证,您现在可以开始为您的 Google Cloud 项目创建和管理资源。

5. 创建企业

**企业**资源将组织绑定到您的 Android 管理解决方案。**设备**和**策略**都属于企业。通常,单个企业资源与单个组织关联。但是,您可以根据组织的需求为同一组织创建多个企业。例如,组织可能希望为其不同的部门或区域创建单独的企业。

要创建企业,请**运行快速入门笔记本的下一个单元格**。

13e71c3f57425b4a.png

**单击链接**以打开企业创建流程。

要创建企业,您需要一个**Gmail 帐户**,该帐户尚未与企业关联。如果您看到**入门**按钮,则表示当前帐户是有效的帐户。

选择有效的 Gmail 帐户后,单击**入门**。

4b734f640aa65469.png

输入**企业名称**。这可以是任意名称。

aa84c3deaa4694cc.png

跳过填写联系方式,选中协议复选框,然后单击**确认**。然后单击**完成注册**。

企业创建流程通过显示完成代码来结束。

2e0461d6a3c8a01e.png

要完成企业创建

  1. 复制完成代码。
  2. 返回快速入门笔记本。
  3. 将代码粘贴到输入框中。
  4. 按**Enter**。

在此阶段,企业已成功创建,快速入门笔记本显示**企业名称**,格式为 enterprises/<ID>

146bc9d65ff5acf3.png

复制**企业名称**并将其粘贴到下一个单元格中以供将来参考。

b0fc6e2664a64fbf.png

6. 创建策略

**策略**是一组设置,这些设置决定了受管理设备的行为以及在其上安装的应用程序的行为。每个策略资源可以应用于一个或多个设备。将设备链接到策略后,对策略的任何更新都会自动应用于设备。

要创建您的第一个策略,请**运行笔记本的下一个单元格**。

eb26497acaff9c5e.png

在本 Codelab 的其余部分,我们将以 JSON 形式表示策略。以下是第一个策略

{
  "applications": [
    {
      "packageName": "com.google.samples.apps.iosched",
      "installType": "FORCE_INSTALLED"
    }
  ],
  "advancedSecurityOverrides": {
    "developerSettings": "DEVELOPER_SETTINGS_ALLOWED"
  }
}

您将在本 Codelab 的后面学习如何创建更高级的策略。

7. 配置设备

配置是指将设备注册到企业、将适当的策略应用于设备以及指导用户根据这些策略完成设备设置的过程。在尝试配置设备之前,请确保设备运行的是 Android 6.0 或更高版本。

配置设备的方法因您要使用的管理模式而异,本 Codelab 演示了如何使用 QR 码以**完全管理模式**配置设备。有关其他模式和配置方法的说明,请参阅笔记本中的说明。

您需要为要配置的每个设备提供一个注册令牌(您可以对多个设备使用相同的令牌)。创建令牌时,您可以指定将应用于设备的策略。然后,您可以将注册令牌嵌入到 QR 码中。

要创建您的第一个注册令牌,请**运行快速入门笔记本的下一个单元格**。此单元格生成注册令牌并将其存储在变量 enrollment_token 中。

4c7bd529b5d6c980.png

然后**运行下一个单元格**以生成 QR 码,并**单击生成的 URL** 以显示 QR 码。

5e258b6004277389.png

然后,您可以使用此 QR 码配置 Android 设备。

在运行 Android 7.0 或更高版本的设备上执行此操作

  1. 打开新的或恢复出厂设置的设备。
  2. 在欢迎屏幕上轻触同一位置六次,进入 QR 码模式。
  3. 连接到 WiFi 网络。
  4. 扫描 QR 码。

在运行 Android 6.0 的设备上执行此操作

  1. 按照设置向导操作,输入您的 Wi-Fi 详细信息。
  2. 系统提示您登录时,输入**afw#setup**。
  3. 轻触下一步,然后接受安装 Android 设备策略。
  4. 扫描 QR 码。

设置流程完成后,您的设备将以完全管理模式配置,并链接到上一步骤中创建的策略。

8. 更新策略

将设备链接到策略后,对策略的任何更新都会自动应用于设备。

要更新策略,请返回到用于创建策略的单元格,将**策略 JSON** 更改为与以下新策略匹配,然后**运行该单元格**。

{
  "applications": [
    {
      "packageName": "com.google.samples.apps.iosched",
      "installType": "FORCE_INSTALLED"
    },
    {
      "packageName": "com.google.android.apps.androidify",
      "installType": "FORCE_INSTALLED"
    }
  ],
  "advancedSecurityOverrides": {
    "developerSettings": "DEVELOPER_SETTINGS_ALLOWED"
  }
}

新策略强制在设备上安装 Androidify 应用程序,您应该在几秒钟内看到此更改应用到设备。

在本 Codelab 的下一步中,我们将向您展示如何使用额外的安全功能构建更高级的策略。

9. 高级策略

让我们尝试强制执行一些额外的安全性:我们将设置一个策略,该策略要求输入密码,并禁止截屏。

要更新策略,请返回到用于创建策略的单元格,将**策略 JSON** 更改为与以下新策略匹配,然后**运行该单元格**。

{
  "applications": [
    {
      "packageName": "com.google.samples.apps.iosched",
      "installType": "FORCE_INSTALLED"
    },
    {
      "packageName": "com.google.android.apps.androidify",
      "installType": "FORCE_INSTALLED"
    }
  ],
  "passwordRequirements": {
    "passwordMinimumLength": 6,
    "passwordQuality": "NUMERIC"
  },
  "screenCaptureDisabled": true,
  "advancedSecurityOverrides": {
    "developerSettings": "DEVELOPER_SETTINGS_ALLOWED"
  },
  "policyEnforcementRules": [
    {
      "settingName": "passwordPolicies",
      "blockAction": {
        "blockAfterDays": 1
      },
      "wipeAction": {
        "wipeAfterDays": 5
      } 
    }
  ]
}

在几秒钟内,您应该会看到一个要求您设置密码的屏幕,阻止您使用设备,直到您设置密码为止。

尝试使用“音量减小” + “电源”键组合截屏:您应该会看到一条消息,提示截屏已禁用。

10. 恭喜!

您已经完成了 Android 管理 API Codelab,并对一些可用策略有所了解。

我们建议您探索和尝试其他策略示例

您可以在 API 参考 中找到所有可用策略的完整范围。

您还可以利用 Android 管理开发自己的基于服务器的管理解决方案,为此,您需要