无需应用管理 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 管理,为此,您需要