關閉照相功能, Jamf 幫助軍隊與科技業自動停用相機

Published by gleetsai on

最近像是大家說好似的,越來越多的企業或組織都在聊如何關閉照相功能。當用戶進入廠房或營區時,該如何讓他們在外面可以正常使用照相功能,但是一經過了刷卡上班的程序,或是進入到特定地域時,手機就會自動關閉照相功能。這篇文章就來聊聊如何在軍隊或是科技業裡利用 Jamf Pro API 針對人員的 iPhone 或 iPad 關閉照相功能 吧!

其實上面的這些問題全部都能實現,蘋果的 iOS、iPadOS 作業系統等也都內建了很強大的 MDM 框架,只要這些設備透過了第三方的的管理程式,如 Jamf Pro納管後,就可以開啟這些內建的管理功能。

目錄

這個系列有兩篇,主要是講如何滿足自動關閉相機的需求,主要會用 Jamf Pro API 及 Swift 語法完成相關內容。

自動啟動 MDM 框架 = 企業級蘋果設備

要進到正題前,其實要先說一下上文提到的 MDM 框架。事實上,不管是從法雅客購買的 iPhone、還是從 PCHome 取得的 iPad,每一台機器裡面都已經內建了 MDM 管理框架,只是從以上通路買到的設備,因為被蘋果視為個人設備,出廠時並不會啟動這個框架,直到使用者手動的將他自己的設備向第三方管理程式報到後,才會啟動這個管理框架。

換句話說,蘋果有另外一種方式,可以讓組織所採購的設備 ,就自動啟動管理框架。而框架如何被啟動的過程,也形成了其能管控的規模範圍。簡單來說,使用者手動向管理程式報到的設備,MDM 管理框架會進入到「登記模式」;而透過全自動啟用 MDM 框架的設備就會被入而「監管模式」。

登記模式 vs 監管模式

因為設備內被啟動管理框架的方式不同,IT 管理員能管理該設備的能力也就跟著不同。以登記模式來說,IT 管理員能從像是 Jamf 這樣的管理平台上對設備安裝 App、或者是移除先前安裝過的 App,但不能對該設備設定限制、也不可以隨意的刪除使用者 App,更不可能限制使用者只能拜訪哪些網站或哪些 App 了。

監管模式則很不一樣。啟用為監管模式的 iPhone 或 iPad 設備,會把裝置管理的最大權限交給 IT 管理員,讓他們可以在像是 Jamf 這樣的管理平台上對設備進行最高權限的管理,像是設備遺失時可以定位、可以在背景自動幫使用者安裝 App、主動限制使用者不能拜訪哪些網站、甚至把裝置上的 App Store 關閉,讓使用者再也不能隨意用自己的 Apple ID 下載 App。

BUT!能不能 關閉照相功能 ,完全是一個大例外。若照著剛才的邏輯,登記模式的設備可以允許 IT 管理員提供資源給用戶,但不能限制其設備的使用;而監管模式的設備不只可以被限制使用能力,管理員要提供資源給他們當然也絕對沒問題。不過再說一次,管理相機是個大例外,蘋果目前的規範是即便設備只進入到登記模式,不用特別進入到監管模式,IT 管理員仍然可以遠端的關閉人員相機的使用。

要不要進監管模式才能關閉照相功能,其實吵了很久

就目前寫這篇文章的時間點(2020 九月)來看,蘋果還沒有規定設備一定要進入到監管模式才能管理相機。也就是說,無論設備現在處於登記模式或是監管模式,IT 管理員都能對該設備的相機功能予以關閉。

近年來,蘋果一直希望往前一步,規範只有進入到監管模式的設備才能被管理員關閉照相功能,但受到全球企業/學校/軍隊用戶的反彈,目前這項政策還未見到實施之日。為什麼呢?以軍隊為例好了,很多人帶著自己的 iPhone 進到營區裡面使用,然而為了保防需求,軍隊裡的長官當然不希望軍人可以在營區內使用照相功能,因此多會要求設備管理平台在軍人進入營區後自動關閉相機。如果是這樣的話,為了要能夠滿足保防需求,軍人就再也不能自己花自己的錢買 iPhone,必須改由軍隊採購,並且自動啟動監管模式,這個對國家的預算編列實則不易,所以才會有不小的反對聲浪。

既然現在蘋果沒有強烈要求設備必須進到監管模式才能被管相機的話,代表 IT 管理員現在就能對使用者自己買的手機或是公司配發的手機,在進入到公司、廠房或營區時就自動 關閉照相功能 。

如何觸發相機關閉?

Jamf Pro 的裝置管理允許我們使用兩種方式自動管理設備,一種是透過 API、另一種是透過地理柵欄。這兩種加起來,幾乎可以處理大部分的自動化需求了。例如當使用者走入特定場域時,手上的 iPhone 就會自動觸發管理機制,進而關閉相機。或是利用 API 結合門禁系統,當使用者刷卡時就自動管理手機上的攝影功能等等。

使用地理柵欄的話,以 iBeacon 為比較常見的手段,這邊感覺可以另外再寫一篇文章了,所以暫時跳過。但如果是結合 API 的話,Jamf Pro 有提供大量的 API 可以與既有的系統整合在一起,可以參考 Jamf Pro API 文件

進入正題:如何導入 Jamf Pro API 跟門禁系統

因為我手上並沒有一個真正的門禁系統可以導入,但是做為概念應該是蠻夠用的。下面的影片裡,我在電腦裡面執行了一個模擬器,模擬為門禁系統。用戶需要先在門禁系統上輸入自己的姓名或工號,當作是上班打卡。所以也可以額外想像成,用戶需要用自己的識別卡感應門禁,做為上班打卡;或也可以想像是用戶對門禁完成人臉辨識,做為上班打卡等等。

不管是自己輸入姓名、員工編號、感應識別卡或人臉辨識,都必須是門禁資料庫裡面的唯一值(所以用姓名來當做例子不太洽當,畢竟一個公司裡面同名同姓的人可能不少)。而只要是唯一值,應該都可以對應到一組或多組設備管理碼,也就是該人員持有的設備。

如果是員工編號的話,應該會得出一個這樣的關係:

工號(會在公司資料庫)用戶設備管理碼(會在 Jamf Pro 上)
0012
0024
00321

如果是感應識別卡的話,可能會得出這樣的關係:

卡號(會在門禁系統)工號(會在公司資料庫)用戶設備管理碼(會在 Jamf Pro 上)
A01X02050012
BNXU22010024
A991HHB200321

手動綁定設備與人員之間的關係

上面的這兩個表格,最重要的部分是如何把這些關係對應起來。在 Jamf Pro 上面,管理員可以手動的把人員跟設備綁定起來;如果要全自動配對的話也可以,但前題是公司需要有目錄服務。

目錄服務是另外一個話題了,所以先單純的講手動配對吧。在 Jamf Pro 裡面找到該設備後,直接對設備的使用者進行編輯,就可以把人員指派給這個裝置:

在 Jamf Pro 裡面找到設備後,可對該設備編輯使用者內容

透過智慧型群組達到自動化管控

Jamf Pro 裡面有一個蠻方便的功能,叫做智慧型群組,它應該是所有做自動化設備管理最關鍵的一項技術。概念很簡單,比起過去手動的一台台把設備加入群組裡面做管理,Jamf Pro 的智慧型群組可以用條件的方式找到設備。

舉個例子來說,用條件的方式我可以找到所有已經打卡上班的人員設備,並且對這些設備關閉相機。所以只要一有人打卡上班,就會自動掉入到這個群組裡,並且自動被關閉相機,中間不需要任何的人為介入。

為了要實現這項功能,我們得在 Jamf Pro 上標記哪一些裝置「正在上班中,相機必須被關閉」,因此就會需要結合到第二個 Jamf Pro 裡很好用的功能,叫做延伸式屬性。

透過延伸式屬性(Extension Attribute)增加設備管理能力

當蘋果設備一被 MDM 管理後,就會提供設備的硬體訊息給 MDM 平台。以 Jamf Pro 為例,除了原本會從設備取得的基本訊息外,還能自己增加欄位(如紅框所示),並且從 Excel、AD 目錄伺服器、API 或手動等方式餵入資訊。

圖片中的 workmode 是一個延伸式屬性,可自行在 Jamf Pro 裡面增加欄位

智慧型群組+延伸式屬性客製化自動管控

經過上面兩點,我們就能在 Jamf Pro 裡面增加一個屬性叫做「需關閉相機」的欄位,並且製作一個智慧型群組,找到所有「需關閉相機」欄位值為「是」的設備。

接著,再利用 Jamf Pro 提供的 API 跟門禁系統整合,只要人員一打卡上班,就依據他的卡號,找到他在公司裡面的工號,進而透過 Jamf Pro 找到他的裝置管理號碼,然後把那台裝置的「需關閉相機」欄位切換成「是」,如此一來這個設備就會自動掉入智慧型群組。

最後,我們只需要把關閉相機的設定套用到「需關閉相機的智慧型群組」就完成了。

下一篇文章,我會把上面這段話的內容用一段很簡單的程式碼介紹如何使用 Jamf Pro 的 API,如果你是懂得如何寫程式的人,可以閱讀 關閉iPhone照相功能, 使用 Jamf API 自動停用鏡頭。如果你不懂得如何寫程式,看到這裡應該就能理解做法了吧(?)。