使用 Microsoft Entra ID 为 ServiceNow 配置自动用户预配

本文介绍在 ServiceNow 和 Microsoft Entra ID 中执行的步骤,以配置自动用户预配。 配置后,Microsoft Entra ID 会使用 Microsoft Entra 预配服务自动将用户和组预配到 ServiceNow 以及取消预配。

有关 Microsoft Entra 自动用户预配服务的详细信息,请参阅使用 Microsoft Entra ID为 SaaS 应用程序自动化用户预配和取消预配

支持的功能

  • 在 ServiceNow 中创建用户。
  • 在用户不再有访问需求的情况下,在 ServiceNow 中删除用户。
  • 使用户属性在 Microsoft Entra ID 和 ServiceNow 之间保持同步。
  • 在 ServiceNow 中预配组和组成员身份。
  • 允许单一登录到 ServiceNow(推荐)。

先决条件

注释

还可以从 Microsoft Entra US Government 云环境使用此集成。 可以在 Microsoft Entra US Government 云应用程序库中找到此应用程序,并按照与从公有云中相同的方式对其进行配置。

步骤 1:规划预配部署

步骤 2:将 ServiceNow 配置为支持使用 Microsoft Entra ID 进行预配

  1. 确定 ServiceNow 实例名称。 可以在用于访问 ServiceNow 的 URL 中找到实例名称。 在下面的示例中,实例名称为 dev35214。

    显示 ServiceNow 实例的屏幕截图。

  2. 获取 ServiceNow 中管理员的凭据。 转到 ServiceNow 中的用户配置文件,并验证该用户是否具有管理员角色。

    显示 ServiceNow 管理员角色的屏幕截图。

从 Microsoft Entra 应用程序库添加 ServiceNow,开始管理到 ServiceNow 的预配。 如果以前为 ServiceNow 设置过单一登录 (SSO),则可以使用同一应用程序。 但是,我们建议你在测试集成时创建一个单独的应用。 详细了解如何从库中添加应用程序

步骤 4:定义谁在预配范围内

通过Microsoft Entra 预配服务,你可以根据应用程序分配或用户或组的属性来限定预配的人员的范围。 如果您选择根据分配范围决定将哪些人员预配到您的应用程序,您可以使用 步骤将用户和组分配到应用程序中。 如果选择仅根据用户或组的属性来限定预配的人员,则可以 使用范围筛选器

  • 从小开始。 在向所有人推出之前,先使用一小部分用户和组进行测试。 将预配范围设置为已分配的用户和组时,可以通过向应用分配一两个用户或组来控制此设置。 将范围设置为所有用户和组时,可以指定 基于属性的范围筛选器

  • 如果需要额外的角色,可以 更新应用程序清单 以添加新角色。

步骤 5:对 ServiceNow 配置自动用户预配

本部分介绍了如何配置 Microsoft Entra 预配服务以在 TestApp 中创建、更新以及禁用用户和组。 可以根据 Microsoft Entra ID 中的用户和组分配进行配置。

若要在 Microsoft Entra ID 中为 ServiceNow 配置自动用户预配,请执行以下操作:

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到 Entra ID>企业应用

    显示“企业应用程序”窗格的屏幕截图。

  3. 在应用程序列表中,选择“ServiceNow”。

  4. 选择“预配”选项卡。

  5. 将“预配模式”设置为“自动”。

  6. 在“管理员凭据”部分中,输入 ServiceNow 管理员凭据和用户名。 选择“测试连接”以确保 Microsoft Entra ID 可以连接到 ServiceNow。 如果连接失败,请确保 ServiceNow 帐户具有管理员权限,然后重试。

  7. 在“通知电子邮件”框中输入应接收预配错误通知的人员或组的电子邮件地址 。 然后,选中“发生故障时发送电子邮件通知”复选框。

  8. 选择“保存”

  9. 在“映射”部分中,选择“将 Microsoft Entra 用户同步到 ServiceNow”。

  10. 在“属性映射”部分,查看从 Microsoft Entra ID 同步到 ServiceNow 的用户属性。 选为“匹配”属性的特性用于匹配 ServiceNow 中的用户帐户以执行更新操作。

    如果选择更改 匹配的目标属性,则需要确保 ServiceNow API 支持基于该属性筛选用户。

    选择“保存”按钮以提交任何更改 。

  11. 在“映射”部分中,选择“将 Microsoft Entra 组同步到 ServiceNow”。

  12. 在“属性映射”部分,查看从 Microsoft Entra ID 同步到 ServiceNow 的组属性。 选为“匹配”属性的特性用于匹配 ServiceNow 中的组以执行更新操作。 选择“保存”按钮以提交任何更改 。

  13. 若要配置范围筛选器,请参阅 范围筛选器文章中的说明。

  14. 若要为 ServiceNow 启用 Microsoft Entra 预配服务,请在“设置”部分将“预配状态”更改为“打开”。

  15. 通过在“设置”部分的“范围”中选择所需的值,定义要预配到 ServiceNow 的用户和组 。

    显示预配范围选项的屏幕截图。

  16. 准备好预配时,选择“保存”。

此作启动“设置”部分中“作用域”中定义的所有用户和组的初始同步周期。 初始周期所需的时间比后续周期要长。 只要 Microsoft Entra 预配服务正在运行,后续周期大约每 40 分钟就会进行一次。

第6步:监控您的部署

配置预配后,请使用以下资源来监视部署:

  1. 使用 预配日志 确定哪些用户已成功或未成功预配
  2. 检查 进度栏 以查看预配周期的状态及其完成程度
  3. 如果预配配置似乎处于不正常状态,则应用程序进入隔离状态。 您可以在应用程序预配隔离状态一文中了解有关隔离状态的更多信息。

故障排除提示

  • 在 ServiceNow 中预配某些属性(如 Department 和 Location)时,这些值必须已存在于 ServiceNow 的引用表中 。 如果他们没有这样做,将收到 InvalidLookupReference 错误。

    例如,在 ServiceNow 的某一表中,可能有两个地点(西雅图、洛杉矶)和三个部门(销售、财务、市场)。 如果尝试预配部门为“Sales”且其位置为“Seattle”的用户,则已成功预配该用户。 如果尝试预配部门为“销售”以及地点为“洛杉矶”的用户,则该用户将预配失败。 必须将位置“洛杉矶”添加到 ServiceNow 的引用表中,或者必须更新 Microsoft Entra ID 中的用户属性才能匹配 ServiceNow 中的格式。

  • 如果收到 EntryJoiningPropertyValueIsMissing 错误,请查看属性映射,以标识匹配的属性。 该值必须存在于要预配的用户或组上。

  • 查看 ServiceNow SOAP API 以了解任何要求或限制(例如,为用户指定国家/地区代码的格式)。

  • 默认情况下,预配请求将发送到 https://{你的实例名称}.service-now.com/{表名称}。 如果需要一个自定义租户 URL,可以提供整个 URL 作为实例名称。

  • ServiceNowInstanceInvalid 错误表示与 ServiceNow 实例通信时出现问题。 以下是错误的文本:

    Details: Your ServiceNow instance name appears to be invalid. Please provide a current ServiceNow administrative user name and password along with the name of a valid ServiceNow instance.

    如果遇到测试连接问题,请尝试在 ServiceNow 中为以下设置选择“否”:

    • “系统安全性”“高安全性设置”>“需要对传入的 SCHEMA 请求进行基本身份验证”

    • “系统属性”“Web 服务”>“需要对传入的 SOAP 请求进行基本授权”

      显示用于授权 SOAP 请求的选项的屏幕截图。

    如果仍无法解决问题,请联系 ServiceNow 支持人员,并请其启用 SOAP 调试,进行故障排除。

  • Microsoft Entra 预配服务当前在特定 IP 范围下运行。 如有必要,可以限制其他 IP 范围,并将这些特定的 IP 范围添加到你的应用程序允许列表中。 该方法允许流量从 Microsoft Entra 预配服务传递到应用程序。

  • 不支持自托管 ServiceNow 实例。

  • 当对 ServiceNow 中的活动属性进行更新时,即使在 Azure 预配服务中未映射locked_out属性,也会相应地更新locked_out属性。

其他资源