To enable chrome policies on MacOS, you can install the proper configuration profile by following the steps here: https://support.google.com/chrome/a/answer/9020077
Create a configuration profile
- Download the Chrome Browser bundle for Windows zip file. This file contains both Windows and Mac configuration files.
- Open the bundle and go to the Configuration folder.
- Make a copy of the
com.google.Chrome.plist
file.
- This MCX .plist (property list) example file contains a sub-set of policies that you can customize for your deployment.
- Open the .plist file in your preferred editor.
You can edit the file with any text editor. It's usually easier to edit a .plist file using an editing tool that formats the XML code for you, such as Xcode, which is available for free from the Apple developer website.
- Make your required changes and save the file.
- Convert your
com.google.Chrome.plist
file to a configuration profile using your preferred conversion tool, such as mcxToProfile on github.
For example, to use mcxToProfile to convert your file to a configuration profile, enter mcxToProfile.py --plist com.google.Chrome --identifier com.google.Chrome
.
The output from this command is an installable configuration profile named com.google.Chrome.mobileconfig
.
You can check the status of which policies/values are actually getting applied in chrome://policy
Example .plist content:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IPv6ReachabilityOverrideEnabled</key>
<true/>
</dict>
</plist>
The Chrome executable should also support a --policy
parameter to apply policies from the commandline with a comma-separated dictionary, but it did not seem to work in my testing (I may have been getting the syntax wrong):
https://source.chromium.org/chromium/chromium/src/+/main:components/policy/core/common/policy_switches.cc;bpv=1;bpt=1?q=kChromePolicy&ss=chromium
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-features=IPv6ReachabilityOverrideEnabled
but it didn't seem to affect Chrome's behavior at all. I also tried/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --flag-switches-begin --enable-features=IPv6ReachabilityOverrideEnabled --flag-switches-end
and that had no obvious effect either.