ServiceNow Knowledge Microsoft Graph 连接器

使用适用于 ServiceNow 的 Microsoft Graph 连接器,组织可以编制所有用户可见或受组织内用户条件权限限制的知识库文章的索引。 从 ServiceNow 配置连接器和索引内容后,最终用户可以在 Microsoft Copilot 和任何Microsoft搜索客户端中搜索这些文章。

还可以参考 此视频 详细了解 Graph 连接器在管理搜索权限方面的功能。

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

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

必需和可选设置

为了帮助你快速开始使用 Microsoft Graph 连接器,设置过程中的步骤分为两组:

强制设置 - 必须为这些步骤提供一些输入才能建立连接。 输入 (连接名称、数据源设置等 ) 因组织的上下文和用例而异。

高级设置 (可选) - 顾名思义,高级设置是可选步骤。 为方便起见,设置过程中的这些设置会根据管理员进行的最常见选择使用默认值进行预配置。 可以选择接受默认值或修改它们以满足组织的需求。

入门

添加 ServiceNow 知识连接器

(有关详细信息,请参阅常规 设置说明)

强制设置

1. 名称 & ID:

连接 ID:根据需要编辑连接 ID, (预填充默认的唯一字符串) 。 单击 “保存并继续” 按钮后,无法对其进行编辑。

名称:输入连接的名称 (预填充了默认名称) 。 即使连接发布) ,你也始终可以在以后 (对其进行编辑。

“名称 & ID”字段的屏幕截图。

2. 数据源设置:

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

数据源设置的屏幕截图。

除了此 URL,还需要一个 服务帐户 来设置与 ServiceNow 的连接,并允许Microsoft搜索根据刷新计划定期更新知识文章。 服务帐户需要对以下 ServiceNow 表记录 的读取访问权限才能成功对各种实体进行爬网。

功能 需要读取访问权限的表 说明
每个人都可用的知识文章编制索引 kb_knowledge 对于爬网知识文章
索引和支持用户条件权限 kb_uc_can_read_mtom 谁可以阅读此知识库
kb_uc_can_contribute_mtom 谁可以参与此知识库
kb_uc_cannot_read_mtom 谁无法阅读此知识库
kb_uc_cannot_contribute_mtom 谁无法参与此知识库
sys_user 读取用户表
sys_user_has_role 读取用户的角色信息
sys_user_grmember 读取用户的组成员身份
user_criteria 读取用户条件权限
kb_knowledge_base 读取知识库信息
sys_user_group 读取用户组段
sys_user_role 读取用户角色
cmn_location 读取位置信息
cmn_department 读取部门信息
core_company 读取公司属性
索引扩展表属性 (可选) sys_db_object 读取扩展表详细信息
sys_dictionary 读取扩展表属性

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

如果要为扩展表的属性编制索引kb_knowledge,请提供对sys_dictionary和sys_db_object的读取访问权限。 这是一项可选功能。 可以 索引kb_knowledge 表属性,而无法访问另外两个表。

注意

Microsoft Graph Connector for ServiceNow 可以编制知识文章和用户条件权限的索引,而无需高级脚本。 若要详细了解连接器如何处理知识文章和用户条件权限,请参阅在 Microsoft Graph Connector for ServiceNow 中读取和拒绝对知识文章的访问部分。

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

  • 基本身份验证

  • ServiceNow OAuth (建议)

  • Microsoft Entra ID OpenID Connect

    1. 基本身份验证

    输入具有 知识 角色的 ServiceNow 帐户的用户名和密码,以便对实例进行身份验证。

    2. ServiceNow OAuth

    若要使用 ServiceNow OAuth 进行身份验证,请执行以下步骤。

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

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

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

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

    3. Microsoft Entra ID OpenID Connect

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

    1. 在 Entra ID Microsoft中注册新应用程序

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

    2. 创建客户端密码

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

    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 (,而不用引号) 步骤 1 中注册的应用程序。 记下 PowerShell 输出中的 ID 对象的值。 它是服务主体 ID。

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

      属性 说明
      目录 ID (租户 ID) 步骤 3.a 中Microsoft Entra 租户的唯一 ID。
      应用程序 ID (客户端 ID) 在步骤 3.a 中注册的应用程序的唯一 ID。
      客户端密码 应用程序密钥 (步骤 3.b) 。 将其视为密码。
      服务主体 ID 作为服务运行的应用程序的标识。 步骤 3.c) 中的 (
    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。
        OIDC 配置缓存生存期 120
        应用程序 全球
        用户声明
        用户字段 用户 ID
        启用 JTI 声明验证 Disabled
      5. 选择“提交并更新 OAuth OIDC 实体”窗体。

    5. 创建 ServiceNow 帐户

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

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

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

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

    6. 为 ServiceNow 帐户启用知识角色

      访问使用 ServiceNow 主体 ID 作为用户 ID 创建的 ServiceNow 帐户,并分配知识角色。 可在此处找到将角色分配给 ServiceNow 帐户的说明,即 向用户分配角色。 请参阅 步骤 2:数据源设置 开头的表,以提供对更多 ServiceNow 表记录的读取访问权限和索引用户条件权限。

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

3.访问权限

ServiceNow 连接器支持对 “所有人 ”或 “只有有权访问此数据源的人员”可见的访问权限。 索引数据显示在搜索结果中,并且对组织中的所有用户或通过用户条件权限有权访问这些数据的用户可见。 如果未使用用户条件启用知识文章,则该文章将显示在组织中每个人的搜索结果中。

显示访问权限的屏幕截图。

重要

在 ServiceNow 中,在评估用户的读取权限时,将同时查看文章级权限和 KB 级权限。 ServiceNow 的 Microsoft Graph 连接器对权限的处理方式不同:

  1. 如果项目包含“可读取”用户条件,则在引入期间,它们将标记在文章上,并忽略知识库“可读取”/“Can Contribute”用户条件。
  2. 如果项目包含“无法读取”用户条件,并且相应的知识库也包含“无法读取”用户条件,则两个用户条件都标记在项目上。

注意:如果用户是文章级别的“可阅读”用户条件的一部分,但不在知识库级别的“可阅读”/“可以参与”用户条件中, 则该用户将无法访问 ServiceNow 中的文章,但有权访问 Microsoft Copilot、Microsoft Search 和其他 M365 图面中的文章。 解决方法是从文章级别的“可读”用户条件中删除用户。

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

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

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

注意

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

高级设置 (可选)

1. 选择属性

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

显示如何选择属性的屏幕截图。

在此处选择的属性列表可能会影响如何在 Copilot for Microsoft 365 中筛选、搜索和查看结果。

Source 属性 Label 说明
AccessUrl url 数据源中项的目标 URL。
作者 authors 所有在数据源中参与/协作处理项的人员的姓名。
IconUrl iconUrl 表示项目类别或类型的图标 URL。
Short_description title 要在搜索和其他体验中显示的项的标题。
SysUpdatedBy lastModifiedBy 数据源中项的最近编辑者的姓名。
SysUpdatedOn lastModifiedDateTime 上次在数据源中修改项的日期和时间。
SysCreatedBy createdBy 数据源中项创建者的姓名。
SysCreatedOn createdDateTime 在数据源中创建项的日期和时间。

使用 ServiceNow 查询字符串,可以指定同步项目的条件。 它类似于 SQL Select 语句中的 Where 子句。 例如,可以选择仅为已发布和处于活动状态的项目编制索引。 若要了解如何创建自己的查询字符串,请参阅 使用筛选器生成编码的查询字符串

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

2. 映射标识

在此步骤中,可以映射 Microsoft Entra ID 和非 Microsoft Entra ID 标识类型的标识。

  • 如果选择Microsoft Entra ID 作为标识源的类型,连接器会将从 ServiceNow 获取的用户的电子邮件 ID 直接映射到来自 entra ID Microsoft UPN 属性。
  • 如果为标识类型选择“非 AAD”,请参阅 映射非 Azure AD 标识 以获取有关映射标识的说明。

3. 分配属性标签

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

4.管理架构

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

5.刷新设置

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

注意

标识仅在完全爬网中刷新。

查看 & 发布

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

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

读取和拒绝访问 Microsoft Graph 连接器 for ServiceNow 中的知识库文章

下面是连接器如何根据 ServiceNow Knowledge 中的用户条件处理访问权限的场景说明:

注意

下表中使用的术语:

  • 无条件:未为文章或知识库定义用户条件。 (不同于空条件,其中定义了用户条件,但在条件中,所有字段都为空)
  • 默认用户条件:使用 ServiceNow 字段(如用户、组、角色、位置、部门等)定义的用户条件。
  • 空条件:所有字段都有空值的用户画面。

如何确定读取访问权限

知识库   知识文章 Access
可读取 可以参与 可读取
任何条件 任何条件 默认用户条件 遵循的默认用户条件
任何条件 任何条件 默认 + 高级条件 遵循的默认用户条件。 忽略高级条件。
任何条件 任何条件 空条件 + 任何条件 向每个 ServiceNow 用户提供的访问权限
默认用户条件 默认用户条件 无条件 遵循的默认用户条件。 [注意:如果不存在“无法参与”用户条件,则遵循“可读取”和“Can Contribute”中的默认条件。 但是,如果存在“无法参与”用户条件,则不会标记“Can Contribute”用户条件。]
默认 + 高级条件 默认 + 高级条件 无条件 遵循的默认用户条件。 忽略高级条件。
空条件 任何条件 无条件 向每个 ServiceNow 用户提供的访问权限

如何确定拒绝访问

知识库 知识文章 Access
无法读取 无法读取
默认用户条件 默认用户条件 同时遵循基本和文章级别的条件。
高级条件 任何条件 拒绝所有人访问。
任何条件 高级条件 拒绝所有人访问。
空条件 + 默认用户条件 任何条件 拒绝所有人访问。
任何条件 空条件 拒绝所有人访问。

限制

重要

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

疑难解答

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

如果你有任何其他问题或想要提供反馈,请写信给我们 aka.ms/TalkToGraphConnectors