條件式存取:裝置篩選
建立條件式存取原則時,系統管理員要求能夠在其環境中鎖定或排除特定裝置。 裝置篩選條件為管理員提供了這項功能。 現在,您可以使用裝置篩選的支持運算符和屬性,以及條件式存取原則中的其他可用指派條件,以特定裝置為目標。
常見案例
組織現在可以針對裝置條件使用篩選來啟用多個案例。 下列案例提供如何使用這個新條件的範例。
- 限制對特殊許可權資源的存取。 在此範例中,假設您想要允許從獲指派特殊許可權角色的使用者存取 Windows Azure 服務管理 API、已滿足多重要素驗證,以及從具有特殊許可權或安全的系統管理工作站的裝置存取,並證明為符合規範。 在此案例中,組織會建立兩個條件式存取原則:
- 原則 1:具有系統管理員角色的所有使用者、存取 Windows Azure 服務管理 API 雲端應用程式,以及訪問控制、授與存取權,但需要多重要素驗證,並要求裝置標示為相容。
- 原則 2:具有系統管理員的所有使用者,存取 Windows Azure 服務管理 API 雲端應用程式,並排除使用規則表達式 device.extensionAttribute1 等於 SAW 和 Access controls、Block 的裝置篩選。 瞭解如何 更新 Microsoft Entra 裝置物件上的 extensionAttributes。
- 封鎖從執行不支援操作系統的裝置存取組織資源。 在此範例中,假設您想要封鎖從 Windows 10 之前的 Windows OS 版本存取資源。 在此案例中,組織會建立下列條件式存取原則:
- 所有使用者,存取所有雲端應用程式,並排除使用規則表達式 device.operatingSystem 等於 Windows 和 device.operatingSystemVersion 的裝置篩選條件With “10.0” 和訪問控制封鎖。
- 在特定裝置上,不需要特定帳戶的多重要素驗證。 在此範例中,假設您在 Teams 手機或 Surface Hub 裝置等特定裝置上使用服務帳戶時,不需要多重要素驗證。 在此案例中,組織會建立下列兩個條件式存取原則:
- 原則 1:排除服務帳戶、存取所有雲端應用程式的所有使用者,以及訪問控制、授與存取權,但需要多重要素驗證。
- 原則 2:選取使用者和群組,並包含僅包含服務帳戶的群組、存取所有雲端應用程式、使用規則表達式 device.extensionAttribute2 排除裝置的篩選條件不等於 Teams 電話 Device 和 Access controls、Block。
注意
Microsoft Entra ID 會使用裝置驗證來評估裝置篩選規則。 對於以 Microsoft Entra ID 取消註冊的裝置,所有裝置屬性都會被視為 Null 值,而且無法判斷裝置屬性,因為裝置不存在於目錄中。 以未註冊裝置的原則為目標的最佳方式是使用負運算符,因為會套用已設定的篩選規則。 如果您要使用正運算符,只有在裝置存在於目錄中,且設定的規則符合裝置上的 屬性時,篩選規則才會套用。
建立條件式存取原則
篩選裝置是建立條件式存取原則時的選擇性控件。
下列步驟將協助建立兩個條件式存取原則,以支援常見案例中的 第一個案例。
原則 1:具有系統管理員角色的所有使用者、存取 Windows Azure 服務管理 API 雲端應用程式,以及訪問控制、授與存取權,但需要多重要素驗證,並要求裝置標示為相容。
- 以至少是條件式存取系統管理員的身分登入 Microsoft Entra 系統管理中心。
- 流覽至 [保護>條件式存取]。
- 選取 [ 建立新原則]。
- 為您的原則命名。 建議組織針對其原則的名稱建立有意義的標準。
- 在 [指派] 底下,選取 [使用者或工作負載身分識別]。
在 [包含] 底下,選取 [目錄角色],然後選取名稱中具有系統管理員的所有角色。
在 [排除] 下,選取 [使用者和群組],然後選擇您組織的緊急存取或急用帳戶。
選取完成。
- 在 [目標資源>] [雲端應用程式>包括>選取應用程式]下,選擇 [Windows Azure 服務管理 API],然後選取 [選取]。
- 在 [訪問控制>授與] 底下,選取 [授與存取權]、[需要多重要素驗證] 和 [要求裝置標示為相容],然後選取 [選取]。
- 確認您的設定,並將 [啟用原則] 設定為 [開啟]。
- 選取 [建立] 以建立並啟用您的原則。
原則 2:具有系統管理員角色的所有使用者,存取 Windows Azure 服務管理 API 雲端應用程式,並排除使用規則表達式 device.extensionAttribute1 等於 SAW 和訪問控制的篩選。封鎖。
- 選取 [ 建立新原則]。
- 為您的原則命名。 建議組織針對其原則的名稱建立有意義的標準。
- 在 [指派] 底下,選取 [使用者或工作負載身分識別]。
在 [包含] 底下,選取 [目錄角色],然後選取名稱中具有系統管理員的所有角色
在 [排除] 下,選取 [使用者和群組],然後選擇您組織的緊急存取或急用帳戶。
選取完成。
- 在 [目標資源>] [雲端應用程式>包括>選取應用程式]下,選擇 [Windows Azure 服務管理 API],然後選取 [選取]。
- 在 [條件] 下,篩選裝置。
- 將 [設定] 切換為 [是]。
- 將符合規則的 [裝置] 設定為 [從原則排除篩選的裝置]。
- 將 屬性設定為
ExtensionAttribute1
、將運算子設定為Equals
,並將值設定為SAW
。 - 選取完成。
- 在 [存取控制]>[授與] 下,選取 [封鎖存取],然後選取 [選取]。
- 確認您的設定,並將 [啟用原則] 設定為 [開啟]。
- 選取 [建立] 以建立並啟用您的原則。
警告
要求相容裝置的原則可能會在原則評估期間提示使用者在Mac、iOS和Android上選取裝置憑證,即使未強制執行裝置合規性也一樣。 這些提示可能會重複,直到裝置符合規範為止。
設定屬性值
設定延伸模組屬性可透過圖形 API 進行。 如需設定裝置屬性的詳細資訊,請參閱更新裝置一文。
篩選裝置圖形 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 | 有效的 deviceId,為 GUID | (device.deviceid -eq “498c4de7-1aee-4ded-8d5d-0000000000000”) |
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 [“00000000a-0000-0000-c000-0000000000000”] |
機型 | 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 | 有效的作業系統版本(例如 Windows 7 的 6.1、適用於 Windows 8 的 6.2 或適用於 Windows 10 和 Windows 11 的 10.0 版) | (device.operatingSystemVersion -in [“10.0.18363”、“10.0.19041”、“10.0.19042”、“10.0.22000”]) |
physicalIds | Contains、 NotContains | 例如,所有 Windows Autopilot 裝置都會在 device physicalIds 屬性中儲存 ZTDId(指派給所有匯入之 Windows Autopilot 裝置的唯一值)。 | (device.physicalIds -contains “[ZTDId]:value”) |
profileType | Equals、NotEquals | 為裝置設定的有效配置檔類型。 支援的值包括:RegisteredDevice (預設值)、SecureVM(用於 Azure 中已啟用 Microsoft Entra 登入的 Windows VM)、印表機(用於印表機)、共用 (用於共用裝置)、IoT (用於 IoT 裝置) | (device.profileType -eq “Printer”) |
systemLabels | Contains、 NotContains | 系統套用至裝置的標籤清單。 支援的一些值包括:AzureResource(用於已啟用 Microsoft Entra 登入的 Azure 中的 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 是客戶可用於裝置對象的屬性。 客戶可以使用自定義值來更新任何擴充功能Attributes1 到15,並在條件式存取中的裝置條件篩選中使用它們。 您可以使用任何字串值。 | (device.extensionAttribute1 -eq “SAW”) |
注意
建置複雜規則或使用太多個別標識碼,例如 deviceid 進行裝置身分識別時,請記住「篩選規則的最大長度為 3072 個字元」。
注意
Contains
和 NotContains
運算子的運作方式會根據屬性類型而有所不同。 對於 和 model
等operatingSystem
字串屬性,Contains
運算符會指出指定的子字串是否發生在 屬性內。 對於 和 systemLabels
等physicalIds
字串集合屬性,Contains
運算符會指出指定的字串是否符合集合中其中一個整個字串。
警告
裝置必須是 Microsoft Intune 管理、相容或已加入 Microsoft Entra 混合式,才能在條件式存取原則評估期間於 extensionAttributes1-15 中使用值。
裝置篩選的原則行為
條件式存取中的裝置條件篩選會根據 Microsoft Entra 標識碼中已註冊裝置的裝置屬性來評估原則,因此請務必瞭解套用原則或未套用原則的情況。 下表說明設定裝置條件篩選時的行為。
裝置篩選條件 | 裝置註冊狀態 | 已套用裝置篩選 |
---|---|---|
包含/排除模式與正運算符 (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 混合式,原則將會套用 |