{"id":26548,"date":"2019-09-10T16:49:19","date_gmt":"2019-09-10T20:49:19","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=26548"},"modified":"2019-09-10T16:50:04","modified_gmt":"2019-09-10T20:50:04","slug":"manipulating-the-system-policy-database-with-configuration-profiles","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2019\/09\/10\/manipulating-the-system-policy-database-with-configuration-profiles\/","title":{"rendered":"Manipulating the System Policy Database with Configuration Profiles"},"content":{"rendered":"<p><a href=\"https:\/\/tombridge.com\/2019\/09\/04\/manipulating-the-system-policy-database-with-configuration-profiles\/\">Tom Bridge<\/a>:<\/p>\n<blockquote cite=\"https:\/\/tombridge.com\/2019\/09\/04\/manipulating-the-system-policy-database-with-configuration-profiles\/\">\n<p>The <code>spctl<\/code> binary that is part of macOS&rsquo;s command line interface, and has been for a very long time, are responsible for controlling what Gatekeeper looks at. These both write to a <code>sqlite3<\/code> database stored at <code>\/var\/db\/SystemPolicy<\/code>, and think of it a lot like a database of ID cards that the security guard at the desk will review. If your card is recognized, you pass through security without more than a passing hello at the barrier. If you card is <strong>not<\/strong> recognized, your ID is checked, your destination cleared, your name jotted down, and you&rsquo;re granted a card if you belong.<\/p>\n<p>[&#8230;]<\/p>\n<p>This system can be directly manipulated via configuration profile, and those configuration profiles can be delivered by a capable MDM. Moreover, this has been the case since macOS 10.12. Hidden away in Apple&rsquo;s documentation is the <a href=\"https:\/\/developer.apple.com\/documentation\/devicemanagement\/systempolicyrule\">SystemPolicyRule<\/a> payload type, which can allow you to embed whitelisted objects in an MDM Profile.<\/p>\n<p>[&#8230;]<\/p>\n<p>While all of the above is intended for the <code>operation:install<\/code> key, <code>operation: execute<\/code> would allow you to run non-notarized Applications without Gatekeeper dialogs for those applications that are downloaded in their entirety without an installer package. You will need a separate profile if you want to whitelist both an installer and an application.<\/p>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/09\/04\/notarization-requirements-relaxed\/\">Notarization Requirements Relaxed<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Tom Bridge: The spctl binary that is part of macOS&rsquo;s command line interface, and has been for a very long time, are responsible for controlling what Gatekeeper looks at. These both write to a sqlite3 database stored at \/var\/db\/SystemPolicy, and think of it a lot like a database of ID cards that the security guard [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2019-09-10T20:49:23Z","apple_news_api_id":"d6d05b0c-62d3-4b05-ba21-85067c5491dd","apple_news_api_modified_at":"2019-09-10T20:50:09Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAA==","apple_news_api_share_url":"https:\/\/apple.news\/A1tBbDGLTSwW6IYUGfFSR3Q","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[1850,465,30,1381,1666,1746,1842],"class_list":["post-26548","post","type-post","status-publish","format-standard","hentry","category-technology","tag-apple-configurator","tag-gatekeeper","tag-mac","tag-macos-10-12","tag-macos-10-15","tag-mobile-device-management-mdm","tag-notarization"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/26548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=26548"}],"version-history":[{"count":2,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/26548\/revisions"}],"predecessor-version":[{"id":26558,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/26548\/revisions\/26558"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=26548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=26548"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=26548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}