Language Selection

Your selected language is currently:

English
8 Min Read

Privacy controls on macOS: Screen recording for standard users

July 1, 2021 / Unisys Corporation

Since macOS 11 Big Sur, Apple has made sweeping changes to its underlying macOS privacy controls. Aligning with mobile device management controls allows organizations to increase app security while giving users control over their data and privacy.

The aim of this article is to show how non-admin users can share their screens with applications deployed and approved by their organizations.

Access to camera and microphone controls are accessible to non-admin users when an application is first launched. However, sensitive controls like screen sharing and recording are only available for local admin users. To enable this feature, standard users must click the padlock and input admin account details.

In order to align with the iOS framework where enterprise-controlled devices have extra controls, macOS devices that are enrolled are now supervised, offering increased security and management options for enterprise use. This allows end users to specify granular settings. It is on a per-app basis, so a profile is required for each application that requires this permission.

There are a number of requirements to enable the setting with a custom XML profile until the features are implemented into unified endpoint management (UEM) consoles.

Collecting the application ID and signing information

Two methods are available to gather the necessary strings for identifying which apps will be “whitelisted” for non-admins. These methods can be done by command line or with a VMware Fling that has been provided for this purpose. The application that’s being configured needs to be installed on the user’s device, ideally via UEM application management, to collect the necessary information.

Fling method

The application called Tunnel App Finder will produce the required results for the XML profile.

https://flings.vmware.com/app-finder-for-tunnel

Download and install the file from the above URL.

Install and run the app finder application.

Tunnel App Finder

Locate the application that you want the identifier information from and drag it to the open Tunnel App Finder window. If you have trouble, hold the option at the same time as dragging the application.

Locate Tunnel app finder

The ID and Requirements can be copied and pasted later into our XML Profile.

Command line method

Terminal is an alternative way to collect the ID and requirements using native macOS tools. The installed application name will need to be taken from /Applications. You can view this by running the following command:

cd /Applications

ls

This results in a list of all applications installed.

Applications tab

In this case, we are going to use:

OBS.app

To collect the ID and requirements run the command below:

Type:

codesign --display -r - /Applications/OBS.app

This will produce the following result.

Executable=/Applications/Webex.app/Contents/MacOS/OBS

identifier "com.obsproject.obs-studio" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists / and certificate leaf[field.1.2.840.113635.100.6.1.13] / exists */ and certificate leaf[subject.OU] = "2MMRE5MTB8"

This string will be used in the XML as per the examples in red below.

To generate a unique UDID for the XML, you can visit the following page or use other UUID creation tools.

https://www.uuidgenerator.net/version4

The ID and identifier code mentioned above can also be found online and collected by third parties. For the sake of completeness, it is recommended that you use the aforementioned methods with your own applications and ensure the certificates and identifiers are correct.

The XML profile to set screen recording/sharing

The parts that need to be customized are highlighted in bold below. These methods can only be used to change the screen sharing permission. The new string Apple has created for this function is called:

AllowStandardUserToSetSystemService

The XML will need to be added to a custom profile. For this article, we will be using Workspace ONE. The profile may work for other UEM systems. However, this is only tested on Workspace ONE UEM.

<dict>

<key>Services</key>

<dict>

<key>ScreenCapture</key>

<array>

<dict>

<key>CodeRequirement</key>

<string>identifier "com.obsproject.obs-studio" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "2MMRE5MTB8"</string>

<key>IdentifierType</key>

<string>bundleID</string>

<key>Identifier</key>

<string>com.obsproject.obs-studio</string>

<key>Authorization</key>

<string>AllowStandardUserToSetSystemService</string>

<key>Comment</key>

<string>Allow non-admin users to enable OBS app for Screen Sharing</string>

</dict>

</array>

</dict>

<key>PayloadDescription</key>

<string>Privacy Preference setting for OBS to allow non-admin users to enable Screen Sharing</string>

<key>PayloadDisplayName</key>

<string>OBS TCC Settings</string>

<key>PayloadIdentifier</key>

<string>com.obsproject.obs-studio.AllowStandardUserToSetSystemService</string>

<key>PayloadOrganization</key>

<string>VMware</string>

<key>PayloadType</key>

<string>com.apple.TCC.configuration-profile-policy</string>

<key>PayloadUUID</key>

<string>16757cdf-2baf-4df5-bead-bdcbd7f1995f</string>

<key>PayloadVersion</key>

<integer>1</integer>

</dict>

Deploying the XML profile

To send the configuration to macOS clients, we will use a Workspace ONE UEM profile with a custom payload. This will be a familiar process for many UEM administrators.

Navigate to Groups and settings \ Groups \ Assignment Groups \ Add smart group

Create a smart group for the devices you wish to target.

Then go to Devices \ Profiles \ add

Create a macOS “Device Profile” and configure the general page with the recently created smart group as the target.

macOS profile

Enable the custom XML payload and paste in your edited version of XML with your specific application settings.

 Custom settings

Save and publish.

The job is now done!

Summary

As shown in this document, the privacy controls for macOS are powerful and configured to make sure the user is in compliance. The administrator can set parameters if there is a reason an item should not be accessible to users.

Learn more about how Unisys can help you manage and secure all enterprise devices with Modern Device Management.