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. chorme插件 ,在浏览器上模拟手机,pad 查看网页|前端技术开发必备插件

    网址:http://lab.maltewassermann.com/viewport-resizer/使用方法:1在chrome浏览器上方右击,显示书签栏 2 打开插件网址,将<ignore_j ...

  2. linux命令(41):文件和文件夹的颜色

    各个颜色的文件分别代表的是:蓝色表示目录:绿色表示可执行文件:红色表示压缩文件:浅蓝色表示链接文件:灰色表示其它文件:红色闪烁表示链接的文件有问题了:黄色是设备文件,包括block, char, fi ...

  3. XCode 7 运行 cocos2dx 2.2.6问题小节

    终于磕磕绊绊的在模拟器上,成功运行了已有项目. 公司提供的Mac系统,版本炒鸡低.向同事拷贝了OS,和XCode. 安装完成后,将已有的可以在Windows上成功运行Android版本的项目,拷贝到了 ...

  4. 对Inductive Bias(归纳偏置)的理解

    参考资料: https://en.wikipedia.org/wiki/Inductive_bias http://blog.sina.com.cn/s/blog_616684a90100emkd.h ...

  5. LeetCode: Convert Sorted Array to Binary Search Tree 解题报告

    Convert Sorted Array to Binary Search Tree Given an array where elements are sorted in ascending ord ...

  6. 单独的 python 脚本文件使用 django 自带的 model

    django1.9.5&python3.4.4 文件结构 在一个爬虫脚本中将爬取的数据通过django自带的model保存到数据库   修改的文件(其余pycharm新建Django项目生成, ...

  7. 国内Docker下载镜像提速方法之一

    众所周知,Docker Hub并没有在国内部署服务器或者使用国内的CDN服务,因此在国内特殊的网络环境下,镜像下载十分耗时.为了克服跨洋网络延迟,能够快速高效地下载Docker镜像,我采用了DaoCl ...

  8. zoj 3761(并查集+搜索)

    题意:在一个平面上,有若干个球,给出球的坐标,每次可以将一个球朝另一个球打过去(只有上下左右),碰到下一个球之后原先的球停下来,然后被撞的球朝这个方向移动,直到有一个球再也撞不到下一个球后,这个球飞出 ...

  9. Notepad++的右键菜单

    这种方法可以重复利用,如果下次它又消失了,你可以再导入一次就OK了.比如我们创建一个叫 notepad++.reg的文件,将下面的内容拷贝进去保存 Windows Registry Editor Ve ...

  10. Go语言学习(四)经常使用类型介绍

    1.布尔类型 var v1 bool v1 = true; v2 := (1==2) // v2也会被推导为bool类型 2.整型 类 型 长度(字节) 值 范 围 int8 1  128 ~ 12 ...