ServiceNow ITSM 连接器和操作

编辑

ServiceNow ITSM 连接器和操作

编辑

ServiceNow ITSM 连接器使用 导入集 API 来创建 ServiceNow 事件。您可以将此连接器用于规则操作和案例。

在 Kibana 中创建连接器

编辑

您可以在 堆栈管理 > 连接器 中创建连接器,或者在创建规则时根据需要创建。您必须选择是否使用 OAuth 进行身份验证。

ServiceNow connector using basic auth
ServiceNow connector using OAuth
连接器配置
编辑

ServiceNow ITSM 连接器具有以下配置属性

客户端 ID
分配给您的 OAuth 应用程序的客户端标识符。
客户端密钥
分配给您的 OAuth 应用程序的客户端密钥。
JWT 验证器密钥 ID
分配给您的 OAuth 应用程序的 JWT 验证器映射的密钥标识符。
密码
HTTP 基本身份验证的密码。
私钥
您为在 ServiceNow 中使用而创建的 RSA 私钥。
私钥密码
RSA 私钥的密码。如果您为私钥设置了密码,则此值是必需的。
ServiceNow 实例 URL
ServiceNow 实例的完整 URL。
使用 OAuth 身份验证
默认情况下,使用基本身份验证而不是开放授权 (OAuth)。
用户标识符
用于 OAuth 类型身份验证的标识符。此标识符应该是您在设置期间选择的用户字段。例如,如果选择的用户字段是 Email,则用户标识符应该是用户的电子邮件地址。
用户名
HTTP 基本身份验证的用户名。

测试连接器

编辑

创建或编辑连接器时,使用 测试 选项卡来测试其操作

ServiceNow params test

ServiceNow ITSM 操作具有以下配置属性。

附加评论
客户端的附加信息,例如如何排除问题故障。
附加字段

包含自定义字段标识符及其值的对象。

这些字段必须存在于 Elastic ServiceNow 应用程序中,并且必须以 JSON 格式指定。例如

{
    "u_cmdb_ci": "host-a",
    "u_company": "My company",
    "u_assignment_group": "Testing"
}

请注意,Elastic ServiceNow 应用程序中的默认源字段名称以“u_”为前缀。

类别
事件的类别。
关联显示
ServiceNow 中用于关联目的的警报的描述性标签。
关联 ID

使用相同关联 ID 的连接器将与同一个 ServiceNow 事件相关联。此值确定是创建新的 ServiceNow 事件还是更新现有事件。修改此值是可选的;如果未修改,则规则 ID 和警报 ID 将组合为 {{ruleID}}:{{alert ID}} 以形成 ServiceNow 中的关联 ID 值。此值的最大字符长度为 100 个字符。

使用 {{ruleID}}:{{alert ID}} 的默认配置可确保 ServiceNow 为每个使用唯一警报 ID 生成的警报创建一个单独的事件记录。如果规则生成多个使用相同警报 ID 的警报,则 ServiceNow 会为该警报创建并不断更新单个事件记录。

描述
有关事件的详细信息。
事件操作
要测试的操作类型:解决或触发。当您测试解决操作时,必须提供关联标识符。
影响
事件对业务的影响。可以通过受影响的用户数量或对相关业务的重要性来衡量。
严重性
事件的严重性。
简短描述
事件的简短描述,用于搜索知识库的内容。
子类别
事件的子类别。
紧急性
事件解决可以延迟的程度。

当您创建使用 ServiceNow ITSM 连接器的规则时,其恢复操作会基于关联 ID 关闭 ServiceNow 事件。如果存在多个匹配关联 ID 的事件,则会关闭该 ID 的最新打开事件。

连接器网络配置

编辑

使用 操作配置设置 自定义连接器网络配置,例如代理、证书或 TLS 设置。您可以设置适用于所有连接器的配置,或使用 xpack.actions.customHostSettings 设置每个主机的配置。

配置 ServiceNow

编辑

ServiceNow 提供免费的 个人开发者实例,您可以使用它来测试事件。

先决条件
编辑

在将 Elastic Stack 版本从 7.15.0 或更早版本升级到 7.16.0 或更高版本后,您必须在 ServiceNow 实例中完成以下步骤,然后才能创建新的 ServiceNow ITSM 连接器或更新现有连接器

分配跨域权限
编辑

Elastic for ITSM 应用需要特定的跨域权限记录才能成功运行。特别是,您必须为 Elastic for ITSM 应用程序创建一个权限记录,该记录的状态设置为 允许,以用于以下每个目标

目标范围 名称 类型 操作

全局

GlideRecord.insert

可编写脚本

执行 API

全局

GlideRecord.setValue

可编写脚本

执行 API

全局

GlideRecordSecure.getValue

可编写脚本

执行 API

全局

事件

读取

全局

ScriptableServiceResultBuilder.setBody

可编写脚本

执行 API

全局

ScopedGlideElement

可编写脚本

执行 API

要访问跨域权限表

  1. 登录到 ServiceNow 并将您的应用程序范围设置为 Elastic for ITSM。
  2. 单击 全部 并搜索 sys_scope_privilege

有关更多详细信息,请参阅ServiceNow 产品文档

创建 ServiceNow 集成用户
编辑

为了确保 Elastic 和 ServiceNow 之间的身份验证通信,请创建 ServiceNow 集成用户并为其分配适当的角色。

  1. 在您的 ServiceNow 实例中,转到 系统安全性 → 用户和组 → 用户
  2. 单击 新建
  3. 填写表单,然后右键单击菜单栏并单击 保存
  4. 转到 角色 选项卡,然后单击 编辑
  5. 为集成用户分配以下角色:

    • import_set_loader
    • import_transformer
    • personalize_choices
    • x_elas2_inc_int.integration_user
  6. 单击 保存
创建 CORS 规则
编辑

Elastic 和 ServiceNow 之间的通信需要 CORS 规则。要创建 CORS 规则

  1. 在您的 ServiceNow 实例中,转到 系统 Web 服务 → REST → CORS 规则
  2. 单击 新建
  3. 按如下方式配置规则

    • 名称:命名规则。
    • REST API:通过选择 Elastic ITSM API [x_elas2_inc_int/elastic_api] 将规则设置为使用 Elastic ITSM API。
    • :输入 Kibana URL,包括端口号。
  4. 转到 HTTP 方法 选项卡,然后选择 GET
  5. 单击 提交 以创建规则。
创建 RSA 密钥对并添加 X.509 证书
编辑

此步骤是使用 OAuth 在 Elastic 和 ServiceNow 之间进行身份验证所必需的。

创建 RSA 密钥对

  1. 使用 OpenSSL 生成 RSA 私钥

    openssl genrsa -out example-private-key.pem 3072
    openssl genrsa -passout pass:foobar -out example-private-key-with-password.pem 3072 

    使用 passout 选项在您的私钥上设置密码。这是可选的,但如果您设置了密码,请记住您的密码。

  2. 使用 OpenSSL 生成匹配的公钥

    openssl req -new -x509 -key example-private-key.pem -out example-sn-cert.pem -days 360

    向 ServiceNow 添加 X.509 证书

  3. 在您的 ServiceNow 实例中,转到 证书,然后选择 新建
  4. 按如下方式配置证书

    • 名称:命名证书。
    • PEM 证书:将生成的公钥复制到此文本字段中。
    Shows new certificate form in ServiceNow
  5. 单击 提交 以创建证书。
为具有 JWT 验证器映射的外部客户端创建 OAuth JWT API 端点
编辑

此步骤是使用 OAuth 在 Elastic 和 ServiceNow 之间进行身份验证所必需的。

  1. 在您的 ServiceNow 实例中,转到 应用程序注册表,然后选择 新建
  2. 从选项列表中选择 为外部客户端创建 OAuth JWT API 端点

    Shows application type selection
  3. 按如下方式配置应用程序

    • 名称:为应用程序命名。
    • 用户字段:选择用作用户标识符的字段。
    Shows new application form in ServiceNow

    请记住所选的用户字段。您在创建连接器时,将使用此字段作为用户标识符值。例如,如果您为用户字段选择了电子邮件,您将使用用户的电子邮件作为用户标识符值

  4. 单击提交以创建应用程序。您将被重定向到应用程序列表。
  5. 选择您刚刚创建的应用程序。
  6. 找到JWT 验证器映射选项卡,然后单击新建
  7. 按如下方式配置新记录

    • 名称:为 JWT 验证器映射命名。
    • 系统证书:单击搜索图标,然后选择在上一步中创建的证书名称。
    Shows new JWT Verifier Map form in ServiceNow
  8. 单击提交以创建验证器映射。
  9. 记下客户端 ID客户端密钥JWT 密钥 ID。您将需要这些值来创建您的 ServiceNow 连接器。

    Shows where to find OAuth values in ServiceNow

更新已弃用的 ServiceNow ITSM 连接器

编辑

在升级到 7.16.0 或更高版本后,在 Elastic Stack 7.15.0 或更早版本中创建的 ServiceNow ITSM 连接器将被标记为已弃用。已弃用的连接器在其名称后有一个黄色图标,并在选择时显示警告消息。

Shows deprecated ServiceNow connectors

已弃用的连接器将继续与它们添加到的规则一起工作,并且可以分配给新规则。但是,强烈建议更新已弃用的连接器或创建新的连接器,以确保您可以访问连接器增强功能,例如更新事件。

要更新已弃用的连接器

  1. 使用导航菜单或全局搜索字段转到连接器页面。
  2. 选择已弃用的连接器以打开编辑连接器弹出窗口。
  3. 在警告消息中,单击更新此连接器
  4. 完成编辑连接器弹出窗口中的引导步骤。

    1. 安装Elastic for ITSM,并完成所需的先决条件
    2. 输入您的 ServiceNow 实例的 URL。
    3. 输入您的 ServiceNow 实例的用户名和密码。
  5. 单击更新