配置 ServiceNow 以进行 Databricks 引入

了解如何配置您的 ServiceNow 实例以支持 Databricks 数据引入。

选择身份验证方法

支持下列身份验证方法:

  • U2M OAuth (建议)
  • OAuth 资源所有者密码凭据 (ROPC)

Databricks 建议使用 U2M OAuth,因为它是更安全的方法。 但是,当身份验证令牌过期时,ServiceNow 连接将过期。 默认情况下,每隔 100 天发生一次。 若要降低频率,可以在 ServiceNow 中修改过期期限或使用 ROPC。

你将使用获得的身份验证详细信息来创建到 ServiceNow 的 Databricks Unity 目录连接。

授予用户权限

支持以下用于授予 ServiceNow 用户权限的选项:

OAuth 范围 Description
管理员访问权限(建议) 需要adminsnc_read_only角色。
最低特权访问 使用表级 ACL。

Databricks 建议使用此方法,因为它提供高效的架构发现。 必须具有以下权限:

  • 若要捕获删除操作,ServiceNow 用户必须有权访问 sys_audit_delete table,并且引入的表必须跟踪删除操作(在 ServiceNow 中,表属性不能设置为 no_audit_delete=true)。
  • 在 ServiceNow 中,用户必须具备 admin 角色。
  • (可选)若要将管理员用户限制为只读访问权限,可以为其 snc_read_only 分配角色。

最低特权访问

仅当限制权限比最大程度地减少 API 使用率更重要时,才选择此方法。 架构发现发生在每个管道运行中,而不仅仅是初始设置期间。 此方法需要以下 ACL 权限:

  • sys_dictionary
  • sys_dictionary.*
  • sys_db_object
  • sys_db_object.*
  • sys_audit_delete
  • sys_audit_delete.*
  • sys_glide_object
  • sys_glide_object.*

创建 OAuth 应用程序

此步骤收集 ServiceNow 身份验证详细信息以进行 Databricks 引入。

重要

默认情况下,ServiceNow 需要 U2M OAuth 的多重身份验证(MFA)。 登录时,在标准 MFA 流中提供第二个身份验证方法。 此要求不适用于 ROPC 身份验证。

ServiceNow 管理员可以从 MFA 要求中免除对用户进行身份验证。 有关说明,请参阅 ServiceNow 文档中 的用户豁免

  1. 在“ 所有 ”菜单中,搜索 系统 OAuth,然后单击 “应用程序注册表”。

    ServiceNow OAuth 应用程序注册表

  2. 单击“新建”>“为外部客户端创建 OAuth API 终结点”

    ServiceNow 为外部客户端创建 OAuth API 终结点

  3. 输入应用程序的名称。

  4. 对于 身份验证范围,请输入 useraccount

  5. (仅限 U2M OAuth)对于 重定向 URL,请输入 https://<databricks-workspace-url>/login/oauth/servicenow.html。 请将 <databricks-workspace-url> 替换为你的完整 Databricks 工作区 URL(例如 https://adb-4385079616193792.12.azuredatabricks.net)。

    注释

    如果使用 ROPC,请跳过此步骤。

  6. 单击 提交

    ServiceNow OAuth 应用程序详细信息

  7. 复制 客户端 ID客户端密码

获取实例 ID

实例 ID 是 ServiceNow 帐户登录 URL 的第一部分:

https://<instanceid>.service-now.com

例如,如果 ServiceNow 实例的主页是 https://abc.service-now.com,则实例 ID 为 abc

获取用户名和密码

注释

此步骤仅适用于 ROPC 流。 Databricks 建议改用 U2M OAuth。

获取活动 ServiceNow 用户的用户名和密码。

对游标列启用索引编制

为了提高引入性能,Databricks 建议与 ServiceNow 管理员合作,以便在 ServiceNow 中的游标字段上启用索引。 根据可用性和首选项顺序,从以下列表中选择光标列: sys_updated_on (第一个选项)、 sys_created_on (第二个选项)、 sys_archived (第三个选项)。 这是在使用 ServiceNow API 进行引入时提高性能的标准方法。 设置索引允许 Databricks 避免对整个游标列进行完全扫描,这可能导致大型更新出现瓶颈。 有关说明,请参阅 ServiceNow 文档中 的“创建表索引 ”。

后续步骤

创建引入管道