macOS 用デバイス コントロール
適用対象:
- Microsoft Defender for Endpoint Plan 1
- Microsoft Defender for Endpoint Plan 2
- Microsoft Defender XDR
- Microsoft Defender for Business
Microsoft Defender ATP を試してみたいですか? 無料試用版にサインアップしてください。
要件
macOS 用デバイスコントロールには、次の前提条件があります。
- Microsoft Defender for Endpointエンタイトルメント (試用可能)
- OS の最小バージョン: macOS 11 以降
- 最小製品バージョン: 101.34.20
概要
Microsoft Defender for Endpointデバイス制御機能を使用すると、次の操作を行うことができます。
- リムーバブル ストレージへの読み取り、書き込み、または実行アクセスを監査、許可、または防止する。そして
- 除外の有無にかかわらず、iOS デバイスとポータブル デバイス、および Apple APFS で暗号化されたデバイスとBluetooth メディアを管理します。
エンドポイントを準備する
Microsoft Defender for Endpointエンタイトルメント (試用可能)
OS の最小バージョン: macOS 11 以降
フル ディスク アクセスの展開: 他のMDE機能用に、このhttps://github.com/microsoft/mdatp-xplat/blob/master/macos/mobileconfig/profiles/fulldisk.mobileconfigを既に作成してデプロイ済みである可能性があります。 新しいアプリケーション (
com.microsoft.dlp.daemon
) に対してフル ディスク アクセス許可を付与する必要があります。MDE基本設定でデバイス制御を有効にします。
データ損失防止 (DLP)/機能/
[ 機能名] に「DC_in_dlp」と入力します。
[ State]\(状態\) に「enabled」と入力します
例 1: schema.jsonを使用した JAMF。
例 2: demo.mobileconfig
<key>dlp</key>
<dict>
<key>features</key>
<array>
<dict>
<key>name</key>
<string>DC_in_dlp</string>
<key>state</key>
<string>enabled</string>
</dict>
</array>
</dict>
ポリシーについて
ポリシーは、macOS のデバイス制御の動作を決定します。 このポリシーは、マシンまたはユーザーのコレクションにIntuneまたは JAMF を使用して対象とされます。
macOS のデバイス制御ポリシーには、設定、グループ、ルールが含まれます。
- "settings" と呼ばれるグローバル設定を使用すると、グローバル環境を定義できます。
- "グループ" と呼ばれるグループを使用すると、メディア グループを作成できます。 たとえば、承認された USB グループや暗号化された USB グループなどです。
- "rules" と呼ばれるアクセス ポリシー ルールを使用すると、各グループを制限するポリシーを作成できます。 たとえば、アクセスが承認された USB グループを書き込むには、承認されたユーザーのみを許可します。
注:
GitHub の例を使用して、プロパティを理解することをお勧めします。mdatp-devicecontrol/Removable Storage Access Control Samples/macOS/policy (メイン - microsoft/mdatp-devicecontrol (github.com))。
また、メインの mdatp-devicecontrol/tree/メイン/python#readme のスクリプトを使用して、microsoft/mdatp-devicecontrol (github.com) を使用して、Windows デバイス制御ポリシーを macOS デバイス制御ポリシーに変換したり、macOS Device Control V1 ポリシーをこの V2 ポリシーに変換したりできます。
注:
macOS のデバイス制御に関する 既知の問題 があり、お客様がポリシーを作成するときに考慮する必要があります。
ベスト プラクティス
macOS のデバイス制御は、Windows 用デバイス コントロールと同様の機能を備えますが、macOS と Windows には、デバイスを管理するためのさまざまな基になる機能が用意されているため、いくつかの重要な違いがあります。
- macOS には、デバイスの一元的なデバイス マネージャーやビューはありません。 デバイスと対話するアプリケーションへのアクセスが許可または拒否されます。 macOS では、アクセス の種類が豊富なセットがあるのはこのためです。 たとえば、macOS の
portableDevice
デバイス コントロールでは、download_photos_from_device
を拒否または許可できます。 - Windows と一貫性を保つには、
generic_read
、generic_write
、generic_execute
アクセスの種類があります。 ジェネリック アクセスの種類を持つポリシーは、将来追加の特定のアクセスの種類が追加された場合に変更する必要はありません。 より具体的な操作を拒否または許可する必要がある場合を除き、一般的なアクセスの種類を使用することをお勧めします。 - 一般的なアクセスの種類を使用して
deny
ポリシーを作成することは、その種類のデバイス (Android フォンなど) のすべての操作を完全にブロックする最善の方法ですが、macOS デバイス制御でサポートされていないアプリケーションを使用して操作を実行した場合でも、ギャップが発生する可能性があります。
Settings
macOS のデバイス制御ポリシーでグループ、ルール、設定を作成するときに使用できるプロパティを次に示します。
プロパティ名 | 説明 | オプション |
---|---|---|
顔立ち | 機能固有の構成 | 次の機能では、 disable を false または true に設定できます。- removableMedia - appleDevice - portableDevice 、カメラまたは PTP メディアを含む- bluetoothDevice 既定値は true であるため、この値を構成しない場合は、既定で無効になっているため、 removableMedia のカスタム ポリシーを作成しても適用されません。 |
グローバル | 既定の適用を設定する |
defaultEnforcement を に設定できます。- allow (既定値)- deny |
ux | 通知時にハイパーリンクを設定できます。 |
navigationTarget: string . 例: "http://www.microsoft.com" |
グループ
プロパティ名 | 説明 | オプション |
---|---|---|
$type |
グループの種類 | "device" |
id |
一意の ID である GUID はグループを表し、ポリシーで使用されます。 | MACOS の New-Guid (Microsoft.PowerShell.Utility) - PowerShell または uuidgen コマンドを使用して ID を生成できます |
name |
グループのフレンドリ名。 | string |
query |
このグループのメディア カバレッジ | 詳細については、以下の クエリ プロパティ テーブルを参照してください。 |
クエリ
Device Control では、次の 2 種類のクエリがサポートされています。
クエリの種類 1 は次のとおりです。
プロパティ名 | 説明 | オプション |
---|---|---|
$type |
句で実行する論理操作を特定する |
all: 句 の下にあるすべての属性は And リレーションシップです。 たとえば、管理者が vendorId と serialNumber を設定した場合、接続されているすべての USB について、システムは USB が両方の値を満たしているかどうかを確認します。と: は、すべてと同等です 任意:句の下の属性は Or リレーションシップです。 たとえば、管理者が接続されているすべての USB に対して vendorId と serialNumber を設定した場合、USB に同じ vendorId または serialNumber 値がある限り、システムは適用を実行します。 または: は 、 |
clauses |
メディア デバイス プロパティを使用して、グループの条件を設定します。 | グループ メンバーシップを決定するために評価される句オブジェクトの配列。 以下の 「句」 セクションを参照してください。 |
クエリの種類 2 は次のとおりです。
プロパティ名 | 説明 | オプション |
---|---|---|
$type |
サブクエリで実行する論理操作を特定する | not: クエリの論理否定 |
query |
サブクエリ | 否定されるクエリ。 |
条項
句のプロパティ
プロパティ名 | 説明 | オプション |
---|---|---|
$type |
句の型 | サポートされる句については、次の表を参照してください。 |
value |
使用する特定の値を$typeする |
サポートされる句
句$type | 値 | 説明 |
---|---|---|
primaryId |
次のいずれか: - apple_devices - removable_media_devices - portable_devices - bluetooth_devices |
|
vendorId |
4 桁の 16 進文字列 | デバイスのベンダー ID と一致します |
productId |
4 桁の 16 進文字列 | デバイスの製品 ID と一致します |
serialNumber |
string | デバイスのシリアル番号と一致します。 デバイスにシリアル番号がない場合は一致しません。 |
encryption |
apfs | デバイスが apfs で暗号化されている場合は一致します。 |
groupId |
UUID 文字列 | デバイスが別のグループのメンバーである場合は一致します。 値は、一致するグループの UUID を表します。 グループは、句の前にポリシー内で定義する必要があります。 |
アクセス ポリシールール
プロパティ名 | 説明 | オプション |
---|---|---|
id |
一意の ID である GUID はルールを表し、ポリシーで使用されます。 | New-Guid (Microsoft.PowerShell.Utility) - PowerShell uuidgen |
name |
ポリシーの名前である文字列。ポリシー設定に基づいてトーストに表示されます。 | |
includeGroups |
ポリシーが適用されるグループ。 複数のグループが指定されている場合、ポリシーはそれらのすべてのグループ内の任意のメディアに適用されます。 指定しない場合、ルールはすべてのデバイスに適用されます。 | このインスタンスでは、グループ内の id 値を使用する必要があります。
includeGroups 内に複数のグループがある場合は、AND になります。 "includeGroups": ["3f082cd3-f701-4c21-9a6a-ed115c28e217"] |
excludeGroups |
ポリシーが適用されないグループ。 | このインスタンスでは、グループ内の id 値を使用する必要があります。 excludeGroups に複数のグループがある場合は、 OR になります。 |
entries |
1 つのルールに複数のエントリを含めることができます。一意の GUID を持つ各エントリは、Device Control に 1 つの制限を示します。 | 詳細については、この記事の後半の「エントリ プロパティ テーブル」を参照してください。 |
次の表に、エントリで使用できるプロパティの一覧を示します。
プロパティ名 | 説明 | オプション |
---|---|---|
$type |
含まれる内容: - removableMedia - appleDevice - PortableDevice - bluetoothDevice - generic |
|
実施 |
-
$type :- allow - deny - auditAllow - auditDeny $type許可が選択されている場合、オプション値は次をサポートします。 - disable_audit_allow 許可が発生し、auditAllow が構成されている場合でも、システムはイベントを送信しません。 $type拒否が選択されている場合、オプション値は次をサポートします。 disable_audit_deny [ブロック] が発生し、auditDeny が構成されている場合でも、システムは通知や送信イベントを表示しません。 auditAllow $type選択されている場合、オプション値は次をサポートします。 send_event auditDeny $type選択されている場合、オプション値は次をサポートします。 send_event show_notification |
|
access |
この規則に対して 1 つ以上のアクセス権を指定します。 これには、デバイス固有の詳細なアクセス許可、またはより広範な汎用アクセス許可が含まれる場合があります。 特定のエントリ $typeの有効なアクセスの種類の詳細については、次の表を参照してください。 | |
id |
UUID |
次の表に、エントリで使用できるプロパティの一覧を示します。
施行
強制プロパティ名
プロパティ名 | 説明 | オプション |
---|---|---|
$type |
適用の種類 | サポートされている適用については、次の表を参照してください |
options |
使用する特定の値を$typeする | エントリのオプションの配列。 オプションが必要でない場合は省略できます。 |
適用の種類
プロパティ名 | 説明 | オプション |
---|---|---|
Enforcement $type |
options values [string] |
説明 |
allow |
disable_audit_allow |
許可が発生し、auditAllow が構成されている場合でも、システムはイベントを送信しません。 |
deny |
disable_audit_deny |
[ブロック] が発生し、auditDeny が構成されている場合でも、システムは通知や送信イベントを表示しません。 |
auditAllow |
send_event |
テレメトリの送信 |
auditDeny |
- send_event - show_notification |
- テレメトリを送信する - ユーザーへのブロック UX の表示 |
アクセスの種類
エントリ $type | 'access' 値 [string] | 汎用アクセス | 説明 |
---|---|---|---|
appleDevice | backup_device | generic_read | |
appleDevice | update_device | generic_write | |
appleDevice | download_photos_from_device | generic_read | 特定の iOS デバイスからローカル コンピューターに写真をダウンロードする |
appleDevice | download_files_from_device | generic_read | 特定の iOS デバイスからローカル コンピューターにファイルをダウンロードする |
appleDevice | sync_content_to_device | generic_write | ローカル コンピューターから特定の iOS デバイスにコンテンツを同期する |
portableDevice | download_files_from_device | generic_read | |
portableDevice | send_files_to_device | generic_write | |
portableDevice | download_photos_from_device | generic_read | |
portableDevice | デバッグ | generic_execute | ADB ツール コントロール |
* removableMedia | read | generic_read | |
removableMedia | write | generic_write | |
removableMedia | 実行する | generic_execute | generic_read |
bluetoothDevice | download_files_from_device | ||
bluetoothDevice | send_files_to_device | generic_write | |
ジェネリック | generic_read | このテーブルで示されているすべてのアクセス値を、generic_readにマップする設定と同じです。 | |
ジェネリック | generic_write | このテーブルで示されているすべてのアクセス値を、generic_writeにマップする設定と同じです。 | |
ジェネリック | generic_execute | このテーブルで示されているすべてのアクセス値を、generic_executeにマップする設定と同じです。 |
エンドユーザーのエクスペリエンス
拒否が発生し、ポリシーで通知が有効になると、エンド ユーザーにダイアログが表示されます。
状態
mdatp health --details device_control
を使用して、デバイス制御の状態を調べます。
active : ["v2"]
v1_configured : false
v1_enforcement_level : unavailable
v2_configured : true
v2_state : "enabled"
v2_sensor_connection : "created_ok"
v2_full_disk_access : "approved"
-
active
- 機能バージョンでは、["v2"] が表示されます。 (デバイス制御は有効ですが、構成されていません)。- [] - このマシンでデバイス制御が構成されていません。
- ["v1"] - デバイス コントロールのプレビュー バージョンを使用しています。 このガイドを使用してバージョン 2 に移行します。 v1 は廃止されたと見なされ、このドキュメントでは説明されていません。
- ["v1","v2"] - v1 と v2 の両方が有効になっています。 v1 からオフボード。
-
v1_configured
- v1 構成が適用される -
v1_enforcement_level
- v1 が有効になっている場合 -
v2_configured
- v2 構成が適用される -
v2_state
- v2 状態、完全に動作している場合はenabled
-
v2_sensor_connection
-created_ok
場合は、デバイス制御によってシステム拡張機能への接続が確立されました -
v2_full_disk_access
-approved
されていない場合、デバイスコントロールは一部またはすべての操作を妨げるものではありません
Reporting
高度なハンティングとデバイス制御レポートでポリシー イベントを確認できます。 詳細については、「デバイス制御を使用してorganizationのデータを保護する」を参照してください。
シナリオ
Microsoft Defender for Endpointとデバイス制御のMicrosoft Defender for Endpointについて理解するのに役立つ一般的なシナリオをいくつか次に示します。
シナリオ 1: リムーバブル メディアを拒否するが、特定の USB を許可する
このシナリオでは、リムーバブル メディア用の 1 つのグループと承認済み USB グループ用の別のグループという 2 つのグループを作成する必要があります。 また、アクセス ポリシー規則を作成する必要もあります。
手順 1: 設定: デバイス制御を有効にし、既定の適用を設定する
"settings": {
"features": {
"removableMedia": {
"disable": false
}
},
"global": {
"defaultEnforcement": "allow"
},
"ux": {
"navigationTarget": "http://www.deskhelp.com"
}
}
手順 2: グループ: リムーバブル メディア グループと承認済み USB グループを作成する
- リムーバブル メディア デバイスをカバーするグループを作成します。
- 承認済み USB のグループを作成します。
- これらのグループを 1 つの
groups
に結合します。
"groups": [
{
"type": "device",
"id": "3f082cd3-f701-4c21-9a6a-ed115c28e211",
"name": "All Removable Media Devices",
"query": {
"$type": "all",
"clauses": [
{
"$type": "primaryId",
"value": "removable_media_devices"
}
]
}
},
{
"type": "device",
"id": "3f082cd3-f701-4c21-9a6a-ed115c28e212",
"name": "Kingston Devices",
"query": {
"$type": "all",
"clauses": [
{
"$type": "vendorId",
"value": "0951"
}
]
}
}
]
手順 3: ルール: 許可されていない USB の拒否ポリシーを作成する
アクセス ポリシー ルールを作成し、 rules
に配置します。
"rules": [
{
"id": "772cef80-229f-48b4-bd17-a69130092981",
"name": "Deny RWX to all Removable Media Devices except Kingston",
"includeGroups": [
"3f082cd3-f701-4c21-9a6a-ed115c28e211"
],
"excludeGroups": [
"3f082cd3-f701-4c21-9a6a-ed115c28e212"
],
"entries": [
{
"$type": "removableMedia",
"id": "A7CEE2F8-CE34-4B34-9CFE-4133F0361035",
"enforcement": {
"$type": "deny"
},
"access": [
"read",
"write",
"execute"
]
},
{
"$type": "removableMedia",
"id": "18BA3DD5-4C9A-458B-A756-F1499FE94FB4",
"enforcement": {
"$type": "auditDeny",
"options": [
"send_event",
"show_notification"
]
},
"access": [
"read",
"write",
"execute"
]
}
]
}
]
この場合、アクセス ルール ポリシーは 1 つだけですが、複数ある場合は、必ずすべてを rules
に追加してください。
既知の問題
警告
macOS のデバイス 制御では、PTP モード のみを使用して接続されている Android デバイスが制限されます。 デバイスコントロールは、ファイル転送、USBテザリング、MIDIなどの他のモードを制限しません。
警告
macOS のデバイス制御では、XCode で開発されたソフトウェアが外部デバイスに転送されるのを防ぐことはありません。
関連項目
- Intuneを使用してデバイス制御を展開する
- JAMF を使用してデバイス制御を展開する
- デバイスコントロールを手動で展開する
- macOS デバイス コントロールに関してよく寄せられる質問 (FAQ)
ヒント
さらに多くの情報を得るには、 Tech Community 内の Microsoft Security コミュニティ (Microsoft Defender for Endpoint Tech Community) にご参加ください。