共用方式為


條件式存取:裝置篩選

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

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

常見場景

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

  • 限制特殊許可權資源的存取。 對於此範例,假設您想要允許下列使用者存取 Windows Azure 服務管理 API:
    • 已指派 特殊權限角色
    • 完成多重要素驗證。
    • 位於具有 特殊權限或安全系統管理員工作站 且證明為符合規範的裝置上。
    • 在此案例中,組織會建立兩個條件式存取原則:
      • 原則 1:所有具有管理員角色的使用者,可存取 Windows Azure 服務管理 API 雲端應用程式,對於存取控制,則為授與存取權但要求進行多重要素驗證,且裝置必須標示為符合規範。
      • 原則 2:所有具有管理員角色的使用者,可存取 Windows Azure 服務管理 API 雲端應用程式,使用規則運算式 device.extensionAttribute1 equals SAW 來排除裝置篩選,對於存取控制,則為封鎖。 了解如何更新 Microsoft Entra 裝置物件上的 extensionAttributes
  • 從執行不支援作業系統的裝置阻止組織資源的存取。 在此範例中,假設您想要封鎖 Windows 10 以前的作業系統版本的資源存取。 在此案例中,組織會建立下列兩個條件式存取原則:
    • 所有使用者,存取所有資源,但不包括使用規則表達式 device.operatingSystem 等於 Windows 和 device.operatingSystemVersion 的裝置篩選條件With “10.0” 和 Access controls、Block。
  • 不需要對特定裝置上的特定帳戶進行多重要素驗證。 在此範例中,假設您希望在 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. 在 [包含] 底下,選取 [目錄角色],然後選取名稱中有系統管理員的所有角色。

      警告

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

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

    3. 選取完成

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

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

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

      警告

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

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

    3. 選取完成

  4. [目標資源資源>(先前稱為雲端應用程式)>包含>選取資源] 下,選擇 [Windows Azure 服務管理 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")
displayName Equals、NotEquals、StartsWith、NotStartsWith、EndsWith、NotEndsWith、Contains、NotContains、In、NotIn 任何字串 (device.displayName -contains "ABC")
deviceOwnership Equals、NotEquals 支援的值為「個人」(若為自備裝置) 和「公司」(若為公司擁有的裝置) (device.deviceOwnership -eq "Company")
isCompliant Equals、NotEquals 支援的值為「True」(若為符合規範的裝置) 和「False」(若為不符合規範的裝置) (device.isCompliant -eq "True")
製造商 Equals、NotEquals、StartsWith、NotStartsWith、EndsWith、NotEndsWith、Contains、NotContains、In、NotIn 任何字串 (device.manufacturer -startsWith "Microsoft")
mdmAppId Equals、NotEquals、In、NotIn 有效的 MDM 應用程式識別碼 (device.mdmAppId -in ["00001111-aaaa-2222-bbbb-3333cccc4444"])
機型 Equals、NotEquals、StartsWith、NotStartsWith、EndsWith、NotEndsWith、Contains、NotContains、In、NotIn 任何字串 (device.model -notContains "Surface")
operatingSystem Equals、NotEquals、StartsWith、NotStartsWith、EndsWith、NotEndsWith、Contains、NotContains、In、NotIn 有效的作業系統 (例如 Windows、iOS 或 Android) (device.operatingSystem -eq "Windows")
operatingSystemVersion Equals、NotEquals、StartsWith、NotStartsWith、EndsWith、NotEndsWith、Contains、NotContains、In、NotIn 有效的作業系統版本 (例如 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"])
physicalIds Contains、NotContains 舉例來說,所有 Windows Autopilot 裝置都會在裝置的 physicalIds 屬性中儲存 ZTDId (指派給所有已匯入 Windows Autopilot 裝置的唯一值)。 (device.physicalIds -contains "[ZTDId]:value")
profileType Equals、NotEquals 為裝置設定的有效設定檔類型。 支援的值為:RegisteredDevice (預設值)、SecureVM (用於 Azure 中已啟用 Microsoft Entra 登入的 Windows VM)、Printer (用於印表機)、Shared (用於共用裝置)、IoT (用於 IoT 裝置) (device.profileType -eq "Printer")
systemLabels Contains、NotContains 系統套用至裝置的標籤清單。 其中一些支援的值為:AzureResource (用於 Azure 中已啟用 Microsoft Entra 登入的 Windows VM)、M365Managed (用於透過 Microsoft 受管理的電腦來進行管理的裝置)、MultiUser (用於共用裝置) (device.systemLabels -contains "M365Managed")
trustType Equals、NotEquals 裝置的有效註冊狀態。 支援的值為:AzureAD (用於已聯結 Microsoft Entra 的裝置)、ServerAD (用於已聯結 Microsoft Entra 混合式的裝置)、Workplace (用於已註冊 Microsoft Entra 的裝置) (device.trustType -eq "ServerAD")
extensionAttribute1-15 Equals、NotEquals、StartsWith、NotStartsWith、EndsWith、NotEndsWith、Contains、NotContains、In、NotIn extensionAttributes1-15 是客戶可用於裝置物件的屬性。 客戶可以使用自訂值來更新 extensionAttributes1 至 15 的任何一個屬性,並在條件式存取的裝置篩選條件中使用這些值。 您可以使用任何字串值。 (device.extensionAttribute1 -eq "SAW")

注意

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

注意

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

警告

裝置必須是受控於 Microsoft Intune、與 Microsoft Intune 相容或已聯結 Microsoft Entra 混合式,才能在條件式存取原則評估期間於 extensionAttributes1-15 中使用值。

裝置篩選的原則行為

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

裝置篩選條件 裝置註冊狀態 套用裝置篩選
包含/排除模式搭配肯定運算子 (Equals、StartsWith、EndsWith、Contains、In) 並使用任何屬性 未註冊的裝置 No
包含/排除模式搭配肯定運算子 (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,則會套用原則