One of the management options Jamf Pro now provides with Blueprints is using DDM declarations to manage the extensions which can used by Apple’s Safari web browser. Let’s see how this works using the Internet Archive‘s Wayback Machine Safari extension, which is available in the Mac App Store via the link below:
https://apps.apple.com/us/app/wayback-machine/id1472432422?mt=12
For more details, please see below the jump.
Safari extensions can be managed using DDM declarations at the user level, which like with user-level MDM profiles, means that they can be applied only to MDM-managed users. When dealing with local accounts, this means that only the local user account which installs the MDM enrollment profile becomes the MDM-managed user. For our purposes here, this means that Safari extension management declarations can only be applied to the MDM-managed user and any other local accounts on the Mac cannot have their Safari extensions managed.
The following options are available for Safari extension management:
Note:
For Allowed Domains and Denied Domains, the following values are supported:
You can also allow an extension to be specifically used on a specific or wildcarded domain, while blocking it for use on all other domains. For example, if you wanted to allow an extension to be used on the top-level company.com domain and all company.com subdomains, but block it on all others, you could define Allowed Domains and Denied Domains like this:
For this example, we’re going to set the Wayback Machine Safari extension to use the following settings:
This setting will do the following for the Wayback Machine Safari extension:
I can set up a Blueprint in Jamf Pro to deploy this Safari extension management configuration using the following procedure:
1. Log into Jamf Pro.
2. Select Blueprints
3. Click the Manage Safari extensions box.
4. Give it a name when prompted. For this example, I’m using Manage Wayback Machine Extension.
5. Select a Jamf Pro smart or static group. For this example, I’m selecting a static group named Safari Extension Deployment Group.
6. At the following screen, we need to provide the identifier of the extension along with our settings.
To do this, we need to get the code signature of the Safari extension file. To obtain the code signature, once you have the extension’s file location, you will need to use the codesign command line tool to run a command similar to the one below:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
codesign -dv /path/to/extension_goes_here.appex |
In the case of the Wayback Machine extension, the extension’s file is available in the following location:
/Applications/Wayback Machine.app/Contents/PlugIns/Wayback Machine Extension.appex
To get the code signature, you would run the following command:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
codesign -dv "/Applications/Wayback Machine.app/Contents/PlugIns/Wayback Machine Extension.appex" |
That should provide output similar to what’s shown below:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
username@computername ~ % codesign -dv "/Applications/Wayback Machine.app/Contents/PlugIns/Wayback Machine Extension.appex" | |
Executable=/Applications/Wayback Machine.app/Contents/PlugIns/Wayback Machine Extension.appex/Contents/MacOS/Wayback Machine Extension | |
Identifier=archive.org.waybackmachine.mac.extension | |
Format=bundle with Mach-O universal (x86_64 arm64) | |
CodeDirectory v=20500 size=788 flags=0x10000(runtime) hashes=13+7 location=embedded | |
Signature size=4797 | |
Info.plist entries=22 | |
TeamIdentifier=ZSFX78H3ZT | |
Runtime Version=13.1.0 | |
Sealed Resources version=2 rules=13 files=165 | |
Internal requirements count=1 size=240 | |
username@computername ~ % |
From this output, we are looking for the values of the following lines:
For the Wayback Machine extension, these are the values shown:
For the Blueprint, this information needs to be formatted as shown below:
Identifier (TeamIdentifier)
For the Wayback Machine extension, this means that the identifier for the Blueprint is the following:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
archive.org.waybackmachine.mac.extension (ZSFX78H3ZT) |
Now that we have the correct identifier, let’s configure the Blueprint settings for the following:
7. Once all the information has been entered and verified to be correct, click the Save button.
8. Once everything has been configured, click the Deploy button to deploy the changes to the Macs you want to manage.
Once deployed, the Blueprints screen in Jamf Pro should show the newly-created Manage Wayback Machine Extension blueprint as being deployed.
On your managed devices, you can verify that the new Safari extension management configuration has been deployed by clicking on the enrollment profile, then scrolling to the bottom. In the case of this example, you should see a User Declarations section with a listing for Safari Extensions.
If you click on the Safari Extensions listing, it should report the following extension is allowed:
archive.org.waybackmachine.mac.extension
For additional information on the configuration, you would need to open Safari and access the extension information for the Wayback Machine extension. There, you should see the following:
There should also be notifications that these settings have been configured by device management.
You should also be able to confirm that the Wayback Machine extension is available in regular Safari browser windows, but not available in private browsing windows.