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分鐘之內必須設定新的密碼。

( 以上資料來自:http://tinyurl.com/br55zxr )

Lion Server之Profile Manager監管大量iOS設備 (進階篇)

先前我們在設定OS X Lion Server的Server App及無線監管iOS裝置這篇裡面簡介了如何設定Server App和Profile Manager,用來監管iOS裝置。在Profile Manager中無線推播App和描述檔給iOS裝置,其中必須手動去每一台iOS裝置上登入My Devices頁面去把自己註冊給Server,但是以上都是建設在你的iOS裝置數量不多的情況下。

如果今天你的iOS裝置數量很多(例如上百台),我在之前這篇裡面提供幾種變通的方法,其中,現在這一篇便要來說明用CSV檔案把所有iOS裝置的序號預先輸入到Profile Manager的作法。

0.我的需求

  • 用OS X Lion Server的Server App監管100台iPad,這100台iPad會發給100個使用者
  • 我不想讓使用者自行到My Devices頁面註冊自己的iPad,原因是不想讓使用者有機會自己鎖定自己的iPad。解決辦法是把信任描述檔和登記描述檔放在我另外建立的網頁上,供使用者手動點選下載安裝。
  • 我要從Profile Manager來無線推送設定iPad使用限制的描述檔到iPad上,並且不定期推送自行開發(In-house)的App到iPad上。

1.輸出憑證

首先,當然是先在Server App中設定好Profile Manager。

接著是從Profile Manager中輸出信任描述檔(Trust File For)和登記描述檔(Enrollment Profile)。

7225728720_96da7519dd_o
▲在右上角可下載「信任描述檔(Trust File For)」

7225728906_d7a378617c_o
▲在左下角可以新增「登記描述檔(Enrollment Profile)」,右下角則可以下載輸出

在你自己的網域中建一個註冊iPad用的網頁(暫名為:http://xxxx.server/download ),把信任描述檔和登記描述檔的連結放上去。

2.用CSV檔大量輸入裝置序號

接著,蒐集好100台iPad的序號,用來建立.csv檔案。當然你可以用記事本或是寫script來產生,但是我很懶所以我想用excel。然而,不知為何我用Office Excel輸出的CSV檔案始終無法成功輸入到Profile Manger,所以我選擇用Google Doc來做變通。

在Google Doc中,在表格的第一列建立下面五個值:「DeviceName」、「SerialNumber」、「udid」、「IMEI」、「MEID」。

在「SerialNumber」這一欄中,輸入100台iPad的序號。其他四列都可以維持空白。

接著,輸出儲存為.csv檔案。

打開你的Profile Manager,點選「設備」頁面, 此時中間的設備清單是一片空白的,因為我們尚未加入任何iPad進去。點選空白欄位最底下的「+」,選擇「輸入暫存區(Place Holder)」,輸入剛剛我們做好的.csv檔案。

接著,便會在設備欄位中看到100台iPad的序號了。

你可以順勢把這100台iPad的序號全部製作成一個「設備群組」(暫名為「100 iPad Group」),往後再這個設備群組中做更動,就會直接無線推送到所有iPad上面。

3.註冊監管

再接下來則是在iPad上註冊讓Server監管。

請使用者在iPad上打開Safari,前往http://xxxx.server/download,依序點選下載安裝「信任描述檔」和「登記描述檔」。

兩者安裝完畢之後,此時該台iPad已經開始被Server監管,管理員在Profile Manager中已經可以看到該台iPad的資訊。

如果管理員已經有為「100 iPad Group」製作一個描述檔來定義各種環境設定,此時iPad就會自動下載安裝,不需使用者手動點選確認;如果管理員已經把某些App指定發送給「100 iPad Group」,此時iPad螢幕上會跳出請使用者確認是否要安裝該App的對話框。

4.輸入單一裝置序號

如果,在你把100台iPad都註冊給Server之後,突然又多了一台新的iPad要加入被Server監管:

在Profile Manager中點選「設備頁面」,點選設備清單下方的「+」,點選「加入暫存區」,輸入該台iPad的名稱和序號。

相同地,到 http://xxxx.server/download下載安裝信任描述檔和登記描述檔。

此時這台iPad也被列入監管,能接收到來自Server發送出的各種描述檔和App。

關鍵是:一定要先把iPad序號加入到Profile Manager中的設備清單中。

用Profile Manager管理大量iOS裝置的解決方法

在之前這篇 設定OS X Lion Server的Server App及無線監管iOS設備 裡面,我們是假設由一位管理員,手動在iPad上面輸入管理員帳號,下載Trust File For(信任描述文件)、點選Enroll(註冊),達成讓這台iPad被Server監管的目的。如果要被監管的iPad的數量很多時,這種方法就顯得沒有效率了。

解決方法1:
建立一個「群組」和很多個「使用者帳號」,把所有「使用者帳號」都指定到「群組」中。把使用者帳號密碼發給使用者,請他自己到你的http://xxxx.local/mydevices去註冊手上的iPad。只要更動「群組」的設定,所有指定給各個「使用者帳號」的iPad都會收到設定變更。如果有10個使用者,就分別建立10個使用者帳號。

解決方法2:
只建立一個「使用者帳號」,把帳號密碼發給所有使用者,請所有使用者用同一個使用者帳號登入。但是Apple的文件沒有說明,一個使用者帳號最多可以被加入多少台設備。

解決方法3: 不建立「使用者帳號」及「群組」。管理員先把所有iPad的序號資料批次寫入一個.CSV檔案並且匯入Profile Manager(目的是,讓Server認得這些iPad,將來只有這些iPad能夠接收到來自Server的設定變更),接著在Profile Manager中輸出「Trust File For」(信任描述文件)描述檔和「Enrollment Profile」描述檔,用email寄給每個使用者。把iPad發給使用者,請每個使用者自行收e-mail,下載上述兩個描述檔,即可完成註冊。把所有的iPad註冊給Server後,管理員在Profile Manager中將所有iPad加入一個「設備群組」,便可一次更動所有iPad的設定。

解決方法4:
花錢去找第三方開發的MDM(Mobile Device Management) Service,據說是只要花錢,你想得到的需求多半都能搞定。(我錢很少,所以沒試過)

在Profile Manager中無線推播App和描述檔給iOS裝置

前置作業:先安裝好OS X Lion Server及Server App,並且將某台iPad列入給Profile Manager監管。

打開你的Profile Manager(描述檔管理程式)頁面

▲管理員可以在「設備」這個子分頁,看到你監管的這台iPad上安裝了哪些App。

▲假設iPad失竊了,管理員在mydevices頁面,可以點選「Lock」來遠端鎖定iPad。

Photo 12-4-20 下午12 00 28

▲幾秒鐘之後,iPad的螢幕就被鎖定了。如果先前有設定密碼的話,就必須輸入密碼才能使用iPad。管理員也可以手動設定一組密碼。

▲管理員可以一次把多個從App Store上的免費App發佈到受監管的iPad上。這裡我們用Twitter App當例子。

▲上圖中的「推播設定 傳送中」,是Server正在傳送安裝App的Push Notification到iPad上。

▲在iPad上便會看到從Server發出的Push Notification,請使用者安裝Twitter App。

▲iPad上就安裝好Twitter了!

設定OS X Lion Server的Server App及無線監管iOS設備

前置作業:

1.準備一台Mac Mini、一台iOS Device (本文用iPad示範)
2.在Mac Mini上安裝OS X Lion、OS X Lion Server。
3.建立一個伺服器,網址可以自己設定,例如http://xxxx.local。

安裝好OS X Lion Server之後,「應用程式」會出現「Server App」

安裝Server App的過程中,先建立一個管理員帳號。

▲「網頁伺服器」中會顯示你建立的伺服器網址。

▲ 把「描述檔管理程式」旁邊的開關改成「開啟」。「裝置管理」一開始是停用的,點選右邊的「設定」來啟用裝置管理。

▲接著勾選「簽署設定描述檔」。順著說明指示,申請簽署設定描述檔用的憑證。

▲接著點選「硬體」中你的裝置(本例子是Mac Mini),點選「設定」分頁。勾選「啟用Apple推撥通知」,點選右邊的編輯,在裡面可以用Apple ID申請Apple Push Notification Service。

螢幕快照 2012-04-16 12.34.40 PM

▲上圖是成功申請Apple Push Notification Service Certificate後的結果 (網址是https://identity.apple.com/pushcert)。

拿出iPad,打開Safari,輸入網址 http://xxxx.local/mydevices

Photo 12-4-16 下午4 48 19

▲你會看到上面的畫面,接著輸入管理員帳號、密碼。

Photo 12-4-16 下午12 28 14

▲然後你就會看到上面這個畫面。現在管理員已經登入,但是手上這台iPad還沒有開始被Server監管。先點選「Profiles」分頁。

Photo 12-4-16 下午12 28 19

▲請先點選「Trust Profile For(信任描述文件)」這個描述檔,這是用來安裝中繼憑證來驗證已經簽署的描述檔。

Photo 12-4-16 下午12 28 14

▲安裝完「Trust Profile For」描述檔之後,點選「Device」分頁,點選「Enroll(註冊)」,這代表使讓Server監管手中的這台iPad(目前是由管理員帳號監管)。

Photo 12-4-16 下午12 28 31

Photo 12-4-16 下午12 31 24

▲反正就是一路按下一步就對了。

螢幕快照 2012-04-16 12.32.28 PM

▲這時管理員在Mac Mini上,就可以看到iPad被列入監管了。

往後,只要你在設備/設備群組/使用者/使用者群組的設定中,加入描述檔或是App(從iTunes下載的免費App或是自行開發的In-House App),一旦有iPad註冊給你的Server,該台iPad就會自動接收到描述檔(並且自動安裝完成)、以及接收到App的安裝推撥通知。

詳細作法請接著看這一篇:在Profile Manager中無線推播App和描述檔給iOS裝置
 

簡介OS X Lion Server及Server App

如果你沒有Mac Server但有Mac電腦或筆電:

如果你有一台Mac Mini Server(3萬多台幣):

  • Mac Mini Server本身就內建了OS X Server App、Server App等軟體。

IT管理員可以操作的功能:

  • 用Server App中的File Manager來管理描述檔
  • 必須在mail裡面啟用Aple推撥通知
  • 要有Apple 推撥通知服務憑證,可以用Apple ID免費申請下載。
  • 把「描述檔管理程式」開啟。
  • 要確定網路環境、DNS等設定都是OK的。
  • 可以把host在公司自己網域下的In-House App(公司自己開發僅限給內部員工使用的App) ipa檔案和Server App做連結。
  • 可以遠端鎖定某一台iPad(例如當這台iPad失竊之後)
  • 遠端清除某一台iPad的資料

用Apple Configurator發佈描述檔和App到多台iOS裝置

假設你是個學校老師或是公司的IT主管,如果你想要讓所有學生/員工的iDevice(iPhone/iPad/iPod touch)都擁有相同的環境設定,以及安裝相同的App。假設iDevice的數量龐大,該怎麼做呢?當然不是一台一台iDevice拿來更改設定和下載App。

IT管理員可以操作的功能:

  • 製作每台iPad需擁有的內容
    • 先把單獨一台iPad需要有的各種設定和要安裝的App準備好,可想像成在電腦中儲存成一份隱形的「iPad備份」,然後可以從這台電腦把這個「備份」複製到多台iPad上面,也就是讓每一台iPad都長得一模一樣。
    • 發佈限制:一次最多可以同時發佈到30台iPad。
  • 監管:
    • 打勾的話,這台iPad以後就只能在這台電腦(上的Apple Configurator)來修改監管設定。
    • 但是不能遠端鎖定和清除。
    • 透過描述檔(Configuration File)來設定每台iPad要遵循的環境設定,例如:
    • 密碼設定
    • 識別某個Wifi網路(預設輸入好網路名稱和密碼)、VPN、CalDAV、Exchange Active Sync
    • 禁止使用Safari、Youtube、App Store、In-App Purchase、Siri……
    • 使用該台iPad的公司員工無法自己解除這些設定。
  • 安裝App:
    • 可以把從App Store下載的App放進來。
    • 免費App:可以直接放
    • 付費App:IT管理員可以先用Apple Volume Purchase Program(VPP)一次買很多份App,取得多個Redemption Code,再分配給各個使用者。但是VPP目前只有在美國才能使用,所以如果真的需要使用付費App,建議請各個使用者自己到App Store下載。

缺點和限制:

  • 必須要把iPad用USB線插到電腦上,無法無線發佈 (Over-The Air Distribution)。
  • 一台電腦或筆電最多只有4個USB接頭。
  • 解決辦法:用多個USB port的轉接器,就可以一次安裝多台iPad。光華商場有賣10個USB port的。

簡介iOS設定描述檔 (Configuration Profile)

簡介:
  • .mobileconfig
  • 可以定義iOS裝置 (iPhone/iPad/iPod touch)的使用方式、使用限制。
  • 格式:XML
  • 每個設定描述檔中,都包含一份或是多份承載資料(Payloads),代表一組設定值。
  • 當然可以在同一個設定描述檔中,把所有關於一台iOS裝置的承載資料設定都寫進去,但是建議為不同的目的設定出不同的設定描述檔。
  • 建立/安裝工具:iPhone設定工具(iPhone Configuration Utility)
發佈到iOS裝置的方式:
  • 把iOS裝置用USB線插到電腦上
  • 用email寄送
  • 把描述檔放在網頁上供使用者下載
  • 用無線網路發送(OTA)
  • 可用第三方MDM Service。
  • 可用OS X Lion Server中的Profile Manager
  • 或是自己想辦法寫出來。
各種設定:
  • 一般:
    • 定義描述檔的名稱、基本設定。
  • 密碼:
    • 指定是否需要輸入密碼才能安裝此描述檔。
    • 設定密碼所需長度、字母/數字、允許錯誤次數、使用期限、自動鎖定時間…等。
    • (一旦安裝到iOS裝置後,使用者無法再修改)
  • 限制:
    • 設定是否允許使用各種iOS裝置預設的應用程式或功能。
    • 例如:Safari、Youtube、iTunes Store、照相功能、Siri、安裝App、iCloud…等。
    • (一旦安裝到iOS裝置後,使用者無法再修改)
  • Wifi:
    • 告訴iOS裝置要認得某無線網路的SSID
    • http://support.apple.com/kb/TS1849?viewlocale=zh_TW
    • 告訴iOS裝置某無線網路的密碼
    • 設定要用哪些種類的網路認證方式。
  • VPN:(略)
  • email:
    • 為企業使用者設定使用公司的email帳戶
    • 可避免使用者將此帳號寄出或收到的郵件搬移到不同的郵件帳號。
    • 可避免使用其他帳號來回覆或轉寄來自這個帳號的郵件。
    • 可設定該帳號只能用來在 Mail 中傳送郵件。不能選擇它來做為其他應用程式(例如“照片”或 Safari)的郵件傳送帳號。
  • Exchange ActiveSync:
    • 連結Microsoft Exchange Server
  • LDAP:
    • 可從公司的 LDAPv3 伺服器企業目錄中擷取聯絡資訊。
  • CalDAV:
    • 可與公司的 CalDAV 伺服器同步行事曆資料。
  • CardDAV:
    • 可與公司的 CardDAV 聯絡資訊列表中擷取聯絡資訊。
  • 已訂閱行事曆:
    • 將唯讀行事曆訂閱加入到裝置的“行事曆”App。
  • Web Clip:
    • 把Web Clip加入到iOS裝置的螢幕主畫面:
    • 可快速連結到特定網頁
    • 或是點選後直接撥號給特定電話號碼,例如公司支援中心
    • 可以設定不讓使用者刪除該WebClip。
  • 憑證:
    • 可把各種.p12、.cer、.crt等憑證檔案預先安裝到iOS裝置中。
  • SCEP:(略)
行動裝置管理:
  • 如果iOS裝置有要使用第三方提供的MDM Service (Mobile Device Mnagement),設定可由 MDM 伺服器以無線傳輸的方式加以管理。
  • 只有一個 MDM 承載資料可被安裝在裝置上,且一旦安裝後,裝置便可無線接收更多的設定描述檔。
  • APN:(略)
資料來源:http://tinyurl.com/bwfq2x7