Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Jamf Proを使って VenturaのBackground Itemを許可する

Atsushi
February 08, 2023
88

Jamf Proを使って VenturaのBackground Itemを許可する

2023年2月8日 JMUG #21

Jamf Proを使ってVenturaのBackground Itemを許可する設定を配布する
https://zenn.dev/ssk_ats/articles/0a98484ce099d6

Appleデバイスの管理対象ログイン項目MDMペイロードの設定
https://support.apple.com/ja-jp/guide/deployment/dep07b92494/

Macのログイン項目とバックグラウンドタスクを管理する
https://support.apple.com/ja-jp/guide/deployment/depdca572563/

バックグラウンドタスク管理の例
https://support.apple.com/ja-jp/guide/deployment/dep91dff5936/

Profile-Specific Payload Keys | Apple Developer
https://developer.apple.com/documentation/devicemanagement/profile-specific_payload_keys

apple/device-management | github.com
https://github.com/apple/device-management

Creating a Signing Certificate Using Jamf Pro's Built-in CA to Use for Signing Configuration Profiles and Packages
https://learn.jamf.com/bundle/technical-articles/page/Creating_a_Signing_Certificate_Using_Jamf_Pros_Built-in_CA_to_Use_for_Signing_Configuration_Profiles_and_Packages.html

Uploading a Configuration Profile for Managed Login Items
https://learn.jamf.com/bundle/technical-articles/page/Uploading_a_Configuration_Profile_for_Managed_Login_Items.html

New Features and Enhancements
https://learn.jamf.com/bundle/jamf-pro-release-notes-current/page/New_Features_and_Enhancements.html

Application & Custom Settings
https://developer.jamf.com/developer-guide/docs/application-and-custom-settings

Getting started with iMazing Profile Editor
https://imazing.com/guides/getting-started-with-imazing-profile-editor

Atsushi

February 08, 2023
Tweet

Transcript

  1. 自己紹介 佐々木 篤 Twitter: @ssk_ats Zenn: @ssk_ats STORES 株式会社 PX部門

    IT本部 コーポレートエンジニアグループ 2014年以前: 2014年: 2018年: ギターやエフェクターを作ったりバンドをやったりし ていました(写真は当時のものです。うけがいいので) Coiney(当時)入社 ヘイ株式会社設立に伴い、情シス部門の立ち上げ 以降Apple製品やネットワークのお世話などをしています 2019年にJMUG #3でお話したり https://speakerdeck.com/sskats/tu-ran-hitoriqing-sisuninatutarada-bian-datutahua-to bing-yi-tu-po-falsehua 2020年にJamfのウェビナーのゲストにお招きいただいたりしてます https://www.brighttalk.com/webcast/18560/454374
  2. 今日のお題 • macOS 13 Venturaのシステム設定に バックグラウンドでの実行を許可 という設定が現れた ◦ バックグラウンドで実行されるアプリケーションやエージェントがインストールされるとユーザーに通知される ▪

    (今回は通知には触れません) ◦ ユーザーがオフにすることができちゃう ▪ Microsoft、macOS 13 VenturaではOfficeやEdgeなどの自動アップデートを行う「AutoUpdate」にユーザー許可が必要になるとシステム管理者向けに通知。 | AAPL Ch. ▪ Adobe、macOS 13 Venturaでのセキュリティ機能強化によりCreative Cloudアプリの自動更新やクラウド同期などが機能しなくなる可能性があると発表。 | AAPL Ch. ◦ セキュリティソフトとかソフトウェアのアップデーターが止められたら困る… ◦ でもJamf Proでは設定できないみたい… ◦ Jamf Proの機能はオフにできないようになっているぞ ◦ 管理する機能は存在する ◦ ならば設定できるのではないか ◦ やってみよう!
  3. 今日のお題…😇 ・設定に必要な情報を集める ・iMazing Profile Editorを使ってmobileconfigファイルを作る ・Jamf ProのCAを使って証明書を作成し、iMazing Profile Editorで署名する ・Jamf

    Proにmobileconfigをアップロードする ・VenturaがインストールされているMacに配布する 😇 Jamf Pro 10.42で必要なくなりました!

  4. 今日のお題………😇 ・設定に必要な情報を集める ・iMazing Profile Editorを使ってmobileconfigファイルを作る ・Jamf ProのCAを使って証明書を作成し、iMazing Profile Editorで署名する ・Jamf

    Proにmobileconfigをアップロードする ・VenturaがインストールされているMacに配布する 😇 Jamf Pro 10.43で必要なくなりました!
  5. Jamf Proに無い機能でも頑張ったら使えるかも! 今回の解説はこんなかんじ • 出来そうだったからやってみたっていうお話 • 全員が出来る必要は無いことです ◦ 出来たら便利だなっていう瞬間はあるかも ◦

    各要素だけでも覚えてたら後で役に立つ瞬間はくるかも • 構成プロファイルってこんな感じなんだねっていうのをふわっと知れるかも • 構成プロファイル楽しそう!って思った人は沼ろう みたいなかんじで行きます
  6. 構成プロファイルって何?どんなことしてるの? Jamf ProとかAppleデバイスに不慣れな方にはチンプンカンプンな内容に突入する可能性があるため 役に立つかはわからないですが簡単な説明を用意しました • mobileconfig(構成プロファイルの正体) ◦ Appleデバイスの設定を書いてOSに渡すときのファイル形式 ◦ 中身はAppleデバイスで何かしらの設定するときに使うplist

    ◦ plistはxmlで書かれているので実質xml • PayloadType ◦ Appleが種類別に用意している機能 ◦ 例: 制限ペイロードの場合 ▪ com.apple.applicationaccess • PayloadKey ◦ PayloadTypeにやってほしいことを伝えるためのあいことば ◦ 例: 制限ペイロードでカメラを制限したい場合 ▪ allowCamera を falseにする 構成プロファイルが適用されるとき JamfとOSはこんな感じのやりとりしてると思って下さい mobileconfig 🤌 このPayloadTypeにある この設定(PayloadKey)を これに書いてある値にして下さい いいよ? ✋
  7. 通常Jamf Proで構成プロファイルを配信する場合、このあたりをJamf Proがよしなにやってくれます 設定内容もxmlを書いたりせず、GUIでできます。ありがたいですね。 • mobileconfig(構成プロファイルの正体) ◦ Appleデバイスの設定を書いてOSに渡すときのファイル形式 ◦ 中身はAppleデバイスで何かしらの設定するときに使うplist

    ◦ plistはxmlで書かれているので実質xml • PayloadType ◦ Appleが種類別に用意している機能 ◦ 例: 制限ペイロードの場合 ▪ com.apple.applicationaccess • PayloadKey ◦ PayloadTypeにやってほしいことを伝えるためのあいことば ◦ 例: 制限ペイロードでカメラを制限したい場合 ▪ allowCamera を falseにする 構成プロファイルって何?どんなことしてるの? mobileconfig 🤌 このPayloadTypeにある この設定(PayloadKey)を これに書いてある値にして下さい いいよ? ✋
  8. がんばってJamf Proに無い機能を使うぞ! ・設定に必要な情報を集める ・iMazing Profile Editorを使ってmobileconfigファイルを作る ・Jamf ProのCAを使って証明書を作成し、iMazing Profile Editorで署名する

    ・Jamf Proにmobileconfigをアップロードする ・VenturaがインストールされているMacに配布する 本日もう何度も出ていて恐縮なこの流れですが、順を追って見てみます
  9. 設定に必要な情報を集める まずはとくかくAppleの公式情報を探します 今回はこのような情報がありました • Appleデバイスの管理対象ログイン項目MDMペイロードの設定 ◦ https://support.apple.com/ja-jp/guide/deployment/dep07b92494/ • Macのログイン項目とバックグラウンドタスクを管理する ◦

    https://support.apple.com/ja-jp/guide/deployment/depdca572563/ • バックグラウンドタスク管理の例 ◦ https://support.apple.com/ja-jp/guide/deployment/dep91dff5936/ 1. “com.apple.servicemanagement” というペイロードタイプに 2. “RuleType”と”RuleValue”というペイロードキーを設定すれば良さそう
  10. RuleTypeとRuleValueの調べ方 • BundleIdentifier(PPPCの設定で見たことある方もいると思います) ◦ 設定を行いたアプリケーションやエージェントのコード署名を確認します ◦ codesign -dv /{path to

    app}/hoge.app みたいな感じで確認できます ◦ 今回例にあげるGoogle Updaterではcom.google.Keystone.Agent が該当します • BundleIdentifierPrefix ◦ 今回例にあげるGoogle Updaterでは com.google.Keystone などになります ◦ 同じ BundleIdentifierPrefix を持つアプリケーションなどを複数指定できます
  11. RuleTypeとRuleValueの調べ方 • Label ◦ sfltool dumpbtm で確認できます ◦ 注意点として、sfltool dumpbtm

    結果のIdentifierがLabelに相当します ◦ 今回の場合はcom.google.keystone.user.agent, com.google.keystone.user.xpcservice ◦ 環境によってはcom.google.keystone.system.agent,com.google.keystone.system.xpcservice ◦ となります • LabelPrefix ◦ BundleIdentifierPrefixと同様、同じLabelPrefixを持つアプリケーションなどを複数指定できます ◦ 今回の場合はcom.google.keystone. などになります ◦ 今回は例としてこれを使ってみます • TeamIdentifier(PPPCの設定で見たことある方もいると思います) ◦ 開発者のチームIDです ◦ 先に挙げたsfltool dumpbtmやcodesign -dvで確認できます ◦ Team Identifierを指定するとおなじTeam Identifierを持つAgentや アプリケーション全てに効いてしまう点にご注意下さい
  12. iMazing Profile Editorを使ってmobileconfigファイルを作る iMazing Profile Editorについては脇の話になるかなと思うのでサックリいきます もうちょっと詳しく見たいなっていう人はこちらでご覧頂けます Jamf Proを使ってVenturaのBackground Itemを許可する設定を配布する

    • Q. iMazing Profile Editorってなに? A. その名の通りAppleの構成プロファイルを作れるアプリケーションです iMazing Profile Editor | Apple構成プロファイルを作成、編集、および署名 • Q. Jamf Pro使ってても使う必要ある? A. 無いです 今回のようにAppleが機能を提供しているけどJamf ProにGUIが無いみたいな場合には便利かもです • Q. mobileconfigってiMazing Profile Editor使わないと作れないの? A. できるけど手書きは大変なので何かしら使ったほうが楽です ProfileCreatorやApple Configuratorでもできると思うので気になる方はどうぞ https://github.com/ProfileCreator/ProfileCreator https://support.apple.com/ja-jp/apple-configurator
  13. iMazing Profile Editorを使ってmobileconfigファイルを作る • Service Managementのペイロードを追加 ◦ Jamf Proのように画面左にペイロード一覧があるので、今回の目的のService Managementを追加します

    • Rule TypeとRule Valueを設定 ◦ Rule TypeにLabelPrefix を指定して、Rule Valueにcom.google.keystoneを指定します • Generalを編集 ◦ 必須項目のName、Identifire、Oganizationを設定する • 一旦保存 ◦ mobileconfigファイルが保存されます
  14. Jamf ProのCAを使って証明書を作成し、iMazing Profile Editorで署名する なんと便利なことにJamf ProにはCA(認証局)が内蔵されています 参考:Creating a Signing Certificate

    Using Jamf Pro's Built-in CA to Use for Signing Configuration Profiles and Packages ルートCA証明書はJamf Pro MDMプロファイルに含まれているため、 Jamf ProのCAを使って署名することで、同じJamf Proに登録されているMacに 自動的に信頼される構成プロファイルを作ることができます 便利すぎる 署名もmobileconfigを作ったiMazing Profile Editorで出来るので ターミナルやCLIが怖いという人でも大丈夫です この項目もJamf Proのドキュメントや元のブログの記事にもあるためサクっといきます
  15. Jamf ProのCAを使って証明書を作成し、iMazing Profile Editorで署名する この行程はmobileconfigを配布するJamf Proの管理下にあるMacから行って下さい • キーチェーンアクセスでCSR(Certificate Signing Request)を作成

    ◦ キーチェーンアクセスを起動し、キーチェーンアクセス > 証明書アシスタント > 認証局に証明書を要求 を開き必要な情報を入力 ◦ 要求の処理をディスクに保存に設定 • Jamf Proで証明書を作成する ◦ Jamf Proの 設定 > グローバル > PKI 証明書 > 管理用証明書テンプレート > 内蔵CA > CSRから証明証を作成を開く ◦ さきほどMacで作成しダウンロードしたCSRの中身(エディタなどで開いて全選択してコピーしたもの)を貼り付けて、証明書のタイ プでWebServer Certificateを選択 ◦ 作成をクリックし、証明書をダウンロード
  16. Jamf ProのCAを使って証明書を作成し、iMazing Profile Editorで署名する この行程は引き続きmobileconfigを配布するJamf Proの管理下にあるMacから行って下さい • ダウンロードした証明書をキーチェーンアクセスに登録する ◦ ダウンロードした証明書をダブルクリックするとキーチェーンアクセスに登録されます

    ◦ 証明書が有効であることを確認する • iMazing Profile Editorで署名する ◦ 前工程で作成したmobileconfigをiMazing Profile Editorで開く ◦ GeneralのProfile Signingドロップダウンを確認すると先程キーチェーンアクセスに登録した証明書があるので選択し、再度保存
  17. Jamf Proにmobileconfigをアップロードする Jamf Proの コンピュータ > 構成プロファイル > アップロード から、先程署名し保存したmobileconfigをアップロードします

    この時点ではJamf ProのGUIに無い項目のため、ペイロードはGeneralしかありません また署名済のため、Jamf Proで変更できる項目は • サイト • カテゴリ • 配布方法 と、今回iMazing Profile Editorでは編集していない • レベル(iMazing Profile EditorではPayload Scopeと表記) のみになります *Jamf Pro 10.43では同じ構成プロファイルで Managed Login Itemsペイロードが確認できます
  18. まとめ • Appleが機能さえ用意していればJamf ProにGUIが無くても頑張れば使える • 署名とか証明書とか面倒そうだなって思ってたけどJamf Proがなんとかしてくれる • 構成プロファイルの中身はとっつきにくいので、Jamf Proの構成プロファイルの

    アプリケーションとカスタム設定 ペイロード から触れてみるのが良いです。とてもおすすめです。 (特に制限ペイロードあたりはトラブルが発生しがちだったので、弊チームでは全てアプリケーションとカスタム設定から設定しています) (既存の構成プロファイルもJamf Pro からダウンロードしてテキストエディタで整形すると読めたりするので興味ある方にはお勧め) • がんばってAppleとJamfのドキュメントを読む ◦ 公式のドキュメントを読むのだいじ ◦ 何か書くときは出来るだけ公式ドキュメントのリンク貼るように心がけています • こういうの楽しいなって思う人だけがやればいいと思います ◦ AppleやJamfをきらいになってほしくない
  19. まとめ: 参考資料 • Apple ◦ Appleデバイスの管理対象ログイン項目MDMペイロードの設定 ▪ https://support.apple.com/ja-jp/guide/deployment/dep07b92494/ ◦ Macのログイン項目とバックグラウンドタスクを管理する

    ▪ https://support.apple.com/ja-jp/guide/deployment/depdca572563/ ◦ バックグラウンドタスク管理の例 ▪ https://support.apple.com/ja-jp/guide/deployment/dep91dff5936/ ◦ Profile-Specific Payload Keys | Apple Developer ▪ https://developer.apple.com/documentation/devicemanagement/profile-specific_payload_keys ◦ apple/device-management | github.com ▪ https://github.com/apple/device-management • Jamf ◦ Creating a Signing Certificate Using Jamf Pro's Built-in CA to Use for Signing Configuration Profiles and Packages ▪ https://learn.jamf.com/bundle/technical-articles/page/Creating_a_Signing_Certificate_Using_Jamf_Pros_Built-in_CA_to_Use_for_Signing_Con figuration_Profiles_and_Packages.html ◦ Application & Custom Settings ▪ https://developer.jamf.com/developer-guide/docs/application-and-custom-settings • iMazing Profile Editor ◦ Getting started with iMazing Profile Editor ▪ https://imazing.com/guides/getting-started-with-imazing-profile-editor