在不使用应用的情况下管理 Android 设备

1. 简介

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

您将学习的内容

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

您需要准备的物品

  • 一台 Android 6.0 或更高版本的设备
  • 一个 Gmail 帐户 (G Suite 帐户无法使用)

2. 创建 Google Cloud 项目

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

您可以在 Google Cloud 控制台中创建项目

  1. 前往Cloud 控制台
  2. 点击 CREATE PROJECT(创建项目)。

1c46ec488b69276f.png

  1. 输入您的项目名称,然后点击 CREATE(创建)。

3c70bf84b5401584.png

  1. 记下项目 ID,下一步骤中您会需要它。

1711508ec7cfa7ee.png

3. 打开快速入门笔记本

要访问 Android Management 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 Management 解决方案绑定。设备策略都属于某个企业。通常,单个企业资源与单个组织关联。但是,您可以根据需要为同一组织创建多个企业。例如,组织可能希望为其不同的部门或区域创建单独的企业。

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

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 演示了如何使用二维码在完全托管模式下配置设备。有关其他模式和配置方法,请参阅笔记本中的说明。

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

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

4c7bd529b5d6c980.png

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

5e258b6004277389.png

然后可以使用此二维码配置 Android 设备。

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

  1. 开启一台新设备或已恢复出厂设置的设备。
  2. 在欢迎屏幕上的同一位置点按六次以进入二维码模式。
  3. 连接到 WiFi 网络。
  4. 扫描二维码。

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

  1. 按照设置向导操作并输入您的 Wi-Fi 详情。
  2. 当提示登录时,输入 afw#setup
  3. 点按下一步,然后接受安装 Android 设备政策。
  4. 扫描二维码。

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

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 Management API Codelab,并对一些可用策略有了一些了解。

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

您可以在API 参考文档中找到完整的可用策略。

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