Jamf Proを使ってVenturaのBackground Itemを許可する設定を配布する
追記
Jamf Pro 10.42
Jamf Pro 10.42で、com.apple.servicemanagement
を使用して構築したmobileconfigを署名無しでアップロード可能になりました
Jamf Pro 10.43
Jamf Pro 10.43でManaged Login Items
ペイロードが追加され設定をJamf ProのGUIで作成できるようになったため、この記事のように外部アプリケーションからmobileconfigを作る必要がなくなりました(10.43ではUIが英語のみになります。他のペイロードも英語に戻っているものがありました)
RuleTypeとRuleValue
Jamf ProのGUIで設定を行う際にもRuleType
とRuleValue
は必要になるため、必要に応じてこの記事の内容を参考にして下さい
VenturaのBackground Item
macOS 13 Venturaからバックグラウンドで実行されるアプリケーションやエージェントがインストールされると、ユーザーに確認を求めるようになりました
Venturaにアップデートする前からインストールされているソフトウェアの場合は自動的にバックグラウンドでの動作がオンになりますが、ユーザーがオフにすることもできます
セキュリティソフトや、ソフトウェアのアップデーターなどが止まると困ってしまいますね
Jamf Proにはまだバックグラウンド項目を設定できるGUIはなく、10.44で追加される予定だそうです
追記:Jamf Pro 10.43で追加されました!
また、アプリケーションとカスタム設定
からのplistをアップロードする方法でも強制できませんでした
というわけでmobileconfigを作り署名してJamf Proで配布してみましょう
やりかた
- 必要な情報をあつめる
- iMazing Profile Editorを使ってmobileconfigファイルを作る
- Jamf ProのCAを使って証明書を作成し、iMazing Profile Editorで署名する
- Jamf Proにmobileconfigをアップロードする
- VenturaがインストールされているMacに配布する
必要な情報を集める
Appleのドキュメントを確認してみます
ルールタイプという- BundleIdentifier
- BundleIdentifierPrefix
- Label
- LabelPrefix
- TeamIdentifier
のいずれかの情報が必要そうです
ここでは例としてGoogle Updaterでやってみましょう
該当のアプリケーションがインストールされ実行されたことがあるMacでsfltool dumpbtm
を実行して確認します
結果は省略してあります
Name: GoogleSoftwareUpdateAgent
Developer Name: Google Updater
Team Identifier: EQHXZ8M8AV
Identifier: com.google.keystone.user.xpcservice
URL: file:///Users/****/Library/LaunchAgents/com.google.keystone.xpcservice.plist
Executable Path: /Users/****/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/GoogleSoftwareUpdateAgent.app/Contents/MacOS/GoogleSoftwareUpdateAgent
Name: GoogleSoftwareUpdateAgent
Developer Name: Google Updater
Team Identifier: EQHXZ8M8AV
Identifier: com.google.keystone.user.agent
URL: file:///Users/****/Library/LaunchAgents/com.google.keystone.agent.plist
Executable Path: /Users/****/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/GoogleSoftwareUpdateAgent.app/Contents/MacOS/GoogleSoftwareUpdateAgent
Team Identifier
これはタイトルの通りです
EQHXZ8M8AV
Label
ややこしいですが、Identifier
がLabel
に相当します
com.google.keystone.user.agent
com.google.keystone.user.xpcservice
(インストールの方法などりにより、com.google.keystone.system.agent
とcom.google.keystone.system.xpcservice
になってたりします。ご利用の環境でご確認下さい)
BundleIdentifier
GoogleSoftwareUpdateAgentのコード署名を確認することでBundleIdentifier
が確認できます
codesign -dv /{path}/GoogleSoftwareUpdateAgent.app
結果は省略してあります
Identifier=com.google.Keystone.Agent
TeamIdentifier=EQHXZ8M8AV
com.google.Keystone.Agent
どれを使えば良いの
設定の範囲を考えながら選びましょう
今回はLabelPrefixを使ってmobileconfigを作ってみます
iMazing Profile Editorを使ってmobileconfigファイルを作る
iMazing Profile Editor
くわしい使い方はこちら(一回iMazingと間違えて入れてしまったのは内緒)
Service Management - Managed Login Itemsの設定
Service Managementのペイロードを追加
Rule TypeとRule Valueを設定
LabelPrefix
com.google.keystone
Generalを編集
必須項目のName
、Identifire
、Oganization
を設定する
それ以外の項目は任意となります。後述しますがJamf ProにアップロードしてしまうとPayload Descriptionが
編集できなくなるため、必要な場合はここで入力して下さい
一旦保存する
Sign profile with:
をDo nt sign
にして、一度保存します
Jamf ProのCAを使って証明書を作成し、iMazing Profile Editorで署名する
この行程は、mobileconfigを配布するJamf Proの管理下にあるMacから行って下さい
キーチェーンアクセスでCSR(Certificate Signing Request)を作成
キーチェーンアクセスを起動して、
キーチェーンアクセス > 証明書アシスタント > 認証局に証明書を要求
を開き、必要な情報を入力します
このとき、要求の処理
をディスクに保存
にして下さい
Jamf Proで証明書を作成する
Jamf Proの
設定 > グローバル > PKI 証明書 > 管理用証明書テンプレート > 内蔵CA > CSRから証明証を作成
を開きます
さきほど作成しダウンロードしたCSRの中身(エディタなどで開いて全選択してコピーしたもの)を貼り付けて、証明書のタイプでWebServer Certificate
を選択します
作成をクリックし、証明書をダウンロードします
ダウンロードした証明書をキーチェーンアクセスに登録する
ダウンロードした証明書をダブルクリックするとキーチェーンアクセスに登録されます
証明書が有効であることを確認してください
この作業を行うMacが、証明書を作成したCAを持っているJamf Proの管理下に無い場合、証明書が自動で信頼されません
iMazing Profile Editorで署名する
作成したmobileconfigをiMazing Profile Editorで開きます
GeneralのProfile Signing
ドロップダウンを確認すると先程キーチェーンアクセスに登録した証明書があるので選択し、再度保存します
Jamf Proにmobileconfigをアップロードする
Jamf Proの
コンピュータ > 構成プロファイル > アップロード
から、先程作成したmobileconfigをアップロードします
Jamf ProのGUIに無い項目なのでペイロードはGeneralしかありません
また署名済のため、変更できる項目はサイト
、カテゴリ
、配布方法
と、iMazing Profile Editorで編集していないレベル
(iMazing Profile EditorではPayload Scope
と表記)のみになります
VenturaがインストールされているMacに配布する
必ずmacOS 13 Ventura以降のOSがインストールされているMacをScopeにしましょう
該当のmobileconfigが配布されたMacのログイン項目はこのような表示になります
Google Updaterが許可されており、操作できないようになりました
ちなみにTeam Identifierを指定するとおなじTeam Identifierを持つAgentやアプリケーションに効いてしまうためこのようになります
必要以上の権限で制御するのも考えものなので、よしなにやりましょう
この設定が反映されたMacに該当のアプリケーションなどがインストールされるとこのような通知が出ます
参考
Appleデバイスの管理対象ログイン項目MDMペイロードの設定
Macのログイン項目とバックグラウンドタスクを管理する
バックグラウンドタスク管理の例
Getting started with iMazing Profile Editor
- Signing Profiles | Getting started with iMazing Profile Editor
https://imazing.com/guides/getting-started-with-imazing-profile-editor#signing-profiles
Creating a Signing Certificate Using Jamf Pro's Built-in CA to Use for Signing Configuration Profiles and Packages
さいごに
かなり駆け足だったためわかりづらい部分もあったかと思いますがご容赦ください
年末に子供たちの奇声が響くなか書いたので、間違いとか勘違いとかあったらこっそり教えて下さい
MacAdminの皆様、今年もお疲れ様でした
Discussion