共用方式為


適用於端點的 Microsoft Defender 中的裝置控制原則

適用於:

本文說明裝置控制原則、規則、專案、群組和進階條件。 基本上,裝置控制原則會定義一組裝置的存取權。 範圍內的裝置取決於包含的裝置群組清單和排除的裝置群組清單。 如果裝置位於所有包含的裝置群組中,而且沒有任何排除的裝置群組,則會套用原則。 如果未套用任何原則,則會套用默認強制執行。

默認會停用裝置控制件,因此允許存取所有類型的裝置。 若要深入瞭解裝置控制,請參閱 適用於端點的 Microsoft Defender 中的裝置控制

控制預設行為

啟用裝置控制項時,預設會針對所有裝置類型啟用它。 默認強制執行也可以從 [允許 ] 變更為 [ 拒絕]。 您的安全性小組也可以設定裝置控制所保護的裝置類型。 下表說明各種設定組合如何變更訪問控制決策。

裝置控制項是否已啟用? 預設行為 裝置類型
允許存取 - CD/DVD 磁碟驅動器
-印表機
- 卸載式媒體裝置
- Windows 可攜式裝置
(未指定)
允許存取
- CD/DVD 磁碟驅動器
-印表機
- 卸載式媒體裝置
- Windows 可攜式裝置
Deny - CD/DVD 磁碟驅動器
-印表機
- 卸載式媒體裝置
- Windows 可攜式裝置
拒絕卸除式媒體裝置和印表機 - 印表機和卸除式媒體裝置 (封鎖)
- 允許的CD/DVD 磁碟驅動器和 Windows 可攜式裝置 ()

設定裝置類型時,適用於端點的 Defender 中的裝置控制會忽略對其他裝置系列的要求。

如需詳細資訊,請參閱下列文章:

原則

為了進一步精簡對裝置的存取,裝置控制會使用原則。 原則是一組規則和群組。 規則和群組的定義方式在管理體驗和操作系統之間稍有不同,如下表所述。

管理工具 作業系統 規則和群組的管理方式
Intune – 裝置控制原則 Windows 裝置和印表機群組可以作為可重複使用的設定來管理,並包含在規則中。 並非所有功能都可在裝置控制原則中使用 (請參閱 使用 Microsoft Intune 部署和管理裝置控制)
Intune – 自定義 Windows 每個群組/規則都會儲存為自定義設定原則中的 XML 字串。 OMA-URI 包含群組/規則的 GUID。 必須產生 GUID。
群組原則 Windows 群組和規則會在組策略對象的個別 XML 設定中定義 (請參閱 使用組策略) 部署和管理裝置控制 項。
Intune Mac 規則和原則會合併成單一 JSON,並包含在 mobileconfig 使用 Intune 部署的檔案中
JAMF Mac 規則和原則會合併成單一 JSON,並使用 JAMF 做為裝置控制原則進行設定 (請參閱 macOS 裝置控制)

規則和群組是由全域唯一標識碼 (GUID) 識別。 如果裝置控制原則是使用 Intune 以外的管理工具來部署,則必須產生 GUID。 您可以使用 PowerShell 來產生 GUID。

如需架構詳細數據,請參閱 Mac 的 JSON 架構

使用者

裝置控制原則可以套用至使用者和/或使用者群組。

注意事項

在裝置控制件的相關文章中,使用者群組稱為 使用者群組。 「 群組」 一詞指的是裝置控制原則中定義的 群組

在 Mac 和 Windows 上使用 Intune 時,裝置控制原則可以以 Entra Id 中定義的使用者群組為目標。

在 Windows 上,使用者或使用者群組可以是原則中 項目 的條件。

具有使用者或使用者群組的專案可以參考來自 Entra Id 或本機 Active Directory 的物件。

搭配使用者和使用者群組使用裝置控制的最佳做法

  • 若要在 Windows 上建立個別使用者的規則,請在規則中建立具有 Sid foreach 使用者條件的專案

  • 若要在 Windows 和 Intune 上建立使用者群組的 規則,請 為 [rule] 中的每個使用者群組建立具有 Sid 條件的專案,並將原則的目標設為 Intune 中的電腦群組, 建立沒有條件的規則,並將 Intune 的原則目標設為使用者群組。

  • 在 Mac 上,使用 Intune,並將原則目標設為 Entra Id 中的使用者群組。

警告

請勿在 Intune 中的規則和以使用者群組為目標的使用者群組條件中同時使用使用者/使用者群組條件。

注意事項

如果網路連線能力有問題,請使用 Intune 使用者群組目標 本機 Active Directory 群組。 參考 Entra Id 的使用者/使用者群組條件 應該只 用於與 Entra Id 有可靠連線的環境中。

規則

規則會定義包含的群組清單和排除群組的清單。 若要套用規則,裝置必須位於所有包含的群組中,且沒有任何排除的群組。 如果裝置符合規則,則會評估該規則的專案。 如果要求符合條件,則專案會定義套用的動作和通知選項。 如果未套用任何規則或沒有符合要求的專案,則會套用預設強制執行。

例如,若要允許某些 USB 裝置的寫入存取權,以及所有其他 USB 裝置的讀取存取權,請使用下列原則、群組和預設強制設定為拒絕的專案。

群組 描述
所有卸除式存儲設備 抽取式存放設備
可寫入的USB 允許寫入存取權的USB清單
規則 包含的裝置群組 排除的裝置群組 項目
USB 的唯讀存取權 所有卸除式存儲設備 可寫入的USB 唯讀存取
USB 的寫入許可權 可寫入的USB 寫入存取

規則的名稱會出現在入口網站中,以便向用戶報告和快顯通知,因此請務必提供規則描述性名稱。

您可以在 Intune 中編輯原則、在 Windows 中使用 XML 檔案,或在 Mac 上使用 JSON 檔案來設定規則。 選取每個索引標籤以取得詳細數據。

下圖描述 Intune 中裝置控制原則的組態設定:

Intune 中裝置控制項設定的螢幕快照。

在螢幕快照中,[包含的標識符] 和 [排除的標識符] 是包含和排除的可重複使用設定群組的參考。 原則可以有多個規則。

Intune 不接受規則的順序。 規則可以依任何順序評估,因此請務必明確排除不在規則範圍內的裝置群組。

Entries

裝置控制原則會定義存取 (稱為一組裝置的專案) 。 專案會定義符合專案中所定義原則和條件之裝置的動作和通知選項。

項目設定 選項
AccessMask 只有在存取作業符合存取掩碼時,才套用動作 - 存取遮罩是存取值的位 OR:

1 - 裝置讀取
2 - 裝置寫入
4 - 裝置執行
8 - 檔案讀取
16 - 檔案寫入
32 - 檔案執行
64 - 列印

例如:
裝置讀取、寫入和執行 = 7 (1+2+4)
裝置讀取、磁碟讀取 = 9 (1+8)
動作 允許
Deny
AuditAllow
AuditDeny
通知 無 (預設)
產生事件
使用者收到通知
已擷取檔案辨識項

如果已設定裝置控制件,且用戶嘗試使用不允許的裝置,則使用者會收到包含裝置控制原則名稱和裝置名稱的通知。 在拒絕初始存取之後,每小時會出現一次通知。

項目支援下列選擇性條件:

  • 使用者/使用者群組條件:僅將動作套用至 SID 所識別的使用者/使用者群組

注意事項

對於儲存在 Microsoft Entra Id 中的使用者群組和使用者,請在條件中使用物件識別符。 針對儲存在地區設定的使用者群組和使用者,請使用安全標識碼 (SID)

注意事項

在 Windows 上,您可以執行 PowerShell 命令 whoami /user來擷取已登入使用者的 SID。

  • 機器條件:僅將動作套用至 SID 所識別的裝置/群組
  • 參數條件:只有在參數符合時才套用動作 (請參閱進階條件)

專案可以進一步限定於特定用戶和裝置。 例如,只允許此裝置上的使用者讀取這些USB。

原則 包含的裝置群組 排除的裝置群組 專案 (ies)
USB 的唯讀存取權 所有卸除式存儲設備 可寫入的USB 唯讀存取
USB 的寫入許可權 可寫入的USB 使用者 1 的寫入存取權

裝置群組 A 上使用者 2 的寫入存取權

專案中的所有條件都必須為 true,才能套用動作。

您可以使用 Intune、Windows 中的 XML 檔案或 Mac 上的 JSON 檔案來設定專案。 選取每個索引標籤以取得詳細數據。

在 Intune 中, [存取遮罩 ] 欄位有選項,例如:

  • (磁碟層級讀取 = 1)
  • (磁碟層級寫入 = 2)
  • 執行 (磁碟層級執行 = 4)
  • 列印 (列印 = 64) 。

並非所有功能都會顯示在 Intune 使用者介面中。 如需詳細資訊,請 參閱使用 Intune 部署和管理裝置控制

群組

群組會定義依其屬性篩選物件的準則。 如果對象的屬性符合為群組定義的屬性,則會將物件指派給群組。

注意事項

本節中的群組 不會 參考 使用者群組

例如:

  • 允許的 USB 是符合上述任一製造商的所有裝置
  • 遺失的 USB 是符合任何這些序號的所有裝置
  • 允許的印表機是符合任何這些 VID/PID 的所有裝置

屬性可以透過四種方式進行比對: MatchAllMatchAnyMatchExcludeAllMatchExcludeAny

  • MatchAll:屬性是 “And” 關聯性;例如,如果系統管理員針對每個已連線的USB放置 DeviceIDInstancePathID,系統就會檢查USB是否符合這兩個值。
  • MatchAny:屬性為 “Or” 關聯性;例如,如果系統管理員針對每個連線的USB放置DeviceID和 InstancePathID,只要USB具有相同的 DeviceIDInstanceID 值,系統就會強制執行。
  • MatchExcludeAll:屬性是 “And” 關聯性,涵蓋任何不符合的專案。 例如,如果系統管理員放置 DeviceID 和並 InstancePathID 使用 MatchExcludeAll,則只要USB沒有相同的 DeviceIDInstanceID 值,系統就會強制執行每個連線的USB。
  • MatchExcludeAny:屬性是 “Or” 關聯性,涵蓋任何不符合的專案。 例如,如果系統管理員放置 DeviceIDInstancePathID 並使用 MatchExcludeAny,則只要USB沒有相同的 DeviceIDInstanceID 值,系統就會強制執行每個連線的USB。

群組的使用方式有兩種:選取要在規則中包含/排除的裝置,以及篩選進階條件的存取權。 下表摘要說明群組類型及其使用方式。

類型 描述 O/S 包含/排除規則 進階條件
裝置 (預設) 篩選裝置和印表機 Windows/Mac X
網路 篩選網路條件 Windows X
VPN 連線 篩選 VPN 條件 Windows X
檔案 篩選文件屬性 Windows X
列印作業 篩選要列印之檔案的屬性 Windows X

包含的群組清單和排除群組清單所決定之原則範圍內的裝置。 如果裝置位於所有包含的群組中,且沒有任何排除的群組,則適用規則。 群組可以從裝置的屬性組成。 您可以使用下列屬性:

屬性 描述 Windows 裝置 Mac 裝置 印表機
FriendlyNameId Windows 設備管理器中的易記名稱 Y N Y
PrimaryId 裝置的類型 Y Y Y
VID_PID 廠商標識碼是 USB 委員會指派給廠商的四位數廠商代碼。 產品標識碼是廠商指派給裝置的四位數產品代碼。 支援通配符。 例如,0751_55E0 Y N Y
PrinterConnectionId 印表機連線的類型:
-Usb
-企業
-網路
-普遍
-檔
-自 定義
-當地
N N Y
BusId 如需裝置 (的詳細資訊,請參閱下表後面的章節) Y N N
DeviceId 如需裝置 (的詳細資訊,請參閱下表後面的章節) Y N N
HardwareId 如需裝置 (的詳細資訊,請參閱下表後面的章節) Y N N
InstancePathId 如需裝置 (的詳細資訊,請參閱下表後面的章節) Y N N
SerialNumberId 如需裝置 (的詳細資訊,請參閱下表後面的章節) Y Y N
PID 產品標識碼是廠商指派給裝置的四位數產品代碼 Y Y N
VID 廠商標識碼是 USB 委員會指派給廠商的四位數廠商代碼。 Y Y N
DeviceEncryptionStateId (預覽) 裝置的 BitLocker 加密狀態。 有效值為 BitlockerEncryptedPlain Y N N
APFS Encrypted 如果裝置已加密APFS N Y N

使用 Windows 設備管理器來判斷裝置屬性

針對 Windows 裝置,您可以使用裝置管理員來瞭解裝置的屬性。

  1. 開啟 [設備管理器],找出裝置,以滑鼠右鍵按兩下 [ 內容],然後選取 [ 詳細數據] 索引標籤

  2. 在 [屬性] 清單中,選取 [裝置實例路徑]

    針對裝置實例路徑所顯示的 InstancePathId值是 ,但也包含其他屬性:

    • USB\VID_090C&PID_1000\FBH1111183300721
    • {BusId}\{DeviceId}\{SerialNumberId}

    設備管理器中的屬性會對應至裝置控制項,如下表所示:

    設備管理員 裝置控制件
    硬體標識碼 HardwareId
    易記名稱 FriendlyNameId
    Parent VID_PID
    DeviceInstancePath InstancePathId

使用報表和進階搜捕來判斷裝置的屬性

裝置屬性在進階搜捕中具有稍微不同的標籤。 下表將入口網站中的標籤對應至 propertyId 裝置控制原則中的 。

Microsoft Defender 入口網站屬性 裝置控制件屬性識別碼
媒體名稱 FriendlyNameId
廠商標識碼 HardwareId
DeviceId InstancePathId
序號 SerialNumberId

注意事項

請確定選取的物件具有正確的原則媒體類別。 一般而言,針對卸除式記憶體,請使用 Class Name == USB

在 Intune 中設定群組、在 Windows 中設定 XML,或在 Mac 上設定 JSON

您可以在 Intune 中設定群組,方法是使用適用於 Windows 的 XML 檔案,或在 Mac 上使用 JSON 檔案。 選取每個索引標籤以取得詳細數據。

注意事項

XML Group Idid JSON 中的會用來識別裝置控制元件內的群組。 它不是任何其他的參考,例如 Entra Id 中的 使用者群組

Intune 中可重複使用的設定會對應至裝置群組。 您可以在 Intune 中設定可重複使用的設定。

在 Intune 中設定可重複使用設定的螢幕快照。

群組有兩種類型:印表機裝置和卸除式記憶體。 下表列出這些群組的屬性。

群組類型 屬性
印表機裝置 - FriendlyNameId
- PrimaryId
- PrinterConnectionId
- VID_PID
卸除式儲存裝置 - BusId
- DeviceId
- FriendlyNameId
- HardwareId
- InstancePathId
- PID
- PrimaryId
- SerialNumberId
- VID
- VID_PID

進階條件

您可以根據參數進一步限制專案。 參數會套用超過裝置的進階條件。 進階條件允許根據所評估的網路、VPN 連線、檔案或列印作業進行細部控制。

注意事項

只有 XML 格式才支援進階條件。

網路條件

下表描述網路群組屬性:

屬性 描述
NameId 網路的名稱。 支援通配符。
NetworkCategoryId 有效的選項為 PublicPrivateDomainAuthenticated
NetworkDomainId 有效的選項為 NonDomainDomainDomainAuthenticated

這些屬性會新增至 Network 類型群組的 DescriptorIdList。 以下是範例代碼段:


<Group Id="{e5f619a7-5c58-4927-90cd-75da2348a30a}" Type="Network" MatchType="MatchAll">
    <DescriptorIdList>
        <NetworkCategoryId>Public</PathId>
        <NetworkDomainId>NonDomain</PathId>
    </DescriptorIdList>
</Group>

群組接著會在項目中參考為參數,如下列代碼段所示:


   <Entry Id="{1ecfdafb-9b7f-4b66-b3c5-f1d872b0961d}">
      <Type>Deny</Type>
      <Options>0</Options>
      <AccessMask>40</AccessMask>
      <Parameters MatchType="MatchAll">
             <Network MatchType="MatchAny">
                   <GroupId>{ e5f619a7-5c58-4927-90cd-75da2348a30a }</GroupId>
            </Network>
      </Parameters>
   </Entry>

VPN 連線條件

下表描述 VPN 連線條件:

名稱 描述
NameId VPN 連線的名稱。 支援通配符。
VPNConnectionStatusId 有效的值為 ConnectedDisconnected
VPNServerAddressId VPNServerAddress字串值。 支援通配符。
VPNDnsSuffixId VPNDnsSuffix字串值。 支援通配符。

這些屬性會新增至 VPNConnection 類型群組的 DescriptorIdList,如下列代碼段所示:


    <Group Id="{d633d17d-d1d1-4c73-aa27-c545c343b6d7}" Type="VPNConnection">
        <Name>Corporate VPN</Name>
        <MatchType>MatchAll</MatchType>
        <DescriptorIdList>
            <NameId>ContosoVPN</NameId>
            <VPNServerAddressId>contosovpn.*.contoso.com</VPNServerAddressId>
            <VPNDnsSuffixId>corp.contoso.com</VPNDnsSuffixId>
            <VPNConnectionStatusId>Connected</VPNConnectionStatusId>
        </DescriptorIdList>
    </Group>

然後將群組參考為專案中的參數,如下列代碼段所示:


       <Entry Id="{27c79875-25d2-4765-aec2-cb2d1000613f}">
          <Type>Allow</Type>
          <Options>0</Options>
          <AccessMask>64</AccessMask>
          <Parameters MatchType="MatchAny">
            <VPNConnection>
                    <GroupId>{d633d17d-d1d1-4c73-aa27-c545c343b6d7}</GroupId>
            </VPNConnection>
        </Parameters>
       </Entry>

檔案條件

下表描述檔案群組屬性:

名稱 描述
PathId 字串,檔案路徑或名稱的值。
支援通配符。
僅適用於檔案類型群組。

下表說明如何將屬性新增至 DescriptorIdList 檔案群組的 :


<Group Id="{e5f619a7-5c58-4927-90cd-75da2348a30f}" Type="File" MatchType="MatchAny">
    <DescriptorIdList>
        <PathId>*.exe</PathId>
        <PathId>*.dll</PathId>
    </DescriptorIdList>
</Group>

群組接著會在項目中參考為參數,如下列代碼段所示:


   <Entry Id="{1ecfdafb-9b7f-4b66-b3c5-f1d872b0961d}">
      <Type>Deny</Type>
      <Options>0</Options>
      <AccessMask>40</AccessMask>
      <Parameters MatchType="MatchAll">
             <File MatchType="MatchAny">
                   <GroupId>{ e5f619a7-5c58-4927-90cd-75da2348a30f }</GroupId>
            </File>
      </Parameters>
   </Entry>

下表描述 PrintJob 群組屬性:

名稱 描述
PrintOutputFileNameId 列印到檔案的輸出目的地檔案路徑。 支援通配符。 例如,C:\*\Test.pdf
PrintDocumentNameId 來源檔案路徑。 支援通配符。 此路徑可能不存在。 例如,將文字新增至記事本中的新檔案,然後列印而不儲存盤案。

這些屬性會新增至 DescriptorIdList 類型 PrintJob群組的 ,如下列代碼段所示:


<Group Id="{e5f619a7-5c58-4927-90cd-75da2348a30b}" Type="PrintJob" MatchType="MatchAny">
    <DescriptorIdList>
        <PrintOutputFileNameId>C:\Documents\*.pdf</PrintOutputFileNameId >
        <PrintDocumentNameId>*.xlsx</PrintDocumentNameId>
<PrintDocumentNameId>*.docx</PrintDocumentNameId>
    </DescriptorIdList>
</Group>

群組接著會在項目中參考為參數,如下列代碼段所示:


   <Entry Id="{1ecfdafb-9b7f-4b66-b3c5-f1d872b0961d}">
      <Type>Deny</Type>
      <Options>0</Options>
      <AccessMask>40</AccessMask>
      <Parameters MatchType="MatchAll">
             <PrintJob MatchType="MatchAny">
                   <GroupId>{e5f619a7-5c58-4927-90cd-75da2348a30b}</GroupId>
            </PrintJob>
      </Parameters>
   </Entry>

檔案辨識項

使用裝置控制,您可以儲存複製到卸載式裝置或列印的檔案辨識項。 開啟檔案辨識選項時, RemovableStorageFileEvent 會建立 。 檔案辨識項的行為是由 [允許] 動作上的選項所控制,如下表所述:

選項 描述
8 使用 建立 RemovableStorageFileEvent 事件 FileEvidenceLocation
16 建立不含RemovableStorageFileEventFileEvidenceLocation

如果建立辨識項檔案,則的 FileEvidenceLocation 字段會具有辨識項檔案的位置。 辨識項檔案的名稱結尾為 .dup,而且其位置是由 設定所 DataDuplicationFolder 控制。

將檔案辨識項儲存在 Azure Blob 記憶體中

  1. 建立 Azure Blob 記憶體帳戶和容器。

  2. 建立稱為的 Device Control Evidence Data Provider 自定義角色,以存取容器。 角色應具有下列許可權:

    "permissions": [
                {
                    "actions": [
                        "Microsoft.Storage/storageAccounts/blobServices/containers/read",
                        "Microsoft.Storage/storageAccounts/blobServices/containers/write",
                        "Microsoft.Storage/storageAccounts/blobServices/read"
                    ],
                    "notActions": [],
                    "dataActions": [
                        "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action",
                        "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write"
                    ],
                    "notDataActions": []
                }
            ]
    

    您可以透過 CLIPowerShell 建立自訂角色

    提示

    內建角色 「記憶體 Blob 資料參與者 」具有容器的刪除許可權,不需要此許可權即可儲存裝置控制項功能辨識項。 內建角色 「記憶體 Blob 數據讀取器 」缺少所需的寫入許可權。 這就是建議使用自定義角色的原因。

    重要事項

    若要確保檔案辨識項的完整性,請使用 Azure 固定記憶體

  3. 將裝置控制件的使用者指派給 Device Control Evidence Data Provider 角色。

  4. RemoteStorageFileEvent將 設定為 Azure Blob 記憶體容器的 URL。

後續步驟