ServiceNow Tickets Microsoft Graph 连接器

借助 ServiceNow Tickets 的 Microsoft Graph 连接器,你的组织可以为向用户提供服务的各种票证编制索引。 配置连接器并索引 ServiceNow 中的内容后,最终用户可以从任何 Microsoft 搜索客户端搜索这些票证。

本文适用于 Microsoft 365 管理员或配置、运行和监视 ServiceNow Tickets Graph 连接器的任何人。 它补充了Microsoft 365 管理中心中设置 Microsoft Graph 连接器一文中提供的一般说明。 如果尚未执行此操作,请阅读整个“设置 Graph 连接器”一文,了解常规设置过程。

下面列出了安装过程中的每个步骤,以及一条说明,指示应遵循常规设置说明或仅适用于 ServiceNow 连接器的其他说明,包括有关 故障排除限制的信息。

步骤 1:在Microsoft 365 管理中心中添加连接器。

添加 ServiceNow Tickets 连接器

按照常规 设置说明进行操作

步骤 2:为连接命名。

按照常规 设置说明进行操作

步骤 3:连接设置

若要连接到 ServiceNow 数据,需要组织的 ServiceNow 实例 URL。 组织的 ServiceNow 实例 URL 通常类似于 https://< 您的-organization-domain.service-now.com>

除了此 URL,还需要一个 服务帐户 来设置与 ServiceNow 的连接,并允许 Microsoft 搜索根据刷新计划定期更新票证详细信息。

在 ServiceNow 中,任务表是票证管理的基类。 可以扩展它以创建票证应用程序,例如事件、问题和变更管理。 详细了解 ServiceNow 任务表

用于配置连接的服务帐户 必须对 以下 ServiceNow 表记录具有读取访问权限,才能成功对默认票证字段进行爬网。

功能 需要读取访问权限的表 说明
索引基 任务表字段 task 用于对现用任务表中的默认字段进行爬网
同步用户表 sys_user 为票证的用户访问详细信息编制索引

如果要为任务表的扩展表中的自定义属性编制索引,请提供对sys_dictionary和sys_db_object的读取访问权限。 这是一项 可选 功能。 你将能够在无法访问两个额外表的情况下为 任务 表属性编制索引。

功能 需要读取访问权限的表 说明
从组织选择自定义表 sys_db_object 查找扩展任务表的列表,包括自定义表
为特定 <table_name中的自定义字段编制索引> sys_dictionary 从特定表(例如事件、问题或change_management)对自定义字段进行爬网

可以为用于连接 Microsoft 搜索的服务帐户 创建和分配角色了解如何为 ServiceNow 帐户分配角色。 可以为创建的角色提供对表的读取访问权限。 若要了解如何设置对表记录的读取访问权限,请参阅 保护表记录

若要对 ServiceNow 中的内容进行身份验证和同步,请选择 三种受支持的方法之一

  • 基本身份验证
  • ServiceNow OAuth (建议)
  • Microsoft Entra ID OpenID Connect

步骤 3.1:基本身份验证

输入对 和 表具有读取访问权限tasksys_user的 ServiceNow 帐户的用户名和密码,以便对实例进行身份验证。

步骤 3.2:ServiceNow OAuth

若要使用 ServiceNow OAuth,ServiceNow 管理员需要在 ServiceNow 实例中预配终结点。 之后,Microsoft 搜索应用将能够访问它。 若要了解详细信息,请参阅 ServiceNow 文档中 的为客户端创建终结点以访问实例

下表提供了有关如何填写终结点创建表单的指导:

字段 说明 建议的值
名称 标识需要为其进行 OAuth 访问的应用程序的唯一值。 Microsoft 搜索
客户端 ID 应用程序自动生成的只读唯一 ID。 实例在请求访问令牌时使用客户端 ID。 不适用
客户端密码 通过此共享机密字符串,ServiceNow 实例和 Microsoft 搜索授权彼此通信。 遵循安全最佳做法,将机密视为密码。
重定向 URL 授权服务器重定向到的所需回调 URL。 https://gcs.office.com/v1.0/admin/oauth/callback
徽标 URL 一个 URL,其中包含应用程序徽标的图像。 不适用
活动 选择“检查”框,使应用程序注册表处于活动状态。 设置为活动
刷新令牌生存期 刷新令牌有效的秒数。 默认情况下,刷新令牌在 100 天后过期 (8,640,000 秒) 。 31,536,000 (一年)
访问令牌生存期 访问令牌有效的秒数。 43,200 (12 小时)

输入客户端 ID 和客户端密码以连接到实例。 连接后,使用 ServiceNow 帐户凭据对爬网权限进行身份验证。 该帐户至少应具有对 和 sys_user 表的task读取访问权限。 请参阅 步骤 3:连接设置 开头的表,用于提供对更多 ServiceNow 表记录的读取访问权限和索引用户条件权限。

步骤 3.3:Microsoft Entra ID OpenID Connect

若要使用 Microsoft Entra ID OpenID Connect 进行身份验证,请执行以下步骤。

步骤 3.3.1:在 Microsoft Entra ID 中注册新应用程序

若要了解如何在 Microsoft Entra ID 中注册新应用程序,请参阅注册应用程序。 选择“单租户组织目录”。 不需要重定向 URI。 注册后,记下应用程序 (客户端) ID 和目录 ID (租户 ID) 。

步骤 3.3.2:创建客户端密码

若要了解如何创建客户端密码,请参阅 创建客户端密码。 记下客户端密码。

步骤 3.3.3:检索服务主体对象标识符

按照步骤检索服务主体对象标识符

  1. 运行 PowerShell。

  2. 使用以下命令安装Azure PowerShell。

    Install-Module -Name Az -AllowClobber -Scope CurrentUser
    
  3. 连接到 Azure。

    Connect-AzAccount
    
  4. 获取服务主体对象标识符。

    Get-AzADServicePrincipal -ApplicationId "Application-ID"
    

    将“Application-ID”替换为应用程序 (客户端) ID (,而不用引号) 步骤 3.a 中注册的应用程序。 记下 PowerShell 输出中的 ID 对象的值。 它是服务主体 ID。

现在,你已获得Azure 门户所需的所有信息。 下表提供了信息的快速摘要。

属性 说明
目录 ID (租户 ID) 步骤 3.a 中Microsoft Entra租户的唯一 ID。
应用程序 ID (客户端 ID) 在步骤 3.a 中注册的应用程序的唯一 ID。
客户端密码 应用程序密钥 (步骤 3.b) 。 将其视为密码。
服务主体 ID 作为服务运行的应用程序的标识。 步骤 3.c) 中的 (

步骤 3.3.4:注册 ServiceNow 应用程序

ServiceNow 实例需要以下配置:

  1. 注册新的 OAuth OIDC 实体。 若要了解,请参阅 创建 OAuth OIDC 提供程序

  2. 下表提供了有关如何填写 OIDC 提供程序注册表单的指导

    字段 说明 建议的值
    名称 标识 OAuth OIDC 实体的唯一名称。 Microsoft Entra ID
    客户端 ID 在第三方 OAuth OIDC 服务器中注册的应用程序的客户端 ID。 实例在请求访问令牌时使用客户端 ID。 步骤 3.a 中的应用程序 (客户端) ID
    客户端密码 在第三方 OAuth OIDC 服务器中注册的应用程序的客户端密码。 步骤 3.b 中的客户端密码

    所有其他值都可以为默认值。

  3. 在 OIDC 提供程序注册表单中,需要添加新的 OIDC 提供程序配置。 选择 “OAuth OIDC 提供程序配置 ”字段的搜索图标,打开 OIDC 配置的记录。 选择 新建。

  4. 下表提供了有关如何填写 OIDC 提供程序配置表单的指导

    字段 建议的值
    OIDC 提供程序 Microsoft Entra ID
    OIDC 元数据 URL URL 的格式必须为 https://login.microsoftonline.com/<tenandId“>/.well-known/openid-configuration
    将“tenantID”替换为步骤 3.a 中的“目录 ID” (租户 ID) 。
    OIDC 配置缓存生存期 120
    应用程序 全球
    用户声明
    用户字段 用户 ID
    启用 JTI 声明验证 Disabled
  5. 选择“提交并更新 OAuth OIDC 实体”窗体。

步骤 3.3.5:创建 ServiceNow 帐户

请参阅有关创建 ServiceNow 帐户和 在 ServiceNow 中创建用户的说明。

下表提供了有关如何填写 ServiceNow 用户帐户注册的指导

字段 建议的值
用户 ID 步骤 3.c 中的服务主体 ID
仅限 Web 服务访问 Checked

所有其他值都可以保留为默认值。

步骤 3.3.6:为 ServiceNow 帐户启用任务、用户表访问权限

访问使用 ServiceNow 主体 ID 作为用户 ID 创建的 ServiceNow 帐户,并为 和 sys_user 表分配读取访问权限task。 请参阅 步骤 3:连接设置 开头的表,用于提供对更多 ServiceNow 表记录和索引自定义字段的读取访问权限。

使用应用程序 ID 作为步骤 3.a) 中的客户端 ID (,使用 M365 管理中心配置窗口中的步骤 3.b) 中的客户端机密 (使用 Microsoft Entra ID OpenID Connect 向 ServiceNow 实例进行身份验证。

步骤 4:选择表、属性和筛选数据

在此步骤中,可以在 ServiceNow 数据源中添加或删除可用的表和属性。 默认情况下,Microsoft 365 已经选择了几个表和属性。

使用 ServiceNow 查询字符串,可以指定同步票证的条件。 它类似于 SQL Select 语句中的 Where 子句。 例如,可以选择仅为在过去六个月中创建且处于打开状态的票证编制索引。 若要了解如何创建自己的查询字符串,请参阅 使用筛选器生成编码的查询字符串

使用预览结果按钮验证所选属性和查询筛选器的示例值。

步骤 5:管理搜索权限

ServiceNow Tickets Graph 连接器支持搜索权限, 仅对有权访问此数据源的人员可见。 索引票证显示在搜索结果中,并且通过 assigned_toopened_by 字段访问这些票证的用户可见。

选择“仅有权访问此数据源的人员”时,需要进一步选择 ServiceNow 实例具有Microsoft Entra ID预配用户还是非 Azure AD 用户。

若要确定哪个选项适合你的组织,请执行以下操作:

  1. 如果 ServiceNow 用户的Email ID 与 Microsoft Entra ID 中用户的 UserPrincipalName (UPN) 相同,请选择“Microsoft Entra ID”选项
  2. 如果 ServiceNow 用户的电子邮件 ID 不同于 userPrincipalName (UPN) Microsoft Entra ID,请选择“非 Azure AD”选项。

注意

  • 如果选择Microsoft Entra ID作为标识源的类型,连接器会将从 ServiceNow 获取的用户的Email ID 直接映射到Microsoft Entra ID的 UPN 属性。
  • 如果为标识类型选择了“非 Azure AD”,请参阅 映射非 Azure AD 标识 以获取有关映射标识的说明。 可以使用此选项提供从 Email ID 到 UPN 的映射正则表达式。
  • 汇报管理访问权限的用户或组仅在完全爬网中同步。 增量爬网当前不支持处理权限更新。

步骤 6:分配属性标签

按照常规 设置说明进行操作

步骤 7:管理架构

按照常规 设置说明进行操作

步骤 8:选择刷新设置

按照常规 设置说明进行操作

注意

对于标识,将仅应用计划的完全爬网。

步骤 9:查看连接

按照常规 设置说明进行操作

发布连接后,需要自定义搜索结果页。 若要了解如何自定义搜索结果,请参阅 自定义搜索结果页

限制

ServiceNow Tickets Microsoft Graph 连接器在其最新版本中具有以下限制:

  • “管理搜索权限”步骤下的“每个人”功能不会处理任何权限。 除非想要在隔离的环境中测试所选团队成员之间的连接,否则不要选择此选项。

疑难解答

发布连接并自定义结果页后,可以在管理中心的“数据源”选项卡下查看状态。 若要了解如何进行更新和删除,请参阅 管理连接器。 可在下面找到常见问题的故障排除步骤。

1. 由于已启用单一登录的 ServiceNow 实例而无法登录

如果组织已启用单一登录 (SSO) ServiceNow,则可能无法使用服务帐户登录。 可以通过将 添加到 login.do ServiceNow 实例 URL 来显示基于用户名和密码的登录名。 例子。 https://<your-organization-domain>.service-now.com./login.do

2. 未经授权或禁止对 API 请求的响应

2.1. 检查表访问权限

如果在连接状态中看到禁止或未经授权的响应,检查服务帐户是否需要访问步骤 3:连接设置中提到的表。 检查表中的所有列是否都具有读取访问权限。

2.2. 更改帐户密码

Microsoft Graph 连接器使用代表服务帐户提取的访问令牌进行爬网。 访问令牌每 12 小时刷新一次。 确保发布连接后不会更改服务帐户密码。 如果密码发生更改,可能需要重新对连接进行身份验证。

2.3. 检查 ServiceNow 实例是否位于防火墙后面

如果 Microsoft Graph 连接器位于网络防火墙后面,则可能无法访问 ServiceNow 实例。 需要显式允许访问连接器服务。 可以在下表中找到连接器服务的公共 IP 地址范围。 根据租户区域,将其添加到 ServiceNow 实例网络允许列表。

环境 Region 区域
PROD 北美 52.250.92.252/30, 52.224.250.216/30
PROD 欧洲 20.54.41.208/30, 51.105.159.88/30
PROD 亚太地区 52.139.188.212/30, 20.43.146.44/30

2.4. 访问权限未按预期工作

如果观察到应用于搜索结果的访问权限存在差异,请验证搜索用户是否属于 assigned_toopened_by 字段。

3. 仅有权访问此数据源权限的人员 的问题

3.1 用户映射失败

Microsoft Entra ID中没有 Microsoft 365 用户的 ServiceNow 用户帐户不会映射。 非用户服务帐户应会失败用户映射。 可以在连接详细信息窗口中的标识统计信息区域中访问的用户映射失败次数。 可以从“错误”选项卡下载失败的用户映射日志。