Cybersecurity
DevOps Cloud (ADM)
IT Operations Cloud
Recently during a discussion on ZENworks 2017, many of our customers asked for an ability through which IT admins can lock down a mobile device (generally an iPad) to a single app. On further discussion, many use cases surfaced for this. Some of them are:
The more I discussed this, more use cases came to fore. As you are aware ZENworks 2017 provides a great way to manage your mobile devices. From first look, it seems that it is not possible to fulfill the above mentioned use cases with ZENworks 2017. However, if you look closely, ZENworks 2017 packages a powerful way to fulfill such use cases and many others.
iOS Profile Bundle in ZENworks 2017
In ZENworks 2017, you can create a special type of bundle called 'iOS Profile Bundle'. Using this bundle, you can deploy any configuration profile generated using Apple Configurator to iOS devices managed by ZENworks. And as you may have already guessed, one of these configuration profiles allows the devices to be locked to a single app.
In the past, when I have explained this capability to our customers, one of the responses is that being a Windows shop, people don't have access to a mac and thus to Apple Configurator (Some years ago, there used to be a Windows version of Apple Configurator, but it has been discontinued since then). So if you belong to one of such organizations, this cool solution contains a profile which you should be able to use with minor modifications.
There are a few pre-requisites you should meet:
App Lock Profile
Before we go ahead and create a bundle and deploy it, let's quickly examine the profile itself. The attached profile has been generated using Apple Configurator and can be used with very minor changes (as explained below). Extract the zip and the included file can be opened in any text editor. This profile has many parts, but I'll limit myself to things you should change. There are 2 sections you should consider changing:
key>Identifier</key>
<string>com.google.chrome.ios</string>
<key>Options</key>
<dict>
<key>DisableTouch</key>
<false/>
<key>DisableDeviceRotation</key>
<false/>
<key>DisableVolumeButtons</key>
<true/>
<key>DisableRingerSwitch</key>
<false/>
<key>DisableSleepWakeButton</key>
<false/>
<key>DisableAutoLock</key>
<false/>
<key>EnableVoiceOver</key>
<false/>
<key>EnableZoom</key>
<false/>
<key>EnableInvertColors</key>
<false/>
<key>EnableAssistiveTouch</key>
<false/>
<key>EnableSpeakSelection</key>
<false/>
<key>EnableMonoAudio</key>
<false/>
</dict>
<key>UserEnabledOptions</key>
<dict>
<key>VoiceOver</key>
<false/>
<key>Zoom</key>
<false/>
<key>InvertColors</key>
<false/>
<key>AssistiveTouch</key>
<false/>
</dict>
In the above example, by specifying a <true/> value for DisableVolumeButtons, volume buttons on the device would be disabled. Similarly other values can be toggled. More detailed documentation on individual options can be found here. You can search for 'App Lock' in the pdf.
Creating an iOS Profile Bundle
Once you have your profile ready, it is a simple process to create an iOS Profile Bundle.
Using System Variables
In some scenarios, you may want a different app for a different set of devices. In such cases, instead of using multiple bundles, you can create a single bundle and use ZENworks system variables to lock the device to an app. You can use a variable name like - say ${AppName} in place of com.google.chrome.ios in the profile. Then for a set of devices you can define a variable 'AppName' with the appropriate bundle identifier. ZENworks would resolve the variable and substitute it with the correct app identifier before deploying the profile.
With iOS profile bundle, ZENworks 2017 packages a powerful way to fulfill some of the most used cases for iOS devices. Locking a device to an app is one of many things you can accomplish. Using iOS profile bundles, it is possible to deploy certificates, VPN Configurations, Wi-Fi configurations, amongst other things, to devices.