Apple iOS MDM service 簡介

藉由MDM服務,企業可以用來控管配發給員工的iOS Device。可以採用Apple官方推出的工具,也可以採用第三方開發的服務。

MDM server傳送描述檔和指令的流程

  1. 管理員傳送一個設定描述檔(Configuration Profile)到使用者的iOS裝置上。
  2. 使用者安裝該設定描述檔。
  3. 該台iOS裝置向MDM server註冊,開始被監管。
  4. MDM server透過Apple Push Notification Service發送推播訊息到給iOS裝置,請裝置向server確認是否有新的指令或query。
  5. iOS裝置藉由HTTPS和MDM server連接,MDM server傳送指令給裝置、或是向裝置要求回傳資訊。

Apple Push Notification

當MDM server要和iOS裝置溝通,Apple Push Notification會送一則通知給在螢幕鎖定中的iOS裝置,請iOS裝置向MDM server做check in,看看有沒有新的環境設定、或工作任務需要被推送到裝置上。

如果iOS裝置決定接收新的資料,Configuration Profile及其他設定,會在背景用被SSL/TLS加密的方式在裝置和MDM server之間做傳輸。

為了讓Apple Push Notification服務正確辨認來自MDM server送出的指令,必須申請及下載Apple Push Certificate,將其安裝到MDM server中,如此才能讓iOS裝置向MDM server註冊。 網路設定

  1. MDM server最好是連接到一個固定網域,而非一個IP位置。(The IP address range for the push service is subject to change; the expectation is that an MDM server will connect by hostname rather than by IP address. The push service uses a load-balancing scheme that yields a different IP address for the same hostname. This hostname is gateway.push.apple.com (and gateway.sandbox.push.apple.com for the development push notification environment). Additionally, the entire 17.0.0.0/8 address block is assigned to Apple so firewall rules can be established to specify that range)
  2. 把這台MDM server建置在企業內部時,建議打開以下port:
    • Port TCP 80 (http)
    • Port TCP 443 (https)
    • Port TCP 1640 (SCEP)
    • Port TCP 5223 (APNS)
      • 讓iOS裝置連接到push service。
    • Port TCP 2195 (APNS)
      • 讓MDM server傳送通知到Apple Push Notification service。
    • Port TCP 2196 (APNS)
    • feedback service

註冊

iOS裝置註冊(Enrollment) 裝置註冊是讓iOS裝置接受被某台MDM server管理。可以把iOS裝置插線到電腦、或是用無線(Over-the-Air Enrollment)傳輸的方式來接收註冊描述檔(Enrollment Profile),多半都是後者,其流程包括:

  1. User Authentication

    • 管理員可透過email、簡訊、網頁、App來請使用者在iOS裝置上進行註冊。
  2. Certificate Enrollment
    • iOS會透過SCEP(Simple Certificate Enrollment Protocal)產生一個certificate enrollment request,這個request傳送到CA(Certificate Authority),接著使iOS裝置收到identity certificate。
  3. Device Configuration
    • 安裝好identity certificate後,iOS裝置就可以OTA收到加密過的環境設定(configuration information)。

上面可以掠過不看,總之就是,使用者必須在iOS裝置上下載安裝由MDM server發出的profile(描述檔),接著該台裝置就會自動向MDM server進行註冊。註冊完成後,這台iOS裝置就能接收來從MDM server發出的環境設定、資訊更新、被遠端鎖定、被遠端清除資料等工作。

用Apple Configurator來啟用監管

  1. 透過Apple Configurator,iOS裝置可以變成supervised的狀態。
  2. 你可以搭配iPhone Configuration Utility,在Apple Configurator中就先設定好iOS裝置的環境設定,也可以隨後再用MDM server來設定。
  3. 接著這台裝置當然也可以透過OTA被MDM server監管。

缺點是,如果採用Apple Configuration,必須把各台iOS裝置連接到電腦上,逐次做啟用監管的動作。

管理

  1. 可從MDM Server藉由推播設定描述檔(Configuration Profile)來改變iOS裝置中的環境設定,包括:禁止使用相機、App Store下載功能、預設wifi帳號密碼、VPN設定…等。
  2. MDM server可推播App Store上的免費App、企業內部開發的in-house App到iOS裝置上進行安裝。使用者會在iOS裝置上收到請安裝該App的通知,使用者有決定安裝或是取消安裝的權力。
  3. 這些由MDM server發送給使用者的App,其中儲存的資料不會被備份到iTunes或iCloud中。
  4. 如果管理者想要購買某款付費App來發送給使用者的iOS裝置,則可以先藉由Volume Purchasing Program(VPP)來購買授權碼(Redemption Code),並且將授權碼交給使用者,使用者即可用來安裝該App,而不必自己付錢。
  5. MDM server可以移除先前推播給iOS裝置的App,並且查看當profile描述檔被移除時,這些App是否也被移除了。

遠端清除iOS裝置中的資料

當有iOS裝置遺失或是疑似遭竊,管理員可以透過MDM server遠端發送指令到裝置上,將必要的資料刪除,以防企業內部資料被有心人士洩漏出去。指令送出之後,一旦該台iOS裝置連接到無線網路,指令就會在裝置中執行。

  1. 如果iOS裝置遺失,MDM server 可以遠端發送指令,將裝置的螢幕鎖定,必須輸入該使用者先前設定好的密碼,才能解除鎖定。
  2. 管理員可以刪除從MDM server推播給iOS裝置的MDM Configuration Profile,如此一來,裝置中所有藉由這些描述檔接收的環境設定、App,都會消失。
  3. 承上,當然管理員也可以指單獨刪除某些設定描述檔(Configuration Profile)和App。
  4. MDM server可以發送指令,清除掉整台iOS裝置中的所有資料,回到出廠時的狀態。

另外,如果使用者不小心忘記了自己設定的螢幕鎖定密碼,可以請管理員透過MDM server遠端發送指令,將該台iOS裝置的密碼清除,但同時要求60分鐘之內必須設定新的密碼。

Apple iOS MDM service 简介的更多相关文章

  1. Apple iOS MDM开发流程

    一年前曾参与过中石油的一个移动平台项目,实现了通过MDM对iOS设备进行管理.由于苹果对于mdm这块的接口及开发流程只向几个合作伙伴进行了分享,并没有对具体实现的文档进行公开,所以这方面的资料非常少. ...

  2. (转)在SAE使用Apple Push Notification Service服务开发iOS应用, 实现消息推送

    在SAE使用Apple Push Notification Service服务开发iOS应用, 实现消息推送 From: http://saeapns.sinaapp.com/doc.html 1,在 ...

  3. Provider Communication with Apple Push Notification Service

    This chapter describes the interfaces that providers use for communication with Apple Push Notificat ...

  4. 使用 Flash Builder 的 Apple iOS 开发过程

    使用 Flash Builder 的 Apple iOS 开发过程   iOS 开发和部署过程概述 构建.调试或部署 iOS 应用程序前的准备工作 在测试.调试或安装 iOS 应用程序时选择的文件 将 ...

  5. iOS系统版本简介

    iOS系统版本简介 ⽬目前iOS设备所⽀支持的最主流操作系统是iOS6,⼤大概占了93%,⽽而使 ⽤用iOS5的iOS设备⼤大概占6%,剩下的只有1%.( 根据苹果的官⽅方数据 ) 从iOS1到现在的 ...

  6. IOS NSInvocation用法简介

    IOS NSInvocation用法简介 2012-10-25 19:59 来源:博客园 作者:csj007523 字号:T|T [摘要]在 iOS中可以直接调用某个对象的消息方式有两种,其中一种就是 ...

  7. Service 简介 启动方式 生命周期 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  8. Web Service 简介

    最近使用ODI的工具箱中的ODIInvokeWebService.因此简单了解下WebService的理论知识. 一.Web Service 简介 Web Service就是可编程的URL,使用标准的 ...

  9. Service简介 demos

    extends:http://blog.csdn.net/ithomer/article/details/7364024 一. Service简介 Service是android 系统中的四大组件之一 ...

随机推荐

  1. 精通Docker的50个必备教程、工具、资源

    Docker 已经震惊了软件开发界.它提供了一种根据 DevOps 方法打包和输送应用程序的便捷方法. 最近我们发布了 51 个必备的 Docker 工具列表①,但工具不是完全精通容器化所需的唯一东西 ...

  2. HTTPS简单原理介绍

    为什么需要https HTTP是明文传输的,也就意味着,介于发送端.接收端中间的任意节点都可以知道你们传输的内容是什么.这些节点可能是路由器.代理等. 举个最常见的例子,用户登陆.用户输入账号,密码, ...

  3. pip升级Python程序包

    列出当前安装的包: pip list 列出可升级的包: pip list --outdate 升级一个包: pip install --upgrade requests // mac,linux,un ...

  4. java 多线程 25 :线程和线程组的异常处理

    线程中出现异常 从上面代码可以看出来处理线程的异常 设置异常的两种方式 1.全局异常,也是静态异常,是个静态方法 , 类.setDefaultUncaughtExceptionHandler() 2. ...

  5. FreeRTOS 事件标志组 ——提高篇

    假设你已经看过FreeRTOS 事件标志组这篇随笔了. 之前的基础篇,真的就只是简单了解一下,相当于大学实验室的实验,但是,我们实际公司项目中,需要更多地思考,就算我们之前只是学习了基础概念以及基础语 ...

  6. 6个监控linux资源的快速工具

    系统管理员需要对服务器进行监控以确保其正常运行,通过这种方式管理员能够提前发现可能存在的问题并恢复系统,以避免麻烦的出现. Linux上有很多命令来监控不同的系统资源,如CPU使用率.内存使用情况.网 ...

  7. Android 收集已发布程序的崩溃信息

    我们写程序的时候都希望能写出一个没有任何Bug的程序,期望在任何情况下都不会发生程序崩溃.不过理想是丰满的,现实是骨感的.没有一个程序员能保证自己写的程序绝对不会出现异常崩溃.特别是针对用户数达到几十 ...

  8. [转]oracle 11g jdbc jar包在哪个文件目录

    oracle 11g jdbc jar包在哪个文件目录 一. 如果装了Oracle数据库的话, 大致是这样的目录:     D:\oracle\product\11.2.0\client_1\oui\ ...

  9. [Linux实用工具]Linux监控工具munin的安装和配置

    〇.摘要 munin是用于Linux系统(也可以监控windows系统)的监控软件.munin除了可以监控系统的各项数值之外,最大的好处是可以自己编写插件自定义监控需要的数值.整个系统的架构简单明了, ...

  10. MAC版Eclipse的常用快捷键

    一.Command类 Command+1 快速修复 Command+d 删除当前行 Command+Option+↓ 复制当前行到下一行 Command+Option+↑ 复制当前行到上一行 Comm ...