使用范围筛选器确定要预配的用户或组的范围

了解如何在 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 预配服务处理的每个用户或组。

例如,考虑以下范围筛选器:

Scoping filter

按照此范围筛选器,用户必须满足以下条件,才能进行预配:

  • 他们必须位于纽约。
  • 他们必须在工程部工作。
  • 其公司雇员 ID 必须在 1,000,000 和 2,000,000 之间。
  • 其职务不能为 null 或为空。

创建范围筛选器

在每个 Microsoft Entra 用户预配连接器的属性映射过程中,配置范围筛选器。 以下过程假设已为受支持的应用程序之一设置了自动预配,且要向其添加范围筛选器。

创建范围筛选器

提示

本文中的步骤可能因开始使用的门户而略有不同。

  1. 至少以应用程序管理员的身份登录到 Microsoft Entra 管理中心
  1. 浏览到“标识”>“应用程序”>“企业应用程序”>“所有应用程序”。

  2. 选择已为其配置自动预配的应用程序,例如“ServiceNow”。

  1. 浏览到“标识”>“外部标识”>“跨租户同步”>“配置”

  2. 选择配置。

  1. 选择“预配”选项卡。
  1. 在“映射”部分,选择要为其配置范围筛选器的映射,例如“将 Microsoft Entra 用户同步到 ServiceNow”。
  1. 在“映射”部分,选择要为其配置范围筛选器的映射,例如“预配 Microsoft Entra 用户”。
  1. 选择“源对象范围”菜单。

  2. 选择“添加范围筛选器”

  3. 选择要匹配的源“属性名称”、“运算符”和“属性值”来定义子句。 支持以下运算符:

    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”。
  1. 可重复步骤 7-8 以添加其他范围子句。

  2. 在“范围筛选器标题”中,为范围筛选器添加名称

  3. 选择“确定”。

  4. 在“范围筛选器”屏幕上再次选择“确定”。 (可选)重复步骤 6-11 添加另一范围筛选器。

  5. 在“属性映射”屏幕上选择“保存”

重要

保存新的范围筛选器将触发新的应用程序完全同步,其中将针对新的范围筛选器再次对源系统中的所有用户进行评估。 如果应用程序中的用户以前在预配范围内,但现在不在范围内,则会在应用程序中禁用或取消预配其帐户。 若要替代此默认行为,请参阅跳过删除超出范围的用户帐户

常见范围筛选器

目标属性 运算符 说明
userPrincipalName REGEX Match .*\@domain.com 具有域 @domain.comuserPrincipal 的所有用户都在预配范围内。
userPrincipalName NOT REGEX MATCH .*\@domain.com 具有域 @domain.comuserPrincipal 的所有用户不在预配范围内。
department EQUALS sales 销售部门的所有用户都在预配范围内
workerID REGEX Match (1[0-9][0-9][0-9][0-9][0-9][0-9]) workerID 介于 1000000 和 2000000 之间的的所有员工都在预配范围内。