macOS 10.14 以降では、一部のユーザアプリケーションデータへのアクセス時にユーザ承認が必要になります。
ユーザは、システム環境設定の セキュリティとプライバシー (Security & Privacy) 領域 (macOS 12以前)、またはシステム設定のプライバシーとセキュリティ (Privacy & Security) 領域 (macOS 13以降) で新しい「フルディスクアクセス (Full Disk Access)」カテゴリへ App を追加することで、App を事前承認できます。App 追加によって、プロンプトがなくてもすべての機密個人データへのアクセスをユーザが事前承認することになります。システム環境設定でこのプロセスを完了する際は、管理者認証が必要です。
macOS 10.14 以降の新しい Privacy Preferences Policy Control ペイロードがあれば、MDM 経由で承認のリモート管理ができます。
ユーザへの影響
macOS 10.14 以降で、保護されたファイルや App データにアクセスしようとする Apps があると、「許可」または「拒否」を求める画面がエンドユーザに表示される場合があります。App 開発者がデータアクセス要求の理由を説明する文字列を Info.plist に追加した場合は、その文字列もプロンプトと一緒に表示されます。
旧バージョンの Xcode でコンパイルされた App は、プロンプトによる使用状況の説明を表示しない場合があります。
Jamf Pro 管理者への影響
Jamf Pro 管理者は、macOS 10.14 以降の次の動作に対する準備が必要です。
Terminal 経由で実行される一部のポリシーは、「Terminal」を許可/拒否するためのユーザプロンプトを表示することがあります。
バックグラウンドで、Jamf binaryによって実行される一部のポリシーは、エラーを起こすことがあります。このエラーは、成功として間違って報告される場合があります。
Privacy Preferences Policy Control ペイロード
オーガニゼーションは macOS 10.14 以降のモバイルデバイス管理を使用し、Apple の新 Privacy Preferences Policy Control ペイロードでこれらのセキュリティ環境設定をリモート管理できます。
AddressBook
Calendar
Reminders
Photos
Camera
Microphone
Accessibility
PostEvent
SystemPolicyAllFiles
SystemPolicySysAdminFiles
AppleEvents
| Dictionary Key | 説明 |
|---|---|
Identifier | App またはサービスを識別する一意の数値。App バンドル ID またはバイナリのインストレーションパスを使用します。 |
Identifier Type | App バンドルであるか、バイナリであるかに応じて、必ず App バンドル ID またはファイルパスのいずれかを使用します。 |
Code Requirement | App またはサービスへのサインインに使用されるデベロッパ証明に基づく一意の数値。この値はコマンド |
Static Code | オプション:App が /usr/bin/log を使用して表示されたサービスと一緒に |
Allowed | Boolean: |
- コード署名要件とバンドル ID
- カスタム構成プロファイルを作成する Jamf Pro 管理者は、保護されたユーザデータへのアクセスを許可するために、App 用のコード署名要件とバンドル ID を含める必要があります。以下の
codesignコマンドを実行し、コード署名要件とバンドル ID 識別子 (必要な場合) を入手します。codesign -dr - /Applications/Application.apcodesign -dr - /path/to/binary下表の例を参照してください。インプット アウトプット codesign -dr - /usr/local/bin/jamfExecutable=/usr/local/jamf/bin/jamf designated => identifier "com.jamfsoftware.jamf" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] / exists / and certificate leaf[field.1.2.840.113635.100.6.1.13] / exists / and certificate leaf[subject.OU] = "483DWKW443"
codesign -dr - /Library/Application\ Support/JAMF/Jamf.appExecutable=/Library/Application Support/JAMF/Jamf.app/Contents/MacOS/Jamf designated => identifier "com.jamf.management.Jamf" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] / exists / and certificate leaf[field.1.2.840.113635.100.6.1.13] / exists / and certificate leaf[subject.OU] = "483DWKW443"
以下をコード署名として使用します。
identifier "com.jamfsoftware.jamf" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] / exists / and certificate leaf[field.1.2.840.113635.100.6.1.13] / exists / and certificate leaf[subject.OU] = "483DWKW443"Note:App デベロッパがコード署名証明書を変更した場合、既存プロファイルは無効となり、新しいコード署名の新プロファイルが必要になります。 - データアクセスを試行するプロセスと App の識別
データアクセスを許可しようとしている App またはバイナリを識別するには、以下のコマンドを実行します。
/usr/bin/log stream --debug --predicate 'subsystem == "com.apple.TCC" AND eventMessage BEGINSWITH "AttributionChain"'前回要求されたデータアクセスを表示するには、以下のコマンドを実行します。/usr/bin/log show --predicate 'subsystem == "com.apple.TCC"' | grep Prompting