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 では、アクセス の種類が豊富なセットがあるのはこのためです。 たとえば、
portableDevice
macOS のデバイス コントロールでは、 を拒否または許可download_photos_from_device
できます。 - Windows と一貫性を保つには
generic_read
generic_write
、 とgeneric_execute
アクセスの種類があります。 ジェネリック アクセスの種類を持つポリシーは、将来追加の特定のアクセスの種類が追加された場合に変更する必要はありません。 より具体的な操作を拒否または許可する必要がある場合を除き、一般的なアクセスの種類を使用することをお勧めします。 - 一般的な
deny
アクセスの種類を使用してポリシーを作成することが、その種類のデバイス (Android 電話など) のすべての操作を完全にブロックする最善の方法ですが、macOS デバイス制御でサポートされていないアプリケーションを使用して操作が実行される場合は、まだギャップが発生する可能性があります。
Settings
macOS のデバイス制御ポリシーでグループ、ルール、設定を作成するときに使用できるプロパティを次に示します。
プロパティ名 | 説明 | オプション |
---|---|---|
機能 | 機能固有の構成 | 次の機能では、false または true に設定 disable できます。- 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 リレーションシップです。 たとえば、管理者が接続されている USB ごとに と serialNumber を設定vendorId した場合、システムは USB が両方の値を満たしているかどうかを確認します。と: は、すべてと同等です any:句の下の属性は Or リレーションシップです。 たとえば、管理者が接続されている USB ごとに と を設定 vendorId した場合、USB に同じvendorId 値またはserialNumber 値がある限り、システムは適用を実行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 グループをCreateする
- リムーバブル メディア デバイスをカバーするグループをCreateします。
- 承認された USB のグループをCreateします。
- これらのグループを 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 の拒否ポリシーをCreateする
アクセス ポリシー ルールをCreateし、 に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などの他のモードを制限しません。
関連項目
- Intuneを使用してデバイス制御を展開する
- JAMF を使用してデバイス制御を展開する
- デバイスコントロールを手動で展開する
- macOS デバイス コントロールに関してよく寄せられる質問 (FAQ)
ヒント
さらに多くの情報を得るには、 Tech Community 内の Microsoft Security コミュニティ (Microsoft Defender for Endpoint Tech Community) にご参加ください。