跳过 Microsoft Entra ID 中超出范围的用户帐户的删除操作
默认情况下,Microsoft Entra 预配引擎软删除或禁用超出范围的用户。 但是,对于 Workday 到 AD 用户入站预配之类的特定方案,此行为可能不是预期的,可能需要替代此默认行为。
本文介绍如何使用 Microsoft Graph API 和 Microsoft Graph API 资源管理器来设置标志 ,控制超出范围帐户的处理。
- 如果将 SkipOutOfScopeDeletions 设置为 0 (false),则会在目标中禁用超出范围的帐户。
- 如果将 SkipOutOfScopeDeletions 设置为 1 (true),则不会在目标中禁用超出范围的帐户。 此标志在 Provisioning App 级别设置,并可以使用图形 API 进行配置。
由于此配置广泛用于“Workday 到 Active Directory 用户预配”应用,因此以下步骤包括 Workday 应用程序的屏幕截图。 但是,该配置还可用于“所有其他应用”,如 ServiceNow、Salesforce 和 Dropbox。 为了成功完成此过程,必须首先为应用设置应用预配。 每个应用都有其自己的配置文章。 例如,若要配置 Workday 应用程序,请参阅教程:配置 Workday 进行 Microsoft Entra 用户预配。 SkipOutOfScopeDeletions 不适用于跨租户同步。
步骤 1:检索预配应用服务主体 ID(对象 ID)
提示
本文中的步骤可能因开始使用的门户而略有不同。
- 至少以应用程序管理员的身份登录到 Microsoft Entra 管理中心。
- 浏览到“标识”>“应用程序”>“企业应用程序”。
- 选择应用程序,然后转到预配应用的“属性”部分。 在此示例中,我们使用的是 Workday。
- 复制“对象 ID”字段中的 GUID 值。 此值也称为应用的 ServicePrincipalId,它将用于 Graph 浏览器操作。
步骤 2:登录到 Microsoft Graph 浏览器
单击“使用 Microsoft 登录”按钮,以至少具有“应用程序管理员”角色的用户身份登录。
成功登录后,左侧窗格中会显示用户帐户详细信息。
步骤 3:获取现有应用凭据和连接性详细信息
在 Microsoft Graph 浏览器中,运行以下 GET 查询,将 [servicePrincipalId] 替换为从步骤 1 中提取的 ServicePrincipalId。
GET https://graph.microsoft.com/beta/servicePrincipals/[servicePrincipalId]/synchronization/secrets
将响应复制到文本文件中。 它看起来类似于所示的 JSON 文本,其中值以特定于部署的黄色来突出显示。 将绿色突出显示的行添加到末尾,并更新以蓝色突出显示的 Workday 连接密码。
下面是要添加到映射的 JSON 块。
{
"key": "SkipOutOfScopeDeletions",
"value": "True"
}
步骤 4:用 SkipOutOfScopeDeletions 标志更新机密终结点
在 Graph 资源管理器中运行命令,用 SkipOutOfScopeDeletions 标志更新机密终结点。
在该 URL 中,将 [servicePrincipalId] 替换为从步骤 1 中提取的“ServicePrincipalId”。
PUT https://graph.microsoft.com/beta/servicePrincipals/[servicePrincipalId]/synchronization/secrets
将在步骤 3 中更新的文本复制到“请求正文”。
单击“运行查询”。
应该会收到“成功 - 状态代码 204”的输出。 如果收到错误,则可能需要检查你的帐户是否对 ServicePrincipalEndpoint 具有读/写权限。 可以通过点击 Graph 资源管理器中的“修改权限”选项卡来找到此权限。
步骤 5:验证超出范围的用户是否未被禁用
可以通过更新范围规则以跳过特定用户来测试此标志是否导致预期行为。 在该示例中,我们将通过添加新的范围规则来排除 ID 为 21173 的雇员(之前在范围内):
在下一个预配周期中,Microsoft Entra 预配服务会发现用户 21173 已超出了范围。 如果 SkipOutOfScopeDeletions
属性已启用,则该用户的同步规则将显示一条消息。