从 Play 商店中的不同帐户安装的应用程序未被 Android Management API 阻止
Posted
技术标签:
【中文标题】从 Play 商店中的不同帐户安装的应用程序未被 Android Management API 阻止【英文标题】:App installs from different account in Play Store not being blocked by Android Management API 【发布时间】:2020-01-23 21:46:57 【问题描述】:我们正在为我们的组织测试 android Management API,我们发现了托管 Play 商店的解决方法:如果用户将他的个人帐户添加到设备(例如访问 Gmail),他可以切换到该帐户在 Play 商店中下载政策不允许的应用程序。
虽然 DPC(Android 设备策略)会在下次策略同步时删除应用,但出于某种原因,安装应用时不会自动进行同步。 Device Policy 应用仅在以下情况下同步:1) 管理员通过 API 推送对策略的更改,或 2) 用户通过应用手动同步。
这意味着用户可以安装他想要的任何应用程序,并使用它直到策略同步。
是否有任何方法可以阻止用户从托管的 Play 商店帐户之外下载应用,或者让 Device Policy 应用在安装应用时自动同步?
这是我应用于测试设备和补丁代码的策略:
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】:确实,可以使用与 Android Management API 配置的不同的 Google 帐户从 Google Play 商店安装任何应用程序。
您有两种选择来解决这个问题:
-
在未包含在策略中的应用被卸载之前阻止设备
禁止添加其他 Google 帐户,这样用户就无法安装不在政策中的应用
目前,在允许其他 Google 帐户的同时,无法阻止从 Google Play 商店安装任何应用。我们正在开发一项允许这样做的功能,但目前没有准确的时间表。
选项 1:在未包含在政策中的应用被卸载之前阻止设备
您可以在policy 中设置policyEnforcementRules
以阻止设备,直到卸载不允许的应用程序:
"policyEnforcementRules": [
"blockAction":
"blockAfterDays": 0
,
"wipeAction":
"wipeAfterDays": 30,
"preserveFrp": true
,
"settingName": "playStoreMode"
]
选项 2:禁止添加其他 Google 帐户,这样用户就无法安装不在政策中的应用
您可以在策略中禁用添加其他 Google 帐户:
将accountTypesWithManagementDisabled
设置为["com.google"]
,
或者,将modifyAccountsDisabled
设置为true
。
这将防止在所有 Google 应用(包括 Gmail、Google 日历、Google 云端硬盘等)中使用其他 Google 帐户,而不仅仅是在 Google Play 商店中。
【讨论】:
以上是关于从 Play 商店中的不同帐户安装的应用程序未被 Android Management API 阻止的主要内容,如果未能解决你的问题,请参考以下文章
[从Google Play商店安装应用时的onActivityResult回调
如何通过用于下载应用程序的 Google Play 商店帐户获取 Firebase 用户?
在 Play 商店中的何处接受 Google Play 应用签名服务条款?
当我将 Android 应用程序转移到其他 Google Play 开发者帐户时,它是不是仍可在 Google Play 商店中使用?