共用方式為


條件式存取:裝置篩選

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

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

常見場景

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

  • 限制特殊許可權資源的存取。 對於此範例,假設您想要允許下列使用者存取 Windows Azure 服務管理 API:
    • 已指派 特殊權限角色
    • 完成多重因素驗證。
    • 位於具有 特殊權限或安全系統管理員工作站 且證明為符合規範的裝置上。
    • 在此案例中,組織會建立兩個條件式存取原則:
      • 原則 1:所有具有管理員角色的使用者,可存取 Windows Azure 服務管理 API 雲端應用程式,對於存取控制,則為授與存取權但要求進行多重要素驗證,且裝置必須標示為符合規範。
      • 原則 2:所有具有管理員角色的用戶,當存取 Windows Azure 服務管理 API 雲端應用程式時,透過使用規則表達式 device.extensionAttribute1 等於 SAW 排除裝置篩選,並對於存取控制,設為封鎖。 了解如何更新 Microsoft Entra 裝置物件上的擴展屬性
  • 從執行不支援作業系統的裝置阻止組織資源的存取。 在此範例中,假設您想要封鎖 Windows 10 以前的作業系統版本的資源存取。 在此案例中,組織會建立下列兩個條件式存取原則:
    • 所有存取資源的使用者,不包括具有規則表達式 device.operatingSystem == 'Windows'device.operatingSystemVersion startsWith '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. 流覽至 Entra ID>條件式存取>策略
  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建議在條件式存取中使用篩選條件時,至少使用一個系統定義或系統管理員可設定的裝置屬性。

注意

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

支援的裝置屬性 系統定義或系統管理員設定 支援的運算子 支援的值 範例
設備識別碼 是的 Equals(等於)、NotEquals(不等於)、In(在內)、NotIn(不在內) 由 GUID 構成的有效設備 ID (device.deviceid -eq “aaaaaaaaaa-0000-1111-2222-bbbbbbbb”)
顯示名稱 等於、不等於、開頭是、開頭不是、結尾是、結尾不是、包含、不包含、在範圍內、不在範圍內 任何字串 (裝置.顯示名稱 -包含 "ABC")
設備擁有權 是的 等於、不等於 支援的值為「個人」(若為自備裝置) 和「公司」(若為公司擁有的裝置) (device.deviceOwnership -eq "公司")
註冊設定檔名稱 是的 等於、不等於、開頭是、開頭不是、結尾是、結尾不是、包含、不包含、在範圍內、不在範圍內 這是由 Microsoft Intune 根據裝置註冊當時所使用的配置檔來設定的。 這是由 Microsoft Intune 系統管理員所建立的字串值,且符合套用至裝置的 Windows Autopilot、Apple 自動化裝置註冊 (ADE) 或 Google 註冊配置檔。 (device.enrollmentProfileName -startsWith 「AutoPilot Profile」)
合規 是的 等於、不等於 支援的值為「True」(若為符合規範的裝置) 和「False」(若為不符合規範的裝置) (device.isCompliant -eq "是")
製造商 等於、不等於、開頭是、開頭不是、結尾是、結尾不是、包含、不包含、在範圍內、不在範圍內 任何字串 (device.manufacturer -以"Microsoft"開始)
mdmAppId 是的 Equals(等於)、NotEquals(不等於)、In(在內)、NotIn(不在內) 有效的 MDM 應用程式識別碼 (device.mdmAppId -in [“00001111-aaaa-2222-bbbb-3333cccc4444”])
模型 等於、不等於、開頭是、開頭不是、結尾是、結尾不是、包含、不包含、在範圍內、不在範圍內 任何字串 (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”])
物理識別碼 是的 包含、不包含 舉例來說,所有 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 是的 包含、不包含 系統套用至裝置的標籤清單。 其中一些支援的值為: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”)

警告

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

注意

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

注意

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

政策行為與裝置篩選

條件式存取中的裝置篩選條件會根據 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) 並可使用任何屬性 未註冊的裝置 是的
包含/排除模式搭配否定運算子 (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 混合加入,則原則將適用。