Play Store 中来自不同账户的应用安装未被 Android Management API 阻止

3
我们正在为我们的组织测试Android Management API,并找到了一个解决托管Play商店的方法:如果用户将他的个人账户添加到设备上(例如访问Gmail),他可以在Play商店中切换到该账户并下载不受策略允许的应用程序。
尽管Android设备策略(DPC)会在下次策略同步时删除该应用程序,但由于某种原因,每当安装应用程序时,该同步并不会自动发生。只有当管理员通过API推送策略更改或用户手动通过应用程序同步时,设备策略应用程序才会实现同步。
这意味着用户可以安装任何他想要的应用程序,并在策略同步之前使用它。
是否有任何方法可以防止用户从托管Play商店账户以外下载应用程序,或使设备策略应用程序在安装应用程序时自动同步?
这是我应用于测试设备和补丁代码的策略:
import json

test_policy_name = enterprise_name + '/policies/test'

test_policy_json = '''
{
  "applications": [
    {
      "packageName": <app_package_name>,
      "installType": "BLOCKED"
    },
    {
      "packageName": <app_package_name>,
      "installType": "AVAILABLE"
    }
  ],
  "installAppsDisabled": false,
  "playStoreMode": "WHITELIST",
  "installUnknownSourcesAllowed": false
}
'''

androidmanagement.enterprises().policies().patch(
    name=test_policy_name,
    body=json.loads(test_policy_json)
).execute()
1个回答

1

通过使用与由Android管理API配置的Google帐户不同的Google帐户,确实可以安装来自Google Play商店的任何应用程序。

您有两个选择来解决这个问题:

  1. 阻止设备,直到未在策略中的应用被卸载
  2. 禁用添加其他Google帐户,以便用户无法安装未在策略中的应用程序

目前无法防止安装来自Google Play商店的任何应用程序,同时允许添加其他Google帐户。我们正在开发一项功能,允许这样做,但目前没有明确的时间表。

选项1:阻止设备,直到未在策略中的应用被卸载

您可以在策略中设置policyEnforcementRules,以阻止设备,直到不允许的应用被卸载:

{
  "policyEnforcementRules": [
    {
      "blockAction": {
        "blockAfterDays": 0
      },
      "wipeAction": {
        "wipeAfterDays": 30,
        "preserveFrp": true
      },
      "settingName": "playStoreMode"
    }
  ]
}

选项2:禁用添加其他Google帐户,以便用户无法安装不在策略中的应用程序。
您可以在策略中禁用添加其他Google帐户:
- 将accountTypesWithManagementDisabled设置为["com.google"], - 或者,将modifyAccountsDisabled设置为true
这将防止在所有Google应用程序(包括Gmail、Google日历、Google Drive等)中使用其他Google帐户,而不仅仅是在Google Play商店中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接