了解如何在 Microsoft Entra 预配服务中使用范围筛选器来定义基于属性的规则。 这些规则用于确定预配哪些用户或组。
范围筛选器用例
使用范围筛选器阻止应用程序中支持自动用户预配的对象进行预配(如果对象不满足业务要求)。 范围筛选器允许你包括或排除其属性与特定值匹配的任何用户。 例如,将用户从 Microsoft Entra ID 预配到销售团队使用的 SaaS 应用程序时,可指定预配范围内仅含“部门”属性为“销售”的用户。
范围筛选器的用法因预配连接器的类型而异:
从 Microsoft Entra ID 到 SaaS 应用程序的出站预配。 当Microsoft Entra ID 是源系统时, 用户和组分配 是确定哪些用户位于预配范围内的最常用方法。 这些分配也用于启用单一登录,它们提供单一方法来管理访问权限和预配。 除分配外,还可选择性地使用范围筛选器,根据属性值筛选用户。
提示
预配范围内的用户和组越多,同步过程花费的时间就越长。 设置范围以同步分配的用户和组,限制分配给应用的组数,并限制组的大小,将缩短同步范围内每个人所需的时间。
从 HCM 应用程序到 Microsoft Entra ID 和 Active Directory 的入站预配。 当 HCM 应用程序(如 Workday )是源系统时,范围筛选器是确定哪些用户应从 HCM 应用程序预配到 Active Directory 或Microsoft Entra ID 的主要方法。
默认情况下,Microsoft Entra 预配连接器没有配置任何基于属性的范围筛选器。
当Microsoft Entra ID 是源系统时, 用户和组分配 是确定哪些用户位于预配范围内的最常用方法。 减少范围内的用户数量可以提高性能,建议同步分配的用户和组而不是同步所有用户和组。
除了通过分配来确定范围之外,还可以选择使用范围筛选器。 范围筛选器允许 Microsoft Entra 预配服务包含或排除具有与特定值匹配的属性的任何用户。 例如,从销售团队预配用户时,可指定预配范围内仅含“部门”属性为“销售”的用户。
范围筛选器构造
范围筛选器包含一个或多个子句。 子句通过评估每个用户的属性来确定允许哪些用户通过范围筛选器。 例如,可能有一个子句要求用户的“state”属性等于“New York”,因此只有纽约用户将预配到应用程序。
单个子句定义单个属性值的单个条件。 如果在单个范围筛选器中创建多个子句,则将使用“AND”逻辑评估它们。 “AND”逻辑意味着所有子句必须评估为“true”方可预配用户。
最后,可为单个应用程序创建多个范围筛选器。 如果存在多个范围筛选器,则使用“OR”逻辑评估它们。 “OR”逻辑意味着,如果配置的任意范围筛选器中所有子句评估为“true”,就会预配用户。
将始终针对每个范围筛选器单独评估由 Microsoft Entra 预配服务处理的每个用户或组。
例如,考虑以下范围筛选器:
按照此范围筛选器,用户必须满足以下条件,才能进行预配:
- 他们必须位于纽约。
- 他们必须在工程部工作。
- 其公司雇员 ID 必须在 1,000,000 和 2,000,000 之间。
- 其职务不能为 null 或为空。
创建范围筛选器
在每个 Microsoft Entra 用户预配连接器的属性映射过程中,配置范围筛选器。 以下过程假定你已经为 其中一个受支持的应用程序 设置了自动预配,并向其添加范围筛选器。
创建范围筛选器
- 以至少应用程序管理员身份登录到 Microsoft Entra 管理中心。
浏览到 Entra ID>企业应用>所有应用。
选择已为其配置自动预配的应用程序,例如“ServiceNow”。
浏览到 Entra ID>外部标识>跨租户同步>配置
选择配置。
- 选择“预配”选项卡。
- 在“映射”部分,选择要为其配置范围筛选器的映射,例如“将 Microsoft Entra 用户同步到 ServiceNow”。
- 在“映射”部分,选择要为其配置范围筛选器的映射,例如“预配 Microsoft Entra 用户”。
选择“源对象范围”菜单。
选择“添加范围筛选器”。
选择要匹配的源“属性名称”、“运算符”和“属性值”来定义子句。 支持以下运算符:
a。 &. 如果评估的属性存在于输入的字符串值中,则子句将返回“true”。
b. !&. 如果评估的属性不存在于输入的字符串值中,则子句将返回“true”。
c. 以...结束。 如果评估的属性以输入的字符串值结尾,则子句将返回“true”。
d. EQUALS。 如果评估的属性与输入字符串值完全匹配(区分大小写),则子句返回“true”。
e。 Greater_Than。 如果评估的属性大于值,则子句返回“true”。 范围筛选器上指定的值必须为整数,并且用户上的属性必须是整数 [0,1,2,...]。
f. Greater_Than_OR_EQUALS。 如果评估的属性大于或等于值,则子句返回“true”。 范围筛选器上指定的值必须为整数,并且用户上的属性必须是整数 [0,1,2,...]。
g。 Includes。 如果计算的属性包含字符串值(区分大小写),则子句返回“true”,如 此处所述。
h.如果该值不存在,请单击“添加行”。 是假 如果评估的属性包含为 false 的布尔值,则子句返回“true”。
一. IS NOT NULL。 如果评估的属性不为空,则子句返回“true”。
j. 为 NULL。 如果评估的属性为空,则子句返回“true”。
k. 是真的。 如果评估的属性包含为 true 的布尔值,则子句返回“true”。
l. 不等于。 如果评估的属性与输入字符串值不匹配(区分大小写),则子句返回“true”。
m. 非正则表达式匹配。 如果评估的属性与正则表达式模式不匹配,则子句返回“true”。 如果属性为 null/空,则返回“false”。
n. 正则表达式匹配。 如果评估的属性与正则表达式模式匹配,则子句返回“true”。 示例:
([1-9][0-9])
与介于 10 和 99 之间的任意数字匹配(区分大小写)。
重要
- 目前不支持 IsMemberOf 筛选器。
- 目前不支持组的成员属性。
- 多值属性不支持筛选。
- 如果值为 null/空,范围筛选器将返回“false”。
可重复步骤 7-8 以添加其他范围子句。
在“范围筛选器标题”中,为范围筛选器添加名称。
选择“确定”。
在“范围筛选器”屏幕上再次选择“确定”。 (可选)重复步骤 6-11 添加另一范围筛选器。
在“属性映射”屏幕上选择“保存”。
重要
保存新的范围筛选器将触发新的应用程序完全同步,其中将针对新的范围筛选器再次对源系统中的所有用户进行评估。 如果应用程序中的用户以前在预配范围内,但现在不在范围内,则会在应用程序中禁用或取消预配其帐户。 若要更改此默认行为,请参考 跳过对范围外用户帐户的删除。
常见范围筛选器
目标属性 | 运算符 | 值 | 说明 |
---|---|---|---|
用户主体名称 | REGEX Match | .*\@___domain.com |
具有域 userPrincipal 的 @___domain.com 的所有用户都在预配范围内。 |
用户主体名称 | 非正则表达式匹配 | .*\@___domain.com |
具有域 userPrincipal 的 @___domain.com 的所有用户不在预配范围内。 |
部门 | 等于 | sales |
销售部门的所有用户都在预配范围内 |
员工ID | REGEX Match | (1[0-9][0-9][0-9][0-9][0-9][0-9]) |
workerID 介于 1000000 和 2000000 之间的的所有员工都在预配范围内。 |