This week is all around another Android Enterprise related subject. This week is about the additional configuration layer that is also known as OEMConfig. OEMConfig provides OEMs with the capabilities of building an additional configuration layer on top of the configuration layer that is provided out-of-the-box via the Android Management API. That provides Microsoft Intune with the possibility to implement support for OEMConfig and that provides the OEM with the possibility to implement additional configuration options via OEMConfig. That enables the OEM to quickly introduce new features, without having to wait on Microsoft Intune to introduce those new features. In this post I’ll start with a further introduction to OEMConfig, followed with an example of using OEMConfig. In that example I’ll use the Samsung Knox Service Plugin (KSP) app to show how that can be used to add additional options on top of the configuration options that are already available within Microsoft Intune. I’ll end this post by having a look at the end-user experience of that example.
Introduction to OEMConfig
OEMConfig provides an additional configuration layer on top of the Android Management API. That might sound like a contradiction with the initial thoughts about Android Enterprise. The initial thoughts were that Android Enterprise would solve all the different configuration options that became available for Android Device Administrator via the different OEMs. That’s, however, not really what Android Enterprise provides. Android Enterprise provides the basic management APIs and OEMs can utilize OEMConfig to build on top of that. The big difference, however, is that it’s now standardized by Google. OEMConfig is defined on a similar configuration standard as AppConfig. The OEM creates an app that uses app configuration to configure OEM specific configurations. That enables Microsoft Intune to implement the basic management options that are available via the Android Management API and on top of that to implement support for the OEMConfig standard, to be able to support all the settings that are available via the Android Management API and all the settings that are available via the different OEMs. With the support of Microsoft Intune for OEMConfig that means the following flow from the OEM API to the configuration on the Android device.
- The OEM develops their own API on top of the Android Management API
- The OEM develops their own OEMConfig app that supports their own API
- The OEM publishes their own OEMConfig app in the Google Play Store
- The IT administrator uses Microsoft Intune to approve and distribute the OEMConfig app
- The IT administrator uses Microsoft Intune to configure the available settings via the OEMConfig app
- The users provisions and configures their Android device via Microsoft Intune
- Microsoft Intune pushes the OEMConfig app via the Managed Google Play Store
- Microsoft Intune pushes the configuration to the OEMConfig app
Note: Keep in mind that this is a continuous flow (with exception of step 4,6 and 7). When the OEM provides new settings via their API (and their OEMConfig app), Microsoft Intune will be able to configure those settings with the updated version of the OEMConfig app.
Distribute and configure the Samsung Knox Service Plugin app
As an example, let’s have a look at the Samsung Knox Service Plugin (KSP) app. The KSP app enables IT administrators to use (a subset of) the Knox Platform for Enterprise (KPE) features as soon as those features are available. In this case, the KSP app (OEMConfig app) interfaces with the KPE APIs (the OEM API). The KSP app can be used with OEMConfig in Microsoft Intune to do additional configurations, or basic configurations that are not yet available via Microsoft Intune, on Samsung devices. The required actions within Microsoft Intune are described below.
Note: Keep in mind that the Samsung KSP app is just an example. Many more OEMs provide OEMConfig apps nowadays. The list of supported OEMConfig apps in Microsoft Intune can be found here.
Approve and distribute the Samsung Knox Service Plugin app
The first action is to approve and distribute the KSP app. The KSP is published in the Google Play Store and can be approved and distributed by following the next seven steps.
- Open the Microsoft Endpoint Manager admin center portal navigate to Apps > All apps > Android to open the Android | Android apps blade
- On the Android | Android apps blade, click Add to open the Select app type page
- On the Select app type page, select Managed Google Play app as App type and click Select to open the Managed Google Play page
- On the Managed Google Play page, search for the Knox Service Plugin app, select the app and click Approve to open the Permissions dialog
- On the Permissions dialog, click Approve to open the Approval settings dialog
- On the Approval settings dialog, select Keep approved when app requests new permissions click Done
- Click Sync (as shown in Figure 3) to synchronize the approved app to Microsoft Intune
Configure the Samsung Knox Service Plugin app
The second action is to configure (some of) the available options of the KSP app. This requires the first action to be successfully completed, as the KSP app must be available within Microsoft Intune to continue with the configuration. To show the added value of OEMConfig, the example configuration will be focused on the new Android Enterprise Corporate-Owned devices with Work Profile deployment scenario. At this moment that deployment scenario doesn’t provide the ability to prevent data sharing between the Work Profile and the personal profile, while the KSP app does provide that ability. Besides that, the configuration will customize the device to clearly show that OEMConfig was used. The following eight steps walk through the process of creating and assigning that OEMConfig configuration profile.
- Open the Microsoft Endpoint Manager admin center portal navigate to Devices > Configuration profiles to open the Devices | Configuration profiles blade
- On the Devices | Configuration profiles blade, select Create profile to open the Create a profile page
- On the Create a profile page, provide the following information and click Create
- Platform: Select Android Enterprise
- Profile: Select OEMConfig
- On the Basics page, provide the following information and click Next
- Name: Provide a valid name for the OEMConfig configuration profile
- Description: (Optional) Provide a valid description for the OEMConfig configuration profile
- OEMConfig app: Click Select an OEMConfig app and select the Knox Service Plugin app and click Select
- On the Configuration settings page, provide the following information and click Next
- On the Knox Service Plugin settings section, provide the following information (see Figure 2) and click on Configure with Work profile policies (Profile Owner)
- Profile name: Provide a valid unique name for the profile to recognize the settings of this profile
- KPE Premium or Knox Suite License key: Provide a KPE Premium license key or a Knox Suite license key to provide support for the premium features that are available
- Debug mode: Select true to enable debug mode and show the KSP app for viewing debug information
- On the Work profile policies (Profile Owner) settings section, provide the following information (see Figure 3) and click on Configure with Work profile configuration (Premium)
- Enable work profile policies: Select true to enable the Work Profile policies
- On the Work profile configuration (Premium) settings section, provide the following information (see Figure 4), return to Work profile policies (Profile Owner) section and click on Configure with RCP policy (Premium)
- Enable work profile configuration controls: Select true to enable the Work Profile configuration controls
- Allow adding apps from personal space to work profile: Select false to prevent installing apps from the personal space to the Work Profile
- Customize work profile tab name: Provide a custom name for the Work Profile tab on the home screen and the device settings to clearly show that OEMConfig is applied
- Customize personal tab name: Provide a custom name for the personal tab on the home screen and the device settings to clearly show that OEMConfig is applied
- On the RCP policy (Premium) settings section, provide the following information (see Figure 5)
- Enable RCP Policy Controls: Select true to enable the RCP policy controls
- Allow moving files from personal space to work profile: Select false to prevent moving files from the personal space to the Work Profile
- Allow moving files from work profile to personal space: Select false to prevent moving files from the Work Profile to the personal space
- Enable RCP data sync policy (Configure profiles below): Select false to disable the RCP data sync policy
- Enable Sharing of Clipboard Data to Owner: Select false to prevent the sharing of the clipboard data
Important: The settings with premium in the postfix of the name, require additional Samsung licensing.
Note: At some point in time the data moving and sharing settings will probably become available in a device restrictions policy without the need of an OEMConfig.
- On the Scope tags page, configure the applicable scope tags and click Next
- On the Assignments page, configure the assignment by selecting the applicable group and click Next
- On the Review + create page, review the configuration and click Create
End-user experience with the Samsung Knox Service Plugin app
Now let’s end this post by having a look at the end-user experience. The best method to test the end-user experience after applying the configurations that are applied via the KSP app, is by having a look at a few screens. Below in Figure 6 is an example of the customization. The personal space and the Work Profile are renamed, to clearly show that the OEMConfig is applied. Below in Figure 7 and 8 are examples of the clipboard sharing. The clipboard items of the personal space are available in the Work Profile (Figure 8), but the clipboard items of the Work Profile are not available in the personal space (Figure 7).
Below in Figure 9 and 10 are examples of the file separation. The screenshot of the clipboard in the personal space, is only available in the files of the personal space (Figure 9) and the screenshot of the clipboard in the Work Profile, is only available in the files of the Work Profile (Figure 10). The best part of that separation isn’t even available in the screenshot, as the best part is that it’s also not allowed to move the file from personal space to the Work Profile or from the Work Profile to the personal space. Below in Figure 11 is an overview of the OEMConfig that is applied via the KSP app.
Note: Make sure to test the behavior across multiple devices and multiple versions of Android, in combination with the required Android Enterprise deployment scenario. I’ve seen differences in behavior across devices and Android versions, especially in combination with Android Enterprise Corporate-Owned devices with Work Profile. Sometimes even just after waiting some time.
For more information around Android Enterprise and the use of OEMConfig, have a look at the following docs.