需求
macOS 的裝置控制可在 macOS 上適用於端點的 Defender 檔的 系統需求 一節中列出的版本上使用。
概觀
macOS 上適用於端點的 Defender 中的裝置控制可讓您:
- 稽核、允許或防止讀取、寫入或執行存取抽取式儲存體;和
- 管理 iOS 和可攜式裝置,以及 Apple APFS 加密裝置和藍牙媒體,無論是否排除。
準備您的端點
部署完整磁碟存取:您可能已為其他 MDE 功能建立並部署此專案 https://github.com/microsoft/mdatp-xplat/blob/master/macos/mobileconfig/profiles/fulldisk.mobileconfig 。 您需要授予新應用程式的完整磁碟存取權限:
com.microsoft.dlp.daemon。在適用於端點的 Defender 喜好設定上啟用裝置控制:
資料外洩防護 (DLP) /特點
針對 特徵名稱,輸入
DC_in_dlp針對 [狀態],指定
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 原則的裝置控制包括設定、群組和規則:
- 稱為「設定」的全域設定可讓您定義全域環境。
- 群組 called
groups可讓您建立媒體群組。 例如,授權的 USB 群組或加密的 USB 群組。 - 稱為「規則」的存取原則規則可讓您建立原則來限制每個群組。 例如,只允許授權使用者寫入存取授權的 USB 群組。
注意事項
建議您使用 GitHub 上的範例來瞭解屬性:mdatp-devicecontrol/卸除式儲存體存取控制 Samples/macOS/policy at main - microsoft/mdatp-devicecontrol (github.com) 。
您也可以使用 mdatp-devicecontrol/tree/main/python#readme at main - microsoft/mdatp-devicecontrol (github.com) 中的腳本,將 Windows 裝置控制原則轉譯為 macOS 裝置控制原則,或將 macOS 裝置控制 V1 原則轉譯為此 V2 原則。
注意事項
macOS 的裝置控制存在客戶在建立原則時應考慮的 已知問題 。
最佳做法
macOS 的裝置控制功能與 Windows 的裝置控制功能類似,但 macOS 和 Windows 提供不同的基礎功能來管理裝置,因此有一些重要的差異:
macOS 沒有集中式裝置管理員或裝置檢視。 將存取權授與/拒絕給與裝置互動的應用程式。 這就是為什麼在 macOS 上有一組更豐富的 存取類型。 例如,原則
portableDevice可以拒絕或允許download_photos_from_device。為了與 Windows 保持一致,有
generic_read、generic_write和generic_execute存取類型。 如果未來新增更具體的存取類型,則不需要變更具有一般存取類型的原則。 最佳做法是使用泛型存取類型,除非有特定需求拒絕/允許更具體的作業。使用一般存取類型建立原則是
deny嘗試完全封鎖該類型裝置 ((例如 Android 手機) ) 的所有作業的最佳方式,但如果使用 macOS 裝置控制不支援的應用程式執行作業,則可能仍會有間距。
設定
以下是您在 macOS 的裝置控制原則中建立群組、規則和設定時可以使用的屬性。
| 屬性名稱 | 描述 | 選項 |
|---|---|---|
| 㚫 | 功能特定組態 | 您可以針對 disable 下列功能設定為 false 或 true: - removableMedia- appleDevice- portableDevice,包括相機或 PTP 媒體- bluetoothDevice預設值為 true,因此如果您未設定此值,即使您建立自訂原則 removableMedia,它也不會套用,因為預設會停用。 |
| 全世界的 | 設定預設強制執行 | 您可以設定 defaultEnforcement 為- allow (預設)- deny |
| 用戶體驗 | 您可以在通知上設置超鏈接。 |
navigationTarget: string. 範例:"http://www.microsoft.com" |
Group
| 屬性名稱 | 描述 | 選項 |
|---|---|---|
$type |
那種團體 | “設備” |
id |
GUID 是唯一的識別碼,代表群組,並用於原則。 | 您可以透過 New-Guid (Microsoft.PowerShell.Utility) - PowerShell 或 macOS 上的 uuidgen 命令產生識別碼 |
name |
群組的易記名稱。 | 字串 |
query |
該組的媒體報導 | 如需詳細資料,請參閱 查詢 內容表格。 |
查詢
裝置控制項支援兩種查詢:
查詢類型 1 如下:
| 屬性名稱 | 描述 | 選項 |
|---|---|---|
$type |
識別要對子句執行的邏輯作業 |
all: 子句 下的任何屬性都是 And 關係。 例如,如果系統管理員針對每個連線的 USB 放置 vendorId 和 serialNumber,系統會檢查 USB 是否符合這兩個值。and: 等同於 所有 任何:子句下的屬性是 Or 關係。 例如,如果系統管理員針對每個連線的 USB 放置 vendorId 和 serialNumber,只要 USB 具有相同 vendorId 或 serialNumber 值,系統就會執行強制執行。 or: 等同於 任何 |
clauses |
使用媒體設備屬性設置組條件。 | 評估以判斷群組成員資格的子句物件陣列。 請參閱 條款 部分。 |
查詢類型 2 如下:
| 屬性名稱 | 描述 | 選項 |
|---|---|---|
$type |
識別要在子查詢上執行的邏輯作業 | not:查詢的邏輯否定 |
query |
子查詢 | 將被否定的查詢。 |
條
子句屬性
| 屬性名稱 | 描述 | 選項 |
|---|---|---|
$type |
子句的類型 | 如需支援的子句,請參閱下表。 |
value |
$type要使用的特定值 |
支援的子句
| 條款 $type | 數值 | 描述 |
|---|---|---|
primaryId |
其中一個: - apple_devices- removable_media_devices - portable_devices - bluetooth_devices |
|
vendorId |
四位數十六進位字串 | 符合裝置的廠商識別碼 |
productId |
四位數十六進位字串 | 符合裝置的產品 ID |
serialNumber |
字串 | 符合裝置的序號。 如果裝置沒有序號,則不相符。 |
encryption |
APFS | 如果裝置已 apfs 加密,則會相符。 |
groupId |
UUID 字串 | 如果裝置是另一個群組的成員,則進行比對。 此值代表要比對之的群組的UUID。 群組必須在子句之前定義在原則內。 |
存取原則規則
| 屬性名稱 | 描述 | 選項 |
|---|---|---|
id |
GUID 是唯一的識別碼,代表規則,並用於原則。 | New-Guid (Microsoft.PowerShell.Utility) - PowerShell uuidgen |
name |
String,原則的名稱。 根據原則設定顯示在快顯通知中。 | |
includeGroups |
套用原則的群組。 如果指定多個群組,則原則會套用至所有這些群組中的任何媒體。 如果未指定,則規則會套用至所有裝置。 | 在此實例中必須使用群組內的 id 值。 如果多個群組位於 includeGroups中,則為 AND。 "includeGroups": ["3f082cd3-f701-4c21-9a6a-ed115c28e217"] |
excludeGroups |
原則不適用的群組。 | 在此實例中必須使用群組內的 id 值。 如果多個群組位於 excludeGroups 中,則為 OR。 |
entries |
一個規則可以有多個項目;每個具有唯一 GUID 的專案都會告訴裝置控制 一個限制。 | 請參閱本文稍後的項目屬性表格以取得詳細資料。 |
下表列出您可以在項目中使用的屬性:
| 屬性名稱 | 描述 | 選項 |
|---|---|---|
$type |
包含: - removableMedia- appleDevice- PortableDevice- bluetoothDevice- generic |
|
| 強制 |
-
$type:- allow- deny- auditAllow- auditDeny選取$type允許時,選項值支援: - disable_audit_allow即使發生 Allow 且已設定 auditAllow 設定,系統也不會傳送事件。 選取$type拒絕時,選項值支援: disable_audit_deny即使發生 封鎖, 且已設定 auditDeny 設定,系統也不會顯示通知或傳送事件。 選取 auditAllow $type時,選項值支援: send_event選取 auditDeny $type時,選項值支援: send_eventshow_notification |
|
access |
指定此規則的一或多個存取權限。 這些可能包括裝置特定的精細權限,或更廣泛的一般權限。 如需指定項目$type有效存取類型的詳細資訊,請參閱下表。 | |
id |
UUID |
下表列出您可以在項目中使用的屬性:
強制
強制執行屬性名稱
| 屬性名稱 | 描述 | 選項 |
|---|---|---|
$type |
強制執行類型 | 請參閱下表,瞭解支援的強制執行 |
options |
$type要使用的特定值 | 項目的選項陣列。 如果不需要選項,可能會省略。 |
強制執行類型
| 屬性名稱 | 描述 | 選項 |
|---|---|---|
Enforcement $type |
options 值 [字串] |
描述 |
allow |
disable_audit_allow |
即使發生 Allow 且已設定 auditAllow 設定,系統也不會傳送事件。 |
deny |
disable_audit_deny |
即使發生 封鎖, 且已設定 auditDeny 設定,系統也不會顯示通知或傳送事件。 |
auditAllow |
send_event |
傳送遙測 |
auditDeny |
- send_event- show_notification |
- 傳送遙測 - 向用戶顯示塊用戶體驗 |
存取類型
| 參賽$type | 'access' 值 [字串] | 通用訪問 | 描述 |
|---|---|---|---|
| 蘋果裝置 | backup_device | generic_read | |
| 蘋果裝置 | update_device | generic_write | |
| 蘋果裝置 | download_photos_from_device | generic_read | 將照片從特定 iOS 裝置下載到本機電腦 |
| 蘋果裝置 | download_files_from_device | generic_read | 將檔案從特定 iOS 裝置下載到本機電腦 |
| 蘋果裝置 | sync_content_to_device | generic_write | 將內容從本機電腦同步到特定 iOS 裝置 |
| 可攜式裝置 | download_files_from_device | generic_read | |
| 可攜式裝置 | send_files_to_device | generic_write | |
| 可攜式裝置 | download_photos_from_device | generic_read | |
| 可攜式裝置 | 偵錯 | generic_execute | ADB 工具控制 |
| * 可移動媒體 | 讀 | generic_read | |
| 可移動媒體 | 寫 | generic_write | |
| 可移動媒體 | 誅 | generic_execute | generic_read |
| 藍牙設備 | download_files_from_device | ||
| 藍牙設備 | 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,則裝置控制無法阻止部分或全部作業
報告
您可以在進階搜捕和裝置控制報告上看到原則事件。 如需詳細資訊,請參閱 使用裝置控制項保護組織的資料。
案例
以下是一些常見案例,可協助您熟悉適用於端點的 Microsoft Defender 和適用於端點的 Microsoft Defender 裝置控制。
案例 1:拒絕任何卸除式媒體,但允許特定 USB
在此案例中,您必須建立兩個群組:一個群組用於任何卸除式媒體,另一個群組用於已核准的 USB 群組。 您也需要建立存取原則規則。
步驟 1:設定:啟用裝置控制並設定預設強制執行
"settings": {
"features": {
"removableMedia": {
"disable": false
}
},
"global": {
"defaultEnforcement": "allow"
},
"ux": {
"navigationTarget": "http://www.deskhelp.com"
}
}
步驟 2:群組:建立任何抽取式媒體群組和核准的 USB 群組
- 建立群組以涵蓋任何卸除式媒體裝置。
- 為已核准的 USB 建立群組。
- 將這些群組合併為一個
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"
]
}
]
}
]
在此情況下,只有一個存取規則原則,但如果您有多個,請務必將所有原則新增至 rules。
已知問題
警告
macOS 上的裝置控制項會限制 僅使用 PTP 模式連線的 Android 裝置。 裝置控制不會限制其他模式,例如檔案傳輸、USB 網路共享和 MIDI。
警告
macOS 上的「裝置控制」不會阻止在 XCode 上開發的軟體傳輸到外部裝置。
另請參閱
提示
想要深入了解? 在我們的技術社區中與Microsoft安全社區Engage:適用於端點的 Microsoft Defender技術社區。