MDM経由のmacOSデプロイ

本ページでは、MDMプラットフォーム (Jamf、Intune、Kandji、Mosyleなど) 経由で、ユーザー操作なしにKeeperエンドポイント特権マネージャー (Keeper EPM) を管理対象Macへデプロイする方法を取り扱います。正しいMDMデプロイでは、3つの構成プロファイルを配布し、署名済み .pkg をインストールし、必要に応じて再起動してシステム拡張とフルディスクアクセス (FDA) の付与を反映します。
ここでは、Keeper EPMがMDM側に求める要件に焦点を当てます。プロファイルのアップロード、デバイスグループへの割り当て、InstallEnterpriseApplication (または同等) コマンドの配信など、お使いのMDM製品の操作は既知である前提です。対話型インストール、サービス管理、手動登録については、macOSでのデプロイをご参照ください。
MDMが配布すべきもの
準拠したMDMデプロイは、3つの構成プロファイル、署名済みインストーラーパッケージ、および任意の再起動コマンドで構成されます。すべてのプロファイルはSystem (デバイス) チャネルにスコープする必要があります。
1
登録キー
com.apple.ManagedClient.preferences
インストール後にエージェントが自動登録するよう登録トークンを書き込む
2
システム拡張の事前承認
com.apple.system-extension-policy
Endpoint Security拡張を事前承認し、サイレント有効化を可能にする
3
フルディスクアクセス (PPPC)
com.apple.TCC.configuration-profile-policy
KEPMバイナリとシステム拡張にフルディスクアクセスを付与する
パッケージ
署名済み keeper-privilege-manager.<version>.<arch>.pkg (Developer ID Installer)
Team ID
234QNB7GCA (Callpod Inc. / Keeper Security本番ビルド)
プロファイルのスコープ
すべてのプロファイルを System スコープ (デバイスチャネル)
再起動
初回インストール後に拡張の有効化とTCCの反映のため推奨
3つのプロファイルがすべてインストールされ、パッケージがディスク上にあり、拡張が [activated enabled] と報告され、有効化されたビルドが埋め込みシステム拡張のバージョンと一致している場合、Post Install Stepsウィンドウは表示されません。埋め込み拡張が新しいインプレースPKGアップグレードで、かつその拡張がすでに有効化済みの場合、com.keeper.keeperse はMDMインストールと手動インストールの両方で、サイレントに置換リクエストを送信します。初回のサイレント有効化には、引き続きシステム拡張のMDMプロファイルが必要です。
デプロイの順序
すべての構成プロファイルをインストールパッケージより先に配信してください。パッケージの実行前にデバイス上にプロファイルが存在している必要がありますが、デバイスのベースライン構成の一部として数時間または数日前に配信しておくこともできます。以下は、一般的な1セッションでのデプロイ順序です。
Registration Key profile
System Extension profile
FDA (PPPC) profile
InstallEnterpriseApplication(.pkg)RestartDevice(optional, recommended on first deploy)
パッケージ実行前にプロファイルを配信
macOSは、ディスク上のファイルではなく、Keeper EPMのTeam IDとバンドル識別子に対してシステム拡張およびPPPCペイロードを評価します。パッケージの実行前にプロファイルがインストールされていれば、バイナリが配置されたときにTCC付与とシステム拡張の有効化が正しく適用されます。
初回デプロイ後に再起動
システム拡張プロファイルがある場合、システム拡張ホストアプリ(com.keeper.keeperse LaunchDaemon)が拡張の有効化リクエストを自動送信します。再起動により、有効化、FDAの適用、登録用の起動ジョブがクリーンなブート順で実行されます。
MDMコマンド間に短い間隔
通常は1~2秒の遅延を設けると、続くコマンドが届く前にデバイスがチェックインして各ペイロードを適用できます。正確な間隔は環境によって異なるため、ネットワーク状態、MDMプラットフォーム、デバイスのハードウェアに応じて、環境内で安定して動作する値に調整してください。
プロファイル1: 登録キー
ペイロードタイプ: com.apple.ManagedClient.preferences
書き込み先: /Library/Managed Preferences/com.keeper.keeper-privilege-manager.plist
キー: KEEPERREGCODE (デプロイ用登録トークン。形式は hostname:deployment-uid:private-key)
ペイロードの例
インストールとサービス開始後、Keeper EPMは管理対象プリファレンスを読み取り、自動登録します。MDMモードでは登録ダイアログは表示されません。
デバイス上での確認
プロファイル2: システム拡張の事前承認
ペイロードタイプ: com.apple.system-extension-policy
拡張バンドルID: com.keeper.keeper-privilege-manager.monitor
Team ID: 234QNB7GCA
拡張タイプ: EndpointSecurityExtension
ペイロードの例
デバイス上での確認
プロファイル3: フルディスクアクセス (PPPC)
ペイロードタイプ: com.apple.TCC.configuration-profile-policy
サービス: SystemPolicyAllFiles (TCCキー kTCCServiceSystemPolicyAllFiles)
Keeper EPMは、ラッパーアプリ、デーモン、ホストアプリ、システム拡張にFDAが必要です。各PPPCエントリの CodeRequirement は、親や接頭辞のIDではなく、バイナリの実際のcodesign Identifier を使う必要があります。
必要なFDA対象
UI名 (システム設定)
バンドルID / パス
CodeRequirement内のcodesign Identifier
KeeperPrivilegeManager
com.keeper.endpoint-privilege-manager.launcher
com.keeper.endpoint-privilege-manager.launcher
(ラッパーパス)
/Library/Keeper/KeeperPrivilegeManager.app
launcherと同じ
(デーモン署名ID)
com.keeper.endpoint-privilege-manager.privilege-manager
com.keeper.endpoint-privilege-manager.privilege-manager
(デーモンパス)
/Library/Keeper/sbin/KeeperPrivilegeManager
daemonと同じ
Keeper Endpoint Privilege Manager
com.keeper.keeper-privilege-manager
com.keeper.keeper-privilege-manager
Keeper Endpoint Privilege Manager Extension
com.keeper.keeper-privilege-manager.monitor
com.keeper.keeper-privilege-manager.monitor
(埋め込み拡張パス)
ホストアプリ配下 Contents/Library/SystemExtensions/...
monitorと同じ
裸の com.keeper.endpoint-privilege-manager や .service は使わないでください。本番ビルドでは .launcher (ラッパー) と .privilege-manager (デーモン) を使います。exec 後にデーモンがラッパーからFDAを継承するとは想定しないでください。デーモンにも明示的に付与してください。
PPPCルール
Allowedのみを使用します (<integer>1</integer>または<true/>)。同一エントリでAllowedとAuthorizationを併用しないでください。macOSがペイロードを拒否します。CodeRequirementのidentifier "..."は、そのバイナリのcodesign -dvのIdentifier=と一致させる必要があります。本番 (Callpod Inc.) のTeam IDは234QNB7GCAです。外側プロファイルの
PayloadScopeをSystemに設定します。独自プロファイルを作成する場合は、一意の
PayloadUUIDとPayloadIdentifierを生成します。GUIDも利用できます。MDMOverrides.plistにAllowed=1があっても十分ではありません。CodeRequirementが不一致だと実行時のFDAは無効のままです (例: DownloadsでEPERM)。
3つの識別子の整合
MDMのPPPC付与をサイレントに適用するには (システム設定でユーザーに確認を求めない)、対象プロセスごとに以下の3つの識別子がすべて一致している必要があります。
1
アプリバンドルのコード署名 (codesign -dvvvv … | grep ^Identifier)
PPPCプロファイルエントリ内のバンドルID
2
アプリの Info.plist 内の CFBundleIdentifier
上記と同じ
3
アプリを起動するLaunchDaemon plist内の AssociatedBundleIdentifiers 配列
上記と同じ
いずれかが欠落または不一致だと、macOSはPPPC付与を実行中プロセスに対応付けできません。MDMプロファイルがインストール済みでも、ユーザーは [システム設定] → [プライバシーとセキュリティ] → [フルディスクアクセス] で手動承認を求められます。
KeeperPrivilegeManagerの整合確認
FDAプロファイル適用の確認
TCCを深く確認するには、MDMOverrides.plist を調べます。このファイルを読むには、呼び出し元アプリ (例: ターミナル) 自身にもFDAが必要です。
パッケージのインストール
署名済み .pkg を管理対象Macから到達可能なHTTPSでホストし、MDM経由で配信します。
リクエストタイプ:
InstallEnterpriseApplicationマニフェスト: pkg URLと任意のSHA-256チャンクマニフェストを持つ
software-packageアセット
要件
有効な Developer ID Installer 署名 (Callpod Inc.)
MacがDNS解決、TLS完了、ファイアウォール経由でのURL到達が可能であること
WebサーバーがHTTP200を返し、サーバーがファイルを読める権限であること
デバイス上での確認
想定されるlaunchdエントリは以下のとおりです。
com.keeper.keeper-privilege-manager(メインサービス)234QNB7GCA.com.keeper.keeper-privilege-manager.monitor(システム拡張)com.keeper.keeperse(拡張有効化用ホストアプリ)
想定される最終状態
MDMデプロイと再起動が成功したあと:
Keeperの3プロファイルすべて
インストール済み (profiles show -type configuration)
システム拡張
systemextensionsctl list で [activated enabled]
Post Install Stepsウィンドウ
表示されない
エージェント登録
/api/Keeper/registration で IsRegistered: true
システム設定のFDA
MDM付与が有効でもトグルがオフに見える場合がある (MDM管理のFDAでは正常)
クイック検証チェックリスト
デプロイ後、管理対象Macで実行します。
本番グループへ展開する前に、すべての確認を通過させてください。
トラブルシューティング
FDAプロファイルはインストール済みだがTCC付与なし
パッケージより前にFDAを配信
インストール後にFDAプロファイルを再配信
FDAプロファイルはインストール済みだが、ユーザーが手動承認を求められる
LaunchDaemon plistに AssociatedBundleIdentifiers がない、または識別子不一致
3つの整合を確認: codesign ID = Info.plist の CFBundleIdentifier = /Library/LaunchDaemons/com.keeper.keeper-privilege-manager.plist の AssociatedBundleIdentifiers[0]。KEPM 2.1.0.1789以降を使用
MacがFDAプロファイルを拒否
不正なPPPCペイロード (Allowed + Authorization、不正なUUID)
profiles show でペイロードを検証し、エントリごとに制御キーワードを1つに
拡張が [activated enabled] でない
システム拡張プロファイル欠落、またはホストアプリ未実行
sysextポリシー内容 (Team ID + monitorバンドルID) を確認し、再起動または再デプロイ
Post Install Stepsウィンドウが表示される (FDAのみ)
ホストアプリ起動時にFDA PPPC内容がない
PPPCの SystemPolicyAllFiles 付与を確認し、FDAを再配信
エージェント未登録
regcode管理プリファレンス欠落、または古いKEPMビルド
/Library/Managed Preferences/com.keeper.keeper-privilege-manager.plist を確認。KEPM 2.1.1.2以降を使用
パッケージはAcknowledgedだが未インストール
HTTP 403、署名不良、ハッシュ不一致
ホスティングを修正。pkgutil --check-signature で署名を確認
Intuneデプロイ後にPost Install Stepsウィンドウ
プロファイル識別子がGUID (想定どおり)
Keeperの逆DNS識別子ではなく、profiles … -output stdout-xml でペイロード内容を確認
関連ページ
最終更新

