共用方式為


適用於 macOS 的裝置控制項

需求

macOS 的裝置控制可在 macOS 上適用於端點的 Defender 檔的 系統需求 一節中列出的版本上使用。

概觀

macOS 上適用於端點的 Defender 中的裝置控制可讓您:

  • 稽核、允許或防止讀取、寫入或執行存取抽取式儲存體;和
  • 管理 iOS 和可攜式裝置,以及 Apple APFS 加密裝置和藍牙媒體,無論是否排除。

準備您的端點

範例 1:使用 schema.json 的 JAMF。

螢幕快照顯示如何在適用於端點的 Microsoft Defender 數據外洩防護/功能中啟用裝置控制。

範例 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>
  • 最低產品版本:101.91.92 或更高版本

  • 透過終端機執行 mdatp version ,以查看用戶端電腦上的產品版本:

    螢幕擷取畫面,顯示您在終端機中執行 mdatp version 以查看用戶端電腦上的產品版本時的結果。

了解政策

原則會決定 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_readgeneric_writegeneric_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 放置 vendorIdserialNumber,系統會檢查 USB 是否符合這兩個值。
and: 等同於 所有
任何:子句下的屬性是 Or 關係。 例如,如果系統管理員針對每個連線的 USB 放置 vendorIdserialNumber,只要 USB 具有相同 vendorIdserialNumber 值,系統就會執行強制執行。
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_event
show_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的所有存取值。

使用者體驗

一旦發生拒絕,並在策略中啟用通知,終端使用者會看到一個對話方塊:

顯示裝置控制對話方塊的螢幕擷取畫面,指出 USB 裝置受到限制

狀態

用於 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 群組

  1. 建立群組以涵蓋任何卸除式媒體裝置。
  2. 為已核准的 USB 建立群組。
  3. 將這些群組合併為一個 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技術社區