ServiceNow Knowledge Microsoft Graph 连接器
使用适用于 ServiceNow 的 Microsoft Graph 连接器,组织可以编制所有用户可见或受组织内用户条件权限限制的知识库文章的索引。 从 ServiceNow 配置连接器和索引内容后,最终用户可以在 Microsoft Copilot 和任何Microsoft搜索客户端中搜索这些文章。
本文适用于 Microsoft 365 管理员或配置、运行和监视 ServiceNow Knowledge Graph 连接器的任何人。
功能
- 为所有类型的知识文章编制索引
- 使最终用户能够提出与 Copilot 中的 IT/HR 工作流相关的问题。
- 如何请求新设备?
- 如何创建新的 VPN 连接?
- 如何实现申请叶子?
- 在 Copilot 中使用语义搜索 ,使用户能够根据关键字、个人偏好和社交关系查找相关内容。
限制
- 不支持 高级脚本。
- 如果同时定义了“知识库”和“知识库文章”级别权限,则仅遵循文章级权限。
- 不为附件编制索引。
先决条件
ServiceNow 实例 URL:若要连接到 ServiceNow 数据,需要组织的 ServiceNow 实例 URL。 组织的 ServiceNow 实例 URL 通常类似于
https://your-organization-name.service-now.com
。 (没有? 检查如何创建测试实例)服务帐户:若要连接到 ServiceNow 并允许 Microsoft Graph 连接器定期更新知识文章,需要一个对特定 ServiceNow 表记录具有读取权限的服务帐户。 服务帐户需要对以下 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 表属性,而无法访问另外两个表。
入门
查看我们的 YouTube 视频 ,获取有关为 ServiceNow Knowledge 添加 Microsoft Graph 连接器的详细分步指南。
1. 显示名称
显示名称用于标识 Copilot 中的每个引用,帮助用户轻松识别关联的文件或项。 显示名称还表示受信任的内容。 显示名称也用作 内容源筛选器。 此字段存在默认值,但你可以将其自定义为组织中的用户可识别的名称。
2. ServiceNow URL
若要连接到 ServiceNow 数据,需要组织的 ServiceNow 实例 URL。 组织的 ServiceNow 实例 URL 通常类似于 https://your-organization-name.service-now.com
。
3.身份验证类型
若要对 ServiceNow 中的内容进行身份验证和同步,请选择 三种受支持的方法之一 :
a.
基本身份验证
输入具有 知识 角色的 ServiceNow 帐户的用户名和密码,以便对实例进行身份验证。
b. ServiceNow OAuth (推荐)
[单击展开]若要使用 ServiceNow OAuth 进行身份验证,请执行以下步骤。
ServiceNow 管理员需要在 ServiceNow 实例中预配终结点,以便 Graph 连接器可以访问它。 若要了解详细信息,请参阅 ServiceNow 文档中的[创建客户端访问实例的终结点] (https://docs.servicenow.com/bundle/vancouver-platform-security/page/administer/security/task/t_CreateEndpointforExternalClients.html) 。
下表提供了有关如何填写终结点创建表单的指导:
字段 | 说明 | 建议的值 |
---|---|---|
名称 | 标识需要为其进行 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 帐户凭据对爬网权限进行身份验证。 该帐户至少应具有 知识 角色。 有关提供对更多 ServiceNow 表记录的读取访问权限和索引用户条件权限,请参阅 先决条件 部分中的服务帐户下提及的表。
c. Microsoft Entra ID OpenID Connect
若要使用 Microsoft Entra ID OpenID Connect 进行身份验证,请执行以下步骤。
在 Microsoft Entra ID 中注册新应用程序
若要了解如何在 Microsoft Entra ID 中注册新应用程序,请参阅注册应用程序。 选择“单租户组织目录”。 不需要重定向 URI。 注册后,记下应用程序 (客户端) ID 和目录 (租户) ID。
创建客户端密码
若要了解如何创建客户端密码,请参阅 创建客户端密码。 记下客户端密码。
检索服务主体对象标识符
按照步骤检索服务主体对象标识符
运行 PowerShell。
使用以下命令安装Azure PowerShell。
Install-Module -Name Az -AllowClobber -Scope CurrentUser
连接到 Azure。
Connect-AzAccount
获取服务主体对象标识符。
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) 中的 (
注册 ServiceNow 应用程序
ServiceNow 实例需要以下配置:
注册新的 OAuth OIDC 实体。 若要了解,请参阅 创建 OAuth OIDC 提供程序。
下表提供了有关如何填写 OIDC 提供程序注册表单的指导
字段 说明 建议的值 名称 标识 OAuth OIDC 实体的唯一名称。 Microsoft Entra ID 客户端 ID 在第三方 OAuth OIDC 服务器中注册的应用程序的客户端 ID。 实例在请求访问令牌时使用客户端 ID。 步骤 3.a 中的应用程序 (客户端) ID 客户端密码 在第三方 OAuth OIDC 服务器中注册的应用程序的客户端密码。 步骤 3.b 中的客户端密码 所有其他值都可以为默认值。
在 OIDC 提供程序注册表单中,需要添加新的 OIDC 提供程序配置。 选择 “OAuth OIDC 提供程序配置 ”字段的搜索图标,打开 OIDC 配置的记录。 选择 新建。
下表提供了有关如何填写 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 选择“提交并更新 OAuth OIDC 实体”窗体。
创建 ServiceNow 帐户
请参阅有关创建 ServiceNow 帐户和 在 ServiceNow 中创建用户的说明。
下表提供了有关如何填写 ServiceNow 用户帐户注册的指导
字段 建议的值 用户 ID 步骤 3.c 中的服务主体 ID 仅限 Web 服务访问 Checked 所有其他值都可以保留为默认值。
为 ServiceNow 帐户启用知识角色
访问使用 ServiceNow 主体 ID 作为用户 ID 创建的 ServiceNow 帐户,并分配知识角色。 可在此处找到将角色分配给 ServiceNow 帐户的说明,即 向用户分配角色。 有关提供对更多 ServiceNow 表记录的读取访问权限和索引用户条件权限,请参阅 先决条件 部分中的服务帐户下提及的表。
使用应用程序 ID 作为步骤 3.1) 中的客户端 ID (,使用管理中心配置向导中的步骤 3.2) 中的客户端机密 (,使用 Microsoft Entra ID OpenID Connect 向 ServiceNow 实例进行身份验证。
4. 向有限受众推出
如果要先在 Copilot 和其他搜索图面中验证此连接,然后再将此连接部署到有限的用户群,然后再将它扩展到更广泛的受众。 若要了解有关有限推出的详细信息, 请单击此处。
此时,已准备好为 ServiceNow Knowledge 创建连接。 可以单击“创建”按钮,Microsoft Graph 连接器将从 ServiceNow 帐户开始为文章编制索引。
对于其他设置,如访问权限、数据包含规则、架构、爬网频率等,我们已根据最适合 ServiceNow 数据的方式设置默认值。 可以看到以下默认值:
用户 | |
---|---|
访问权限 | 仅有权访问数据源中内容的人员。 |
映射标识 | 使用 Microsoft Entra ID 映射的数据源标识。 |
内容 | |
---|---|
查询字符串 | active=true^workflow_state=published |
管理属性 | 若要检查默认属性及其架构,请单击此处 |
同步 | |
---|---|
增量爬网 | 频率:每 15 分钟 |
完全爬网 | 频率:每天 |
如果要编辑这些值中的任何一个,需要选择“自定义设置”选项。
适用于 ServiceNow Knowledge 的 Microsoft Graph 连接器入门
自定义设置
自定义设置适用于想要编辑上表中列出的设置的默认值的管理员。 单击“自定义设置”选项后,会看到另外三个选项卡 - 用户、内容和同步。
用户
访问权限
ServiceNow 连接器支持对“每个人”或“只有有权访问数据源中内容的人员”可见的访问权限。 索引数据显示在结果中,并且对组织中的所有用户或通过用户条件权限有权访问这些数据的用户可见。 选择最适合你的组织的一个。
如果未使用用户条件启用知识文章,则该文章会显示在组织中每个人的结果中。
重要
在 ServiceNow 中,在评估用户的读取权限时,将同时查看文章级权限和 KB 级权限。 ServiceNow 的 Microsoft Graph 连接器对权限的处理方式不同:
- 如果项目包含“可读取”用户条件,则在引入期间,它们将标记在文章上,并忽略知识库“可读取”/“Can Contribute”用户条件。
- 如果项目包含“无法读取”用户条件,并且相应的知识库也包含“无法读取”用户条件,则两个用户条件都标记在项目上。
注意
如果用户是文章级别的“可阅读”用户条件的一部分,但不在知识库级别的“可阅读”/“可以参与”用户条件中,则该用户将无权访问 ServiceNow 中的文章,但有权访问Microsoft Copilot、Microsoft搜索和其他 M365 图面中的文章。 解决方法是从文章级别的“可读”用户条件中删除用户。
映射标识
使用 Microsoft Entra ID 映射数据源标识的默认方法是检查 ServiceNow 用户的Email ID 是否与 UserPrincipalName (UPN) 相同,还是与 Microsoft Entra ID 用户的邮件相同。 如果你认为默认映射不适用于你的组织,则可以提供自定义映射公式。 若要详细了解映射非 EntraID 标识, 请单击此处。
内容
查询字符串
使用 ServiceNow 查询字符串,可以指定同步项目的条件。 它类似于 SQL Select 语句中的 Where 子句。 例如,可以选择仅为已发布和处于活动状态的项目编制索引。 若要了解如何创建自己的查询字符串,请参阅 使用筛选器生成编码的查询字符串。
管理属性
在这里,可以在 ServiceNow 数据源中添加或删除可用属性,将架构分配给属性 (定义属性是否可搜索、可查询、可检索或可优化) ,更改语义标签并向属性添加别名。 下面列出了默认选择的属性。
Source 属性 | 标签 | 说明 | 架构 |
---|---|---|---|
AccessURL | url | 数据源中的项的目标 URL | 取回 |
活动 | |||
ArticleType | |||
作者 | authors | 为数据源中的项目参与/协作的所有人员命名 | 搜索、查询、检索 |
CanReadUserCriteria | |||
CannotReadUserCriteria | |||
内容 | |||
EntityType | |||
IconURL | iconUrl | 表示项目类别或类型的图标 URL。 | 取回 |
KbKnowledgeBase | |||
数字 | 取回 | ||
PreviewContent | 取回 | ||
Short_description | title | 要在 Copilot 和其他搜索体验中显示的项的标题 | 搜索、检索 |
SysCreatedBy | createdBy | 数据源中项创建者的姓名。 | 取回 |
SysCreatedOn | CreatedDateTime | 在数据源中创建项的数据和时间 | 取回 |
SysUpdatedBy | lastModifiedBy | 数据源中项的最近编辑者的姓名。 | 取回 |
SysUpdatedOn | lastModifiedDateTime | 上次在数据源中修改项的日期和时间。 | 取回 |
WorkflowState | 取回 |
预览数据
使用预览结果按钮验证所选属性和查询筛选器的示例值。
同步
刷新间隔确定数据在数据源和 Graph 连接器索引之间同步的频率。 有两种类型的刷新间隔 - 完全爬网和增量爬网。 有关更多详细信息, 请单击此处。
如果需要,可以从此处更改刷新间隔的默认值。
读取和拒绝访问 Microsoft Graph 连接器 for ServiceNow 中的知识库文章
[单击展开]下面是连接器如何根据 ServiceNow Knowledge 中的用户条件处理访问权限的场景说明:
注意
下表中使用的术语:
- 无条件:未为文章或知识库定义用户条件。 (不同于空条件,其中定义了用户条件,但在条件中,所有字段都为空)
- 默认用户条件:使用 ServiceNow 字段(如用户、组、角色、位置、部门等)定义的用户条件。
- 空条件:所有字段都有空值的用户画面。
如何确定读取访问权限
知识库 | 知识文章 | Access | |
---|---|---|---|
可读取 | 可以参与 | 可读取 | |
任何条件 | 任何条件 | 默认用户条件 | 遵循的默认用户条件 |
任何条件 | 任何条件 | 默认 + 高级条件 | 遵循的默认用户条件。 忽略高级条件。 |
任何条件 | 任何条件 | 空条件 + 任何条件 | 向每个 ServiceNow 用户提供的访问权限 |
默认用户条件 | 默认用户条件 | 无条件 | 遵循的默认用户条件。 [注意:如果不存在“无法参与”用户条件,则遵循“可读取”和“Can Contribute”中的默认条件。 但是,如果存在“无法参与”用户条件,则不会标记“Can Contribute”用户条件。] |
默认 + 高级条件 | 默认 + 高级条件 | 无条件 | 遵循的默认用户条件。 忽略高级条件。 |
空条件 | 任何条件 | 无条件 | 向每个 ServiceNow 用户提供的访问权限 |
如何确定拒绝访问
知识库 | 知识文章 | Access |
---|---|---|
无法读取 | 无法读取 | |
默认用户条件 | 默认用户条件 | 同时遵循基本和文章级别的条件。 |
高级条件 | 任何条件 | 拒绝所有人访问。 |
任何条件 | 高级条件 | 拒绝所有人访问。 |
空条件 + 默认用户条件 | 任何条件 | 拒绝所有人访问。 |
任何条件 | 空条件 | 拒绝所有人访问。 |
疑难解答
发布连接后,可以在管理中心的“数据源”选项卡下查看状态。 若要了解如何进行更新和删除,请参阅 管理连接器。 可 在此处找到常见问题的故障排除步骤。
如果遇到问题或想要提供反馈,请联系 Microsoft Graph |支持。