控制 MDM / MAM 受控设备的用户可以下载哪些应用程序
Posted
技术标签:
【中文标题】控制 MDM / MAM 受控设备的用户可以下载哪些应用程序【英文标题】:Control Which Apps Can be Downloaded by User of MDM / MAM Controlled Device 【发布时间】:2014-06-23 22:15:34 【问题描述】:我正在使用 WSO2 的 EMM(企业移动管理),它是一种开源 MDM(移动设备管理)和 MAM(移动应用管理)解决方案。专门用于实施 BYOD(自带设备)计划。我对一些功能不满意。
我想自己实现的一个主要功能是严格控制用户可以安装哪些应用程序。
1) 不允许安装来自“未知来源”的应用程序。那就是不允许用户检查“允许安装来自未知来源的应用程序”选项,或者至少在他们这样做时能够标记它。
2) 黑名单仅可从 Play 商店下载的特定应用。
3) 更好的是白名单可以从 Play 商店下载的应用程序
4) 在一个完美的世界中,我希望能够同时使用 Enterprise App Store 和 Play Store 的上述限制应用程序下载。 (这样做的好处是能够将企业软件推送给用户,并且仍然可以通过 Play 商店提供安全且用户友好的体验。)
android 的设备管理 API 并未明确允许这些控件。然而,AirWatch 等付费企业 MDM 解决方案却拥有这些功能。任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:经过大量研究,我发现了一些我想分享的东西:
当前的 Android 设备管理 API 非常有限,包含的功能有:
设备密码限制 禁用摄像头 锁定和擦除设备 设备加密除此之外(如上述答案中的 Victor Ronin 所述),您的应用只能检查合规性,但不能强制执行。
在设备范围之外执行政策的唯一方法 管理 API 将具有 系统级 权限。唯一的办法 获得这些系统级权限是让您的应用程序由 运行您的软件的设备的 OEM。这正是 企业 MDM 解决方案可以强制执行此类规则,他们的应用程序是 实际由 OEM 签名,然后退回和分发。一次 您的 UID 被授予系统权限,您可以执行大多数策略 需要在 MDM 场景中保护设备。
如果有兴趣观看这个video,它描述了这个场景和一个详细的系统级漏洞。
【讨论】:
【参考方案2】:大多数时候对此类功能的支持并不完整。例如,Samsung SAFE 提供了更多的 API(这将允许做你想做的事),摩托罗拉有一些额外的企业 API。
因此,您不能在通用 Android 上实现它,而是可以在某些设备上实现它。
第二种方法是合规。可能您无法阻止安装或删除应用程序,但您可以检测到它们并执行一些与之相关的操作(撤销凭据、关闭企业电子邮件等)。
通常,MDM 解决方案混合了这两种元素。
【讨论】:
谢谢!我可以忍受合规性,这个 MDM 已经检测到任何已安装的第三方应用程序,因此我可以使用它。但是你怎么知道他们是否检查了“未知来源”设置。我翻遍了 settings.system 类,发现了 public static final String INSTALL_NON_MARKET_APPS 。但这似乎不是为了“获得”那个价值。你知道是否有一种方法可以确定该设置是否启用? 看看这个:***.com/questions/17776976/…以上是关于控制 MDM / MAM 受控设备的用户可以下载哪些应用程序的主要内容,如果未能解决你的问题,请参考以下文章