Apple iOS MDM service 简介
Apple iOS MDM service 簡介
藉由MDM服務,企業可以用來控管配發給員工的iOS Device。可以採用Apple官方推出的工具,也可以採用第三方開發的服務。
MDM server傳送描述檔和指令的流程
- 管理員傳送一個設定描述檔(Configuration Profile)到使用者的iOS裝置上。
- 使用者安裝該設定描述檔。
- 該台iOS裝置向MDM server註冊,開始被監管。
- MDM server透過Apple Push Notification Service發送推播訊息到給iOS裝置,請裝置向server確認是否有新的指令或query。
- 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註冊。 網路設定
- 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)
- 把這台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),多半都是後者,其流程包括:
- User Authentication
- 管理員可透過email、簡訊、網頁、App來請使用者在iOS裝置上進行註冊。
- Certificate Enrollment
- iOS會透過SCEP(Simple Certificate Enrollment Protocal)產生一個certificate enrollment request,這個request傳送到CA(Certificate Authority),接著使iOS裝置收到identity certificate。
- Device Configuration
- 安裝好identity certificate後,iOS裝置就可以OTA收到加密過的環境設定(configuration information)。
上面可以掠過不看,總之就是,使用者必須在iOS裝置上下載安裝由MDM server發出的profile(描述檔),接著該台裝置就會自動向MDM server進行註冊。註冊完成後,這台iOS裝置就能接收來從MDM server發出的環境設定、資訊更新、被遠端鎖定、被遠端清除資料等工作。
用Apple Configurator來啟用監管
- 透過Apple Configurator,iOS裝置可以變成supervised的狀態。
- 你可以搭配iPhone Configuration Utility,在Apple Configurator中就先設定好iOS裝置的環境設定,也可以隨後再用MDM server來設定。
- 接著這台裝置當然也可以透過OTA被MDM server監管。
缺點是,如果採用Apple Configuration,必須把各台iOS裝置連接到電腦上,逐次做啟用監管的動作。
管理
- 可從MDM Server藉由推播設定描述檔(Configuration Profile)來改變iOS裝置中的環境設定,包括:禁止使用相機、App Store下載功能、預設wifi帳號密碼、VPN設定…等。
- MDM server可推播App Store上的免費App、企業內部開發的in-house App到iOS裝置上進行安裝。使用者會在iOS裝置上收到請安裝該App的通知,使用者有決定安裝或是取消安裝的權力。
- 這些由MDM server發送給使用者的App,其中儲存的資料不會被備份到iTunes或iCloud中。
- 如果管理者想要購買某款付費App來發送給使用者的iOS裝置,則可以先藉由Volume Purchasing Program(VPP)來購買授權碼(Redemption Code),並且將授權碼交給使用者,使用者即可用來安裝該App,而不必自己付錢。
- MDM server可以移除先前推播給iOS裝置的App,並且查看當profile描述檔被移除時,這些App是否也被移除了。
遠端清除iOS裝置中的資料
當有iOS裝置遺失或是疑似遭竊,管理員可以透過MDM server遠端發送指令到裝置上,將必要的資料刪除,以防企業內部資料被有心人士洩漏出去。指令送出之後,一旦該台iOS裝置連接到無線網路,指令就會在裝置中執行。
- 如果iOS裝置遺失,MDM server 可以遠端發送指令,將裝置的螢幕鎖定,必須輸入該使用者先前設定好的密碼,才能解除鎖定。
- 管理員可以刪除從MDM server推播給iOS裝置的MDM Configuration Profile,如此一來,裝置中所有藉由這些描述檔接收的環境設定、App,都會消失。
- 承上,當然管理員也可以指單獨刪除某些設定描述檔(Configuration Profile)和App。
- MDM server可以發送指令,清除掉整台iOS裝置中的所有資料,回到出廠時的狀態。
另外,如果使用者不小心忘記了自己設定的螢幕鎖定密碼,可以請管理員透過MDM server遠端發送指令,將該台iOS裝置的密碼清除,但同時要求60分鐘之內必須設定新的密碼。
Apple iOS MDM service 简介的更多相关文章
- Apple iOS MDM开发流程
一年前曾参与过中石油的一个移动平台项目,实现了通过MDM对iOS设备进行管理.由于苹果对于mdm这块的接口及开发流程只向几个合作伙伴进行了分享,并没有对具体实现的文档进行公开,所以这方面的资料非常少. ...
- (转)在SAE使用Apple Push Notification Service服务开发iOS应用, 实现消息推送
在SAE使用Apple Push Notification Service服务开发iOS应用, 实现消息推送 From: http://saeapns.sinaapp.com/doc.html 1,在 ...
- Provider Communication with Apple Push Notification Service
This chapter describes the interfaces that providers use for communication with Apple Push Notificat ...
- 使用 Flash Builder 的 Apple iOS 开发过程
使用 Flash Builder 的 Apple iOS 开发过程 iOS 开发和部署过程概述 构建.调试或部署 iOS 应用程序前的准备工作 在测试.调试或安装 iOS 应用程序时选择的文件 将 ...
- iOS系统版本简介
iOS系统版本简介 ⽬目前iOS设备所⽀支持的最主流操作系统是iOS6,⼤大概占了93%,⽽而使 ⽤用iOS5的iOS设备⼤大概占6%,剩下的只有1%.( 根据苹果的官⽅方数据 ) 从iOS1到现在的 ...
- IOS NSInvocation用法简介
IOS NSInvocation用法简介 2012-10-25 19:59 来源:博客园 作者:csj007523 字号:T|T [摘要]在 iOS中可以直接调用某个对象的消息方式有两种,其中一种就是 ...
- Service 简介 启动方式 生命周期 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Web Service 简介
最近使用ODI的工具箱中的ODIInvokeWebService.因此简单了解下WebService的理论知识. 一.Web Service 简介 Web Service就是可编程的URL,使用标准的 ...
- Service简介 demos
extends:http://blog.csdn.net/ithomer/article/details/7364024 一. Service简介 Service是android 系统中的四大组件之一 ...
随机推荐
- nfs 客户端启动报错rpc.mountd: svc_tli_create: could not open connection for tcp6
# /etc/init.d/nfs start Starting NFS services: [ OK ] Starting NFS mountd: rpc.mountd: svc_tli_creat ...
- Spark VS Presto VS Impala
https://www.quora.com/What-is-the-difference-between-Spark-and-Presto
- Android Http 下载
在安卓中,可以直接用java的java.net.URL包访问网络下载数据.不同的是,安卓程序需要权限,需要在AndroidManifest.xml文件中声明权限 <!-- 网络权限 --> ...
- export default与export的区别
1.export default 和export都可以用于导出常量,函数,文件,模块等: 2.可以在模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使 ...
- shell执行字符串中的命令
假如说你有以下代码: cmd='ls -l' 然后你想要执行将cmd的内容作为命令来执行该怎么操作呢? 答案: cmd='ls -l' ${cmd}
- Python写入连接mysql失败
执行如下连接数据库的语句: engine = create_engine('mysql://root:root@127.0.0.1/stock?charset=utf8') 报错如下: ImportE ...
- Python之Cookielib
cookielib模块的主要作用是提供可存储cookie的对象,以便于与urllib2模块配合使用来访问Internet资源.Cookielib模块非常强大,我们可以利用本模块的CookieJar类的 ...
- pandas的连接函数concat()函数
pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=No ...
- eth0 eth0:1 eth0.1 的区别
eth0 eth0:1 和eth0.1三者的关系对应于物理网卡.子网卡.虚拟VLAN网卡的关系:物理网卡:物理网卡这里指的是服务器上实际的网络接口设备,这里我服务器上双网卡,在系统中看到的2个物理网卡 ...
- Python os.popen() 方法
简述 就是新建一个管道执行一个命令. 方法是os.popen(命令,权限,缓冲大小) 比如 a = 'mkdir def' b = os.popen(a,) print b 就是等同于使用命令去创建了 ...