本页介绍了如何在创建 ServiceNow 数据存储区之前设置第三方配置。
前提条件
如需完成此设置,您需要一个 [ServiceNow 网站,用于个人开发者实例 (PDI)]。此实例提供了一个专用环境来配置 OAuth 和权限。
- 实例网址:您必须为自己的环境提供特定网址。例如
https://your-instance.service-now.com - 凭据:您必须拥有对实例的管理员访问权限。
创建 ServiceNow 账号
如果您还没有账号或 PDI,请按以下步骤进行设置:
如需在开发者网站中创建 ServiceNow 账号,请执行以下操作:
- 前往 ServiceNow 开发者门户,然后点击登录。
- 选择新用户?获取 ServiceNow ID。
- 输入您的信息,然后点击注册。使用您的电子邮件地址,并通过收件箱中收到的确认链接验证您的账号。
如需创建个人开发者实例 (PDI),请执行以下操作:
- 使用您的账号凭证登录 ServiceNow 开发者门户网站账号。
- 登录后,按照门户中的提示申请实例。预配完成后,系统会显示一个确认对话框,指出“您的实例已准备就绪!”。
- 保存您的凭据:实例准备就绪后,门户会提供您的实例网址、管理员用户名和管理员密码。保存这些信息以供后续配置步骤使用。
- 如需访问新环境,请点击开发者网站标题上的开始构建按钮。系统会在新标签页中打开您的实例。
配置设置
如需将 Gemini Enterprise 连接到 ServiceNow,您必须在 ServiceNow 实例中配置 OAuth 2.0 应用。配置步骤取决于您使用的是提取连接器还是联合连接器。如需详细了解这些差异,请参阅连接器类型。
如需查看连接器的配置步骤,请从以下菜单中选择相应连接器:
为联合连接器设置 OAuth
如需执行联合搜索和操作,您只需设置 OAuth 授权代码授予流程。这会提供实时发现和任务执行所需的客户端密钥。所需步骤取决于您的 ServiceNow 界面。
新体验界面
在 ServiceNow 版本(Vancouver、Washington DC 及更高版本)中,您可以使用新的入站集成体验。
- 依次前往全部 > 系统 OAuth > 应用注册。
- 依次点击新建 > 新的入站集成体验 > 新建集成。
- 填写必填字段:
- 集成名称:为 OAuth 凭据输入一个唯一名称,例如“Gemini Enterprise OAuth 操作”。
- 有效:选中相应复选框。
- 授权类型:选择 OAuth 授权代码。
- 重定向网址:输入
https://vertexaisearch.cloud.google.com/console/oauth/default_oauth.html,https://vertexaisearch.cloud.google.com/oauth-redirect - 范围和 API 访问权限政策:确保未选中仅允许访问所选范围内的 API 复选框。此外,请勿选择任何授权范围。如果将此项留空,可确保集成具有广泛的范围。
- 点击提交以创建凭证。
- 提交后,点击记录名称以查看客户端 ID 并取消遮盖客户端密钥。保存这些内容以备日后使用。
旧版界面
对于较旧的 ServiceNow 实例或偏好使用旧版界面的用户,请执行以下操作来获取凭据:
- 使用管理员凭证登录 PDI ServiceNow 实例。
- 依次前往全部 > 系统 OAuth > 应用注册。
- 点击新建,然后选择[已弃用的界面] 为外部客户端创建 OAuth API 端点。
- 填写以下必填字段:
- 名称:输入一个唯一名称。
- 有效:选中相应复选框。
- 重定向网址:输入
https://vertexaisearch.cloud.google.com/console/oauth/default_oauth.html,https://vertexaisearch.cloud.google.com/oauth-redirect。 - 访问权限控制:找到范围限制切换开关,然后将范围受限默认设置更改为范围不受限。
- 点击提交以创建凭证。
- 点击相应记录的名称,即可查看客户端 ID 并取消遮盖客户端密钥。保存这些内容以备日后使用。
Table API 访问权限要求
为了让 LLM 成功获取结果,最终用户必须拥有允许其访问 Table API 端点的系统角色(通常为 snc_internal 或自定义 REST 角色)。
| 端点 | ServiceNow 表格 | 检索到的数据 |
|---|---|---|
/api/now/table/incident |
突发事件 | 支持请求、状态更新和问题解决详情。 |
/api/now/table/sc_catalog |
目录 | 可用服务目录的定义和结构。 |
/api/now/table/sc_cat_item |
目录项 | 可供申请的个别商品或服务。 |
/api/now/table/sys_attachment |
附件 | 附加到记录的文件(文件名、大小)的元数据。 |
/api/now/table/kb_knowledge |
知识 | 已发布的文章、程序和问题排查指南。 |
安全性和数据隐私权:最终用户身份验证
ServiceNow 连接器使用最终用户凭据通过 Table API 执行查询。使用最终用户凭据可确保搜索体验与 ServiceNow 界面保持严格的 1:1 安全对等性。
安全模型
当查询发布到 ServiceNow Table API 时,连接器会在经过身份验证的用户的安全上下文中执行该查询:
- 身份对等:由于连接器使用用户的凭据,因此系统会将 API 请求视为与在 ServiceNow 全局搜索栏中进行的查询相同。
- 继承的 ACL:ServiceNow 会在数据库级别评估所有访问控制列表 (ACL)。如果用户没有记录的读取权限,Table API 会针对该记录返回空结果或 403 错误。
- 用户条件强制执行:对于知识库 (
kb_knowledge) 和目录项 (sc_cat_item),ServiceNow 会应用用户条件。该 API 会自动过滤掉用户不符合“适用对象”要求的商品。
为提取连接器设置 OAuth
如需使用提取连接器同步和索引记录,您必须创建 OAuth 凭据并配置角色。身份验证所需的步骤取决于您的 ServiceNow 界面。
获取身份验证凭证
新体验界面
在 ServiceNow 版本(Vancouver、Washington DC 及更高版本)中,您可以使用新的入站集成体验。对于使用新界面的 Ingestion 连接器,您必须创建两组凭据:
- 提取凭据:使用 OAuth 资源所有者密码凭据授权类型。
- 操作凭据:使用 OAuth 授权代码授权类型。
1. 创建提取凭据
- 使用您的管理员凭证登录 PDI ServiceNow 实例。
- 依次前往全部 > 系统 OAuth > 应用注册。
- 点击 New(新建)。
- 依次点击新的入站集成体验 > 新集成 > OAuth 资源所有者密码凭据授权类型。
- 填写必填字段:
- 名称:输入一个唯一名称。
- 提供方名称:输入提供方名称。
- 有效:选中相应复选框。
- 范围和 API 安全性:确保未选中仅允许访问所选范围内的 API 复选框。
- 点击提交。
- 点击相应记录的名称,即可查看客户端 ID 并取消遮盖客户端密钥。保存这些内容以备日后使用。
2. 创建操作凭据
- 依次前往全部 > 系统 OAuth > 应用注册,然后点击新建。
- 依次点击新的入站集成体验 > 新建集成。
- 填写必填字段:
- 集成名称:为 OAuth 凭据输入一个唯一名称,例如“Gemini Enterprise OAuth 操作”。
- 有效:选中相应复选框。
- 授权类型:选择 OAuth 授权代码。
- 重定向网址:输入
https://vertexaisearch.cloud.google.com/oauth-redirect。 - 范围和 API 访问权限政策:确保该复选框处于未选中状态,并且未选择任何授权范围。
- 点击提交以创建凭证。
- 点击相应记录的名称,即可查看客户端 ID 并取消遮盖客户端密钥。保存这些内容以备日后使用。
旧版界面
对于较旧的 ServiceNow 实例或偏好使用旧版界面的用户,请执行以下操作,以获取数据提取和操作的凭据:
- 使用管理员凭证登录 PDI ServiceNow 实例。
- 依次前往全部 > 系统 OAuth > 应用注册。
- 点击新建,然后选择\[Deprecated UI\] 为外部客户端创建 OAuth API 端点。
- 填写以下必填字段:
- 名称:输入一个唯一名称。
- 有效:选中相应复选框。
- 重定向网址:输入以下重定向网址,并以英文逗号分隔:
https://vertexaisearch.cloud.google.com/console/oauth/default_oauth.htmlhttps://vertexaisearch.cloud.google.com/oauth-redirect
- 访问权限控制:找到范围限制切换开关,然后将范围受限默认设置更改为范围不受限。
- 点击提交以创建凭证。
- 点击相应记录的名称,即可查看客户端 ID 并取消遮盖客户端密钥。保存这些内容以备日后使用。
设置用户账号并分配管理员权限
您可以使用默认的系统管理员账号,也可以创建新用户并将管理员角色分配给您的用户 ID。
分配管理员角色
如需将您的角色提升为 security_admin,请执行以下操作:
- 以拥有管理员角色的用户身份登录您的 ServiceNow 实例。
- 点击您的个人资料图标,然后选择提升角色。
- 选择 security_admin,然后点击更新。
如需向其他用户授予 security_admin,请执行以下操作:
- 选择全部,然后选择用户(位于用户管理下方)。
- 找到并选择需要提升其角色的用户。
- 在角色标签页中,点击修改。
- 从集合中选择 security_admin,然后将其添加到角色列表中。
注意:具有 security_admin 角色的用户必须点击其个人资料图标,然后选择提升角色才能使用该角色。
设置用户角色和权限
如需在 Gemini Enterprise 中创建 ServiceNow 数据存储区,您需要向用户授予适当的角色和权限。
选择以下选项之一,为您的 ServiceNow 实例设置用户角色和权限:
如需详细了解可见性和访问权限控制,请参阅突发事件可见性和访问权限控制。
创建实施 ACL 规则的自定义角色(推荐)
创建具有一组所需最低权限的自定义角色。此过程可提供对突发事件实体的最安全且限制最严格的访问权限。用户只能找到与自己直接关联的突发事件。
- 依次前往全部 > 用户管理 > 角色。
- 点击新建,输入名称,然后点击提交。
- 依次前往系统安全性 > 访问权限控制 (ACL)。
- 点击新建以创建新的 ACL 规则。
- 重复以下步骤,直到您授予对所有必需表的访问权限:
- 以
sys_user_role为例,了解如何授予表访问权限。 - 点击提交,然后选择相应角色。
- 以
所需的表访问权限
连接器需要访问每个实体的以下表才能运行。| 表名称 | 说明 |
|---|---|
incident |
在搜索结果中显示突发事件。 |
sc_cat_item |
在搜索结果中显示目录项。 |
sc_cat_item_user_criteria_mtom |
根据用户条件显示可以访问目录项的用户。 |
sc_cat_item_user_criteria_no_mtom |
根据用户条件显示无法访问目录项的用户。 |
sc_cat_item_user_mtom |
显示可以访问目录项的用户。 |
sc_cat_item_user_no_mtom |
显示无法访问目录项的用户。 |
kb_knowledge |
可在搜索结果中显示的知识文章列表。 |
kb_knowledge_base |
可在搜索结果中显示的知识库列表。 |
kb_uc_can_contribute_mtom |
根据用户条件显示可以为知识库贡献内容的用户。 |
kb_uc_can_read_mtom |
根据用户条件显示可以阅读知识库内容的用户。 |
kb_uc_cannot_read_mtom |
根据用户条件显示无法阅读知识库内容的用户。 |
sys_user_role |
可分配给用户的角色列表。 |
sys_user_has_role |
映射到用户的角色列表。 |
sys_user_group |
用户群组细分列表。 |
sys_user_grmember |
群组的群组成员列表。 |
sys_user |
所有用户的列表。 |
core_company |
所有公司属性的列表。 |
cmn_location |
所有位置属性的列表。 |
cmn_department |
所有部门属性的列表。 |
user_criteria |
用户条件记录列表。 |
sp_portal |
搜索结果中的链接门户 URI。 |
m2m_sp_portal_knowledge_base |
搜索结果中知识文章的链接门户 URI。 |
m2m_sp_portal_catalog |
搜索结果中目录项的链接门户 URI。 |
授予和验证 ACL 访问权限
连接器需要对 sc_cat_item 表的目录项字段具有 ACL 访问权限。
如需授予和验证访问权限,请执行以下操作:
-
通过创建新的 ACL 规则并在表单的名称字段中手动输入
sc_cat_item.*来授予明确的访问权限。
输入 sc_cat_item.* - 验证 ACL 是否已更新。
- 在搜索栏中输入
sys_security_acl_role_list.do。 - 将角色设置为您要验证的角色。
选择要验证的角色 - 验证是否已向相应角色分配所需的 ACL。
使用具有实体管理员权限的自定义角色
对于希望避免分配过于强大权限的团队或组织,使用管理员角色可能并不合适。此方法提供了一个具有三项特定权限的角色,可授予所需的访问权限。
- 依次前往全部 > 系统安全性 > 用户和群组 > 角色。
- 选择新建,然后输入一个名称。
- 点击提交。
- 在列表中找到创建的角色。
- 依次前往包含的角色 > 修改。
-
向新创建的角色添加以下角色,然后点击保存:
catalog_adminknowledge_adminincident_manager
添加角色,然后点击“保存”按钮 -
确认更新后的角色。
确认角色
使用管理员角色
您可以使用管理员角色拉取数据。使用实例配置的默认管理员角色,或通过执行以下操作创建具有管理员角色的新用户:
- 依次前往全部 > 用户管理 > 用户。
- 创建新用户。
-
启用仅限 Web 服务访问。如果您选择仅限 Web 服务访问,则会创建非交互式用户。
- 交互式用户可以使用标准凭证或 SSO 登录 ServiceNow 界面和服务门户,并拥有对界面页面和 API 端点的完全访问权限。
- 非交互式用户的界面访问权限受到限制,只能授权程序化 API 连接以实现服务到服务集成。
- 创建用户后,从用户列表中选择该用户。
- 依次点击角色 > 修改。
- 添加管理员。
- 点击保存,向该用户添加一系列角色。
- 点击设置密码,以自动生成密码并将其保存。
向用户授予角色
- 依次前往全部 > 用户管理 > 用户。
- 查找用户或创建新用户。如果没有可用用户,请依次前往系统安全性 > 用户和群组 > 用户。
- 点击 New(新建)。
- 在用户表中创建新的服务账号。请务必点击仅限 Web 服务访问。
- 滚动到角色,然后点击修改。
- 向其授予您创建的角色,并将其分配给用户。根据您在上一步中创建的角色类型,选择相应的角色并将其分配给用户。点击保存。
- 查看实施 ACL 的自定义角色。
- 获取用户的用户名和密码,然后点击设置密码。
- 自动生成密码并将其保存以备后用。
突发事件可见性和访问权限控制
为了增强安全性并防止意外的 数据暴露 ,ServiceNow 连接器对突发事件实体使用限制性访问权限控制。这样可确保最终用户只能查看与自己直接关联的突发事件。
在这种限制性方法中,连接器不会遵循基于角色的广泛突发事件查看权限。标准 ServiceNow 角色(例如 itil 和 sn_incident_read)可能会授予用户在 ServiceNow 界面中查看所有突发事件的权限,但在 Gemini Enterprise 中不会授予相同级别的访问权限。
拥有以下任一角色的用户具有全局突发事件查看权限,可以查看所有突发事件:
adminincident_managerchange_manager
其他用户仅能查看自己打开、重新打开、解决或关闭过的突发事件。如果用户满足以下条件,也可以查看突发事件:
- 在相应突发事件的分配组中。
- 与突发事件关联的来电者。
- 受让方。
- 在关注列表中。
- 在工作笔记列表中。
- 在其他受让方列表中。
此行为可防止 Gemini Enterprise 用户找到他们无权访问的突发事件。与更广泛的 ServiceNow 权限相比,由于存在额外的限制,此行为有时可能会阻止用户在 Gemini Enterprise 中找到他们在 ServiceNow 中有权访问的突发事件。