共用方式為


條件式存取:裝置篩選

當系統管理員建立條件式存取原則時,常見工作是要能在其環境中鎖定或排除特定裝置。 裝置的條件篩選讓系統管理員能夠鎖定特定裝置為目標。 系統管理員可以將 支援用於裝置篩選的運算子和屬性 以及條件式存取原則中其他可用的指派條件一起使用。

在條件式存取原則條件中建立裝置的篩選

常見場景

現在,組織可以使用裝置條件篩選來啟用多種情境。 下列案例提供如何使用這個新條件的範例。

  • 限制特殊許可權資源的存取。 對於此範例,假設您想要允許下列使用者存取 Windows Azure 服務管理 API:
    • 已指派 特殊權限角色
    • 完成多重因素驗證。
    • 位於具有 特殊權限或安全系統管理員工作站 且證明為符合規範的裝置上。
    • 在此案例中,組織會建立兩個條件式存取原則:
      • 原則 1:所有具有管理員角色的使用者,可存取 Windows Azure 服務管理 API 雲端應用程式,對於存取控制,則為授與存取權但要求進行多重要素驗證,且裝置必須標示為符合規範。
      • 原則 2:所有具有管理員角色的使用者,可存取 Windows Azure 服務管理 API 雲端應用程式,使用規則運算式 device.extensionAttribute1 equals SAW 來排除裝置篩選,對於存取控制,則為封鎖。 了解如何更新 Microsoft Entra 裝置物件上的擴展屬性
  • 從執行不支援作業系統的裝置阻止組織資源的存取。 在此範例中,假設您想要封鎖 Windows 10 以前的作業系統版本的資源存取。 在此案例中,組織會建立下列兩個條件式存取原則:
    • 所有使用者,存取所有資源,但不包括根據規則表達式篩選的裝置:device.operatingSystem 等於 Windows 且 device.operatingSystemVersion 以 "10.0" 開頭。在存取控制中,封鎖此類裝置。
  • 不需要對特定裝置上的特定帳戶進行多重要素驗證。 在此範例中,假設您希望在 Teams 手機或 Surface Hub 裝置等特定裝置上使用服務帳戶時,不需要進行多重要素驗證。 在此案例中,組織會建立下列兩個條件式存取原則:
    • 原則 1:所有存取所有資源的使用者,排除服務帳戶,在授與訪問控制時允許存取,但需要多重因素驗證。
    • 原則 2:選擇使用者和群組,並包含僅包含服務帳戶的群組,存取所有資源,排除使用規則表達式 device.extensionAttribute2 不等於 TeamsPhoneDevice 的設備篩選,並在存取控制中進行封鎖。

注意

Microsoft Entra ID 會使用裝置驗證來評估裝置篩選規則。 對於未向 Microsoft Entra ID 註冊的裝置,所有裝置內容都會被視為 Null 值,而且因為裝置不存在於目錄中,因此無法判斷裝置屬性。 以未註冊裝置的原則為目標的最佳方式是使用否定運算子,因為會套用已設定的篩選規則。 如果您要使用肯定運算子,只有在裝置存在於目錄中,且設定的規則符合裝置的屬性時,才會套用篩選規則。

建立條件式存取原則

篩選裝置是建立條件式存取政策時的一個可選控制項。

下列步驟有助於建立兩個條件式存取原則,以支援 常見案例下的第一種案例。

原則 1:所有具有管理員角色的使用者,可存取 Windows Azure 服務管理 API 雲端應用程式,對於存取控制,則為授與存取權但要求進行多重要素驗證,且裝置必須標示為符合規範。

  1. 以至少條件式存取管理員的身分登入Microsoft Entra 系統管理中心
  2. 瀏覽至 [保護]> [條件式存取]> [原則]
  3. 選取 [新增政策]
  4. 為您的原則命名。 建議組織針對其原則的名稱建立有意義的標準。
  5. 在 [指派] 底下,選取 [使用者] 或 [工作負載識別]
    1. 在 [Include] 之下,選取 [Directory roles],然後選取所有名稱中包含「系統管理員」的角色。

      警告

      條件式存取原則支援內建角色。 條件式存取原則不會針對其他角色類型套用,包括 [管理單位範圍](../role-based-access-control/manage-roles-portal.md) 或 自訂角色

    2. 在 [排除] 下,選取 [使用者和群組],然後選擇您組織的緊急存取帳號或備用帳號。

    3. 選取完成

  6. 目標資源>資源(先前稱為雲端應用程式)>包含>選取資源 下,選擇 Windows Azure Service Management API,然後選取 選取
  7. 在 [存取控制]>[授權] 頁面下,選取 [授與存取權]、[需要多重要素驗證] 和 [裝置需要標記為符合規範],然後選取 [選取]
  8. 確認您的設定,並將 [啟用原則] 設定為 [開啟]
  9. 選取 [建立] 以建立並啟用您的原則。

原則 2:所有具有系統管理員角色的使用者,可存取 Windows Azure 服務管理 API 雲端應用程式,使用規則運算式 device.extensionAttribute1 equals SAW 來排除裝置篩選,對於存取控制,則為封鎖。

  1. 選取 [新增政策]
  2. 為您的原則命名。 建議組織針對其原則的名稱建立有意義的標準。
  3. 在 [指派] 底下,選取 [使用者] 或 [工作負載識別]
    1. 在 [包含] 底下,選取 [目錄角色],然後選取名稱中有系統管理員的所有角色

      警告

      條件式存取原則支援內建角色。 系統不會針對其他角色類型強制執行條件式存取原則,包括管理單位範圍自訂角色

    2. 在 [排除] 下,選取 [使用者和群組],然後選擇您組織的緊急存取或急用帳戶。

    3. 選取完成

  4. 目標資源資源(以前稱為雲端應用程式) 中,選取 包含選取資源,選擇 Windows Azure Service Management API,然後選取 選取
  5. 在 [條件]、[裝置篩選] 底下。
    1. 將 [設定] 切換為 [是]
    2. 將 [符合規則的裝置] 設定為 [從原則中排除篩選出的裝置]
    3. 將屬性設定為 ExtensionAttribute1、將運算子設定為 Equals,並將值設定為 SAW
    4. 選取完成
  6. 在 [存取控制]>[授與] 下,選取 [封鎖存取],然後選取 [選取]
  7. 確認您的設定,並將 [啟用原則] 設定為 [開啟]
  8. 選取 [建立] 以建立並啟用您的原則。

警告

需要符合規範裝置的原則可能會提示 Mac、iOS 和 Android 上的使用者,即使未強制執行裝置合規性,也需要在原則評定期間選取裝置憑證。 在裝置符合規範之前,可能會重複這些提示。

設定屬性值

透過 Microsoft Graph API 便可設定擴充屬性。 如需如何設定裝置屬性的詳細資訊,請參閱更新裝置一文。

裝置篩選 Graph API

裝置篩選 API 可在 Microsoft Graph v1.0 端點中使用,並可使用端點 https://graph.microsoft.com/v1.0/identity/conditionalaccess/policies/ 來存取。 您可以在建立新的條件式存取原則時設定裝置篩選,也可以更新現有原則來設定裝置篩選條件。 若要更新現有原則,您可以在 Microsoft Graph v1.0 端點上發出修補呼叫,方法是加上現有原則的原則識別碼並執行下列要求本文。 此處的範例會說明如何設定裝置篩選條件來排除未標記為 SAW 裝置的裝置。 此規則語法可包含多個單一運算式。 若要深入了解語法,請參閱 Microsoft Entra ID 中組動態成員資格群組規則

{
    "conditions": {
        "devices": {
            "deviceFilter": {
                "mode": "exclude",
                "rule": "device.extensionAttribute1 -ne \"SAW\""
            }
        }
    }
}

支援用於篩選的運算子和裝置屬性

下列裝置屬性可在條件式存取中與裝置篩選條件搭配使用。

備註

Microsoft Entra ID 會使用裝置驗證來評估裝置篩選規則。 對於未向 Microsoft Entra ID 註冊的裝置,所有裝置內容都會被視為 Null 值,而且因為裝置不存在於目錄中,因此無法判斷裝置屬性。 以未註冊裝置的原則為目標的最佳方式是使用否定運算子,因為會套用已設定的篩選規則。 如果您要使用肯定運算子,只有在裝置存在於目錄中,且設定的規則符合裝置的屬性時,才會套用篩選規則。

支援的裝置屬性 支援的運算子 支援的值 範例
deviceId Equals、NotEquals、In、NotIn 屬於 GUID 的有效 deviceId (device.deviceid -eq "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb")
顯示名稱 等於、不等於、開頭是、開頭不是、結尾是、結尾不是、包含、不包含、在範圍內、不在範圍內 任何字串 (device.displayName -contains "ABC")
設備擁有權 等於、不等於 支援的值為「個人」(若為自備裝置) 和「公司」(若為公司擁有的裝置) (device.deviceOwnership -eq "Company")
合規 等於、不等於 支援的值為「True」(若為符合規範的裝置) 和「False」(若為不符合規範的裝置) (device.isCompliant -eq "是")
製造商 等於、 不等於、開始於、不開始於、結束於、不結束於、包含、不包含、位於集合中、不位於集合中 任何字串 (device.manufacturer -startsWith "Microsoft")
mdmAppId 相等、不相等、包含、不包含 有效的 MDM 應用程式識別碼 (device.mdmAppId -in ["00001111-aaaa-2222-bbbb-3333cccc4444"])
機型 Equals (等於)、NotEquals (不等於)、StartsWith (開頭為)、NotStartsWith (不開頭為)、EndsWith (結尾為)、NotEndsWith (不結尾為)、Contains (包含)、NotContains (不包含)、In (在內)、NotIn (不在內) 任何字串 (device.model -notContains "Surface")
作業系統 等於、不等於、開頭是、開頭不是、結尾是、結尾不是、包含、不包含、在內、不在內 有效的作業系統 (例如 Windows、iOS 或 Android) (device.operatingSystem -eq "Windows")
作業系統版本 等於、不等於、開始於、不開始於、結束於、不結束於、包含、不包含、在其中、不在其中 有效的作業系統版本 (例如 6.1 代表 Windows 7、6.2 代表 Windows 8 或 10.0 代表 Windows 10 和 Windows 11) (device.operatingSystemVersion -in ["10.0.18363", "10.0.19041", "10.0.19042", "10.0.22000"])
物理識別碼 Contains、NotContains 舉例來說,所有 Windows Autopilot 裝置都會在裝置的 physicalIds 屬性中儲存 ZTDId (指派給所有已匯入 Windows Autopilot 裝置的唯一值)。 (device.physicalIds -contains "[ZTDId]:value")
個人資料類型 相等、不相等 為裝置設定的有效設定檔類型。 支援的值為:RegisteredDevice (預設值)、SecureVM (用於 Azure 中已啟用 Microsoft Entra 登入的 Windows VM)、Printer (用於印表機)、Shared (用於共用裝置)、IoT (用於 IoT 裝置) (device.profileType -eq "印表機")
systemLabels Contains、NotContains 系統套用至裝置的標籤清單。 其中一些支援的值為:AzureResource (用於 Azure 中已啟用 Microsoft Entra 登入的 Windows VM)、M365Managed (用於透過 Microsoft 受管理的電腦來進行管理的裝置)、MultiUser (用於共用裝置) (device.systemLabels -contains "M365Managed")
信任類型 相等、不相等 裝置的有效註冊狀態。 支援的值為:AzureAD (用於已聯結 Microsoft Entra 的裝置)、ServerAD (用於已聯結 Microsoft Entra 混合式的裝置)、Workplace (用於已註冊 Microsoft Entra 的裝置) (device.trustType -eq "ServerAD")
extensionAttribute1-15 等於、不等於、以...開始、不以...開始、以...結束、不以...結束、包含、不包含、在...中、不在...中 extensionAttributes1-15 是客戶可用於裝置物件的屬性。 客戶可以使用自訂值來更新 extensionAttributes1 至 15 的任何一個屬性,並在條件式存取的裝置篩選條件中使用這些值。 您可以使用任何字串值。 (device.extensionAttribute1 -eq "SAW")

注意

建置複雜規則或使用太多個別識別碼 (例如用於裝置識別的 deviceid) 時,請記住「篩選規則的長度上限為 3072 個字元」。

注意

ContainsNotContains 運算子的運作方式會因屬性類型而有所不同。 若為 operatingSystemmodel 之類的字串屬性,Contains 運算子會指出該屬性中是否會出現指定的子字串。 若為 physicalIdssystemLabels 之類的字串集合屬性,Contains 運算子會指出指定的字串是否符合集合中所有字串的其中一個。

警告

裝置必須是受 Microsoft Intune 管理、符合規範或已加入 Microsoft Entra 混合環境,才能在條件式存取原則評估期間的 extensionAttributes1-15 中使用某個值。

裝置篩選的原則行為

條件式存取中的裝置篩選條件會根據 Microsoft Entra ID 中已註冊裝置的裝置屬性來評估原則,因此請務必了解會套用或不會套用原則的各種情況。 下表說明在設定了裝置篩選條件時的行為。

裝置篩選條件 裝置註冊狀態 已套用裝置篩選器
包含/排除模式搭配肯定運算子 (Equals、StartsWith、EndsWith、Contains、In) 並可使用任意屬性 未註冊的裝置
包含/排除模式搭配肯定運算子 (Equals、StartsWith、EndsWith、Contains、In),並使用除 extensionAttributes1-15 以外的其他屬性。 已註冊的裝置 是,如果符合準則
包含/排除模式搭配肯定運算子 (Equals、StartsWith、EndsWith、Contains、In) 並使用包括 extensionAttributes1-15 在內的屬性 由 Intune 管理的已註冊裝置 是,如果符合準則
包含/排除模式搭配正運算子 (Equals、StartsWith、EndsWith、Contains、In) 並使用包括 extensionAttributes1-15 的屬性。 並非由 Intune 管理的已註冊裝置 是,如果符合準則。 使用 extensionAttributes1-15 時,如果裝置符合規範或 Microsoft Entra 混合加入,則原則將適用。
包含/排除模式搭配否定運算子 (NotEquals、NotStartsWith、NotEndsWith、NotContains、NotIn) 並使用任何屬性 未註冊的裝置 Yes
包含/排除模式搭配否定運算子 (NotEquals、NotStartsWith、NotEndsWith、NotContains、NotIn) 並使用不包括 extensionAttributes1-15 的任何其他屬性 已註冊的裝置 是,如果符合準則
包含/排除模式搭配否定運算子 (NotEquals、NotStartsWith、NotEndsWith、NotContains、NotIn) 並使用包括 extensionAttributes1-15 在內的任何屬性 由 Intune 管理的已註冊裝置 是,如果符合準則
包含/排除模式搭配否定運算子的運用 (NotEquals、NotStartsWith、NotEndsWith、NotContains、NotIn),使用包括 extensionAttributes1-15 在內的任何屬性。 並非由 Intune 管理的已註冊裝置 是,如果符合準則。 在使用 extensionAttributes1-15 時,若裝置合規或 Microsoft Entra 混合聯結,則會套用原則。