为 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 用户帐户。 如果还没有帐户,可以免费创建一个帐户
  • 以下角色之一:全局管理员、云应用程序管理员、应用程序管理员或服务主体的所有者。
  • Calgary 或更高版本的 ServiceNow 实例
  • Helsinki 或更高版本的 ServiceNow Express 实例
  • ServiceNow 中具有管理员角色的用户帐户。

注意

此集成也可以通过 Microsoft Entra 美国政府云环境使用。 你可以在“Microsoft Entra 美国政府云应用程序库”中找到此应用程序,并以公有云相同的方式对其进行配置。

步骤 1:规划预配部署

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

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

    Screenshot that shows a ServiceNow instance.

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

    Screenshot that shows a ServiceNow admin role.

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

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

借助 Microsoft Entra 预配服务,可根据对应用程序的分配或者用户或组的属性来限定谁在预配范围内。 如果选择根据分配来限定要将谁预配到应用,可以使用以下步骤将用户和组分配到应用程序。 如果选择仅根据用户或组的属性来限定要对谁进行预配,可以使用范围筛选器

请记住以下提示:

  • 将用户和组分配到 ServiceNow 时,必须选择“默认访问”以外的角色。 具有“默认访问”角色的用户被排除在预配范围之外,并在预配日志中被标记为无有效资格。 如果应用程序上唯一可用的角色是默认访问角色,则可以更新应用程序清单以添加更多角色。

  • 如果你需要其他角色,可以更新应用程序清单以添加新角色。

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

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

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

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

  2. 浏览到“标识”>“应用程序”>“企业应用程序”。

    Screenshot that shows the Enterprise applications pane.

  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 的用户和组 。

    Screenshot that shows choices for provisioning scope.

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

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

步骤 6:监视部署

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

故障排除提示

  • 在 ServiceNow 中预配某些属性(如 Department 和 Location)时,这些值必须已存在于 ServiceNow 的引用表中 。 否则,你将收到 InvalidLookupReference 错误。

    例如,在 ServiceNow 的某一表中,可能有两个地点(西雅图、洛杉矶)和三个部门(销售、财务、市场)。 如果尝试预配部门为“销售”以及地点为“西雅图”的用户,则该用户将预配成功。 如果尝试预配部门为“销售”以及地点为“洛杉矶”的用户,则该用户将预配失败。 必须将位置“洛杉矶”添加到 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 请求进行基本授权”

      Screenshot that shows the option for authorizing SOAP requests.

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

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

  • 不支持自托管 ServiceNow 实例。

  • 在 ServiceNow 中预配对 active 特性的更新时,特性 locked_out 也会相应更新,即使 locked_out 未映射到 Azure 预配服务中也是如此。

其他资源

后续步骤