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