iOS 上的 MDM 和 MAM 功能

Posted

技术标签:

【中文标题】iOS 上的 MDM 和 MAM 功能【英文标题】:MDM and MAM capabilities on iOS 【发布时间】:2016-02-01 23:55:17 【问题描述】:

MDM 和 MAM 功能如何在 ios 上运行。我们是否需要在 iOS 设备上运行第三方客户端来接收来自 https 服务器的 MDM/MAM 命令。注册是如何发生的,我确信 iOS 依赖于推送通知来接收命令,所以我假设第三方 MDM 客户端应该在设备上可用,尽管 iOS 一直在运行内置 MDM 代理。 iOS 的 MDM/MAM 有什么区别。

【问题讨论】:

【参考方案1】:

MDM 是用于设备控制和安全的设备级配置。 MAM 是同样的东西,但在应用程序级别。共同点是每个配置元素都是通过 Apple 定义的配置有效负载交付的。 查看https://developer.apple.com/library/ios/featuredarticles/iPhoneConfigurationProfileRef/Introduction/Introduction.html

了解这个生态系统的最佳方式就是知道必须做什么以及各方扮演的角色:

    Apple 以配置文件格式和代码接口 (Obj-C/Swift) 的形式向供应商(AirWatch、MobileIron、..)提供 MDM/MAM 接口。您每年在 WWDC 上听到的功能都会添加到此列表中。 供应商实施工具以向企业提供启用相应功能的企业(例如,用于基本配置参数的 MDM 控制台、用于编码的 SDK……) Apple 提供了该功能的底层运行时实现(例如,仅提供与 MDM 兼容的选项来设置锁定超时、为企业单点登录提供代码挂钩......)

是的,您将让设备完成注册过程。对于 AirWatch,他们运行一个代理应用程序进行注册。

【讨论】:

感谢您的详细解释。我了解配置文件的概念、它们如何用于发送命令、从设备轮询选项、注册选项和 Apple 定义的流程。我在您的回答中不明白的是,Apple 是否提供 obj-C 接口来利用代理应用程序或启用 MAM 的应用程序的附加功能,我从未遇到过这样的接口。这是 Apple 选择与之共享的某种合作伙伴计划,还是对该界面的访问受到限制? 嘿克里希。我明白你在问什么。没有可供您编写代码的“应用程序开发人员”界面。 Apple 添加到 MAM 中的两个主要功能是通过 URLSession 下的挂钩完成的。对于 Per-App ***,对 URL 的调用通过一个挂钩运行,该挂钩检查配置中的 Per-App *** 有效负载,并通过设备上的 *** 客户端透明地重定向。 Enterprise AuthN 和 SSO 的工作方式类似——当您调用一个挑战凭据的安全端点时,底层 iOS 框架会弹出一个用户/密码表单,然后做出响应。在这两种情况下都没有 Obj-C 或 Swift API。

以上是关于iOS 上的 MDM 和 MAM 功能的主要内容,如果未能解决你的问题,请参考以下文章

MDM数据清洗功能开发说明

MDM数据分析功能说明

MDM属性跳转功能说明

MDM属性跳转功能说明

了解配置文件和 Airwatch MDM

多用户聊天 OMEMO 加密消息和 MAM (XEP-0313)