了解如何在 Microsoft Entra 预配服务中使用范围筛选器来定义基于属性的规则。 这些规则用于确定预配的用户或组。
范围筛选器用例
您可以使用范围筛选器,以防止在支持自动用户预配的应用程序中,将不满足业务要求的对象进行预配。 范围筛选器允许包含或排除具有与特定值匹配的属性的任何用户。 例如,将用户从 Microsoft Entra ID 预配到销售团队使用的 SaaS 应用程序时,可以指定只有“部门”属性为“销售”的用户才应在预配范围内。
可以根据预配连接器的类型以不同的方式使用范围筛选器:
从 Microsoft Entra ID 到 SaaS 应用的外部置备。 当Microsoft Entra ID 是源系统时, 用户和组分配 是确定哪些用户位于预配范围内的最常用方法。 这些分配还用于启用单一登录,并提供用于管理访问和预配的单一方法。 可以选择使用范围筛选器,除了分配之外,或者替代分配,根据属性值筛选用户。
小窍门
预配范围内的用户和组越多,同步过程就越长。 设置范围以同步分配的用户和组,限制分配给应用的组数,并限制组的大小将减少同步范围内每个人所需的时间。
从 HCM 应用程序到 Microsoft Entra ID 和 Active Directory 的入站预配。 当 HCM 应用程序是源系统时,范围筛选器是确定哪些用户应从 HCM 应用程序预配到 Active Directory 或Microsoft Entra ID 的主要方法。
默认情况下,Microsoft Entra 预配连接器未配置任何基于属性的范围筛选器。
当Microsoft Entra ID 是源系统时, 用户和组分配 是确定哪些用户位于预配范围内的最常用方法。 减少范围内的用户数量可以提高性能,建议同步分配的用户和组,而不是同步所有用户和组。
除按分配范围外,还可以选择性使用范围筛选器。 范围筛选器允许Microsoft Entra 预配服务包含或排除具有与特定值匹配的属性的任何用户。 例如,从销售团队预配用户时,可以指定只有具有“销售”属性的用户才应在预配范围内。
定义范围的筛选器构造
范围过滤器由一个或多个 条款组成。 子句通过评估每个用户的属性来确定允许哪些用户通过范围过滤器。 例如,你可能有一个子句要求用户的“State”属性等于“纽约”,因此只有纽约用户预配到应用程序中。
单个子句定义单个属性值的单个条件。 如果在单个范围筛选器中创建多个子句,则会使用“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. ENDS_WITH。 如果计算的属性以输入字符串值结尾,则子句返回“true”。
d. EQUALS。 如果计算的属性与输入字符串值完全匹配(区分大小写),则子句返回“true”。
e. Greater_Than。 如果计算的属性大于值,则子句返回“true”。 在范围筛选器中指定的值必须是整数,并且用户的属性必须是整数 [0,1,2,...]。
f. Greater_Than_OR_EQUALS。 如果计算的属性大于或等于值,则子句返回“true”。 在范围筛选器中指定的值必须是整数,并且用户的属性必须是整数 [0,1,2,...]。
g. 包括。 如果计算的属性包含字符串值(区分大小写),则子句返回“true”,如 此处所述。
h. 为假。 如果被评估的属性包含布尔值 false,则子句返回 “true”。
一. IS NOT NULL。 如果计算的属性不为空,则子句的返回值为“true”。
j. 为 NULL。 如果计算的属性为空,则子句返回“true”。
k. 为 TRUE。 如果计算的属性包含 true 的布尔值,则子句返回“true”。
l. 不等于。 如果计算的属性与输入字符串值(区分大小写)不匹配,则子句将返回“true”。
m. 非正则表达式匹配。 如果计算的属性与正则表达式模式不匹配,则子句返回“true”。 如果属性为 null/空,则返回“false”。
n. 正则表达式匹配。 如果计算的属性与正则表达式模式匹配,则子句返回“true”。 例如:
([1-9][0-9])匹配介于 10 和 99 之间的任意数字(区分大小写)。
重要
- 目前不支持 IsMemberOf 筛选器。
- 目前不支持群组的成员属性。
- 多值属性不支持筛选。
- 如果值为 null/empty,范围筛选器将返回“false”。
(可选)重复步骤 7-8 以添加更多范围子句。
在 范围筛选器标题中,为范围筛选器添加名称。
选择“确定”。
在“范围筛选器”屏幕上再次选择“确定”。 (可选)重复步骤 6-11 以添加另一个范围筛选器。
在“属性映射”屏幕上选择“保存”。
重要
保存新的范围筛选器会导致应用程序进行一次新的全面同步,其中源系统中的所有用户都会根据新的范围筛选器重新进行评估。 如果应用程序中的用户以前处于预配范围,但超出范围,则其帐户在应用程序中处于禁用或取消预配状态。
常见的范围筛选器
| 目标属性 | Operator | 价值 | 说明 |
|---|---|---|---|
| userPrincipalName | REGEX MATCH | .*\@domain.com |
具有 userPrincipal 域 @domain.com 的所有用户都在预配范围内。 |
| userPrincipalName | 非正则表达式匹配 (NOT REGEX MATCH) | .*\@domain.com |
具有域 @domain.com 的 userPrincipal 的所有用户都不在预配范围内。 |
| 部门 | EQUALS | sales |
销售部门的所有用户都在预配范围内 |
| workerID | REGEX MATCH | (1[0-9][0-9][0-9][0-9][0-9][0-9]) |
所有拥有 workerID 1000000 到 2000000 的员工都在预配范围内。 |