Elastic Security API

编辑

您可以使用这些 API 与 Elastic Security 功能交互

控制台支持向 Kibana API 发送请求。在任何 Kibana API 端点前加上 kbn: 并通过控制台发送请求。例如:GET kbn:/api/index_management/indices

此外,Kibana 操作 API 部分记录,以支持在外部票证系统中打开和更新案例。有关 Kibana 操作的更多信息,请参阅 警报和操作操作插件

API URL

编辑

对于对 Default Kibana 空间的调用,API 端点如下所示

<kibana 主机>:<端口>/api/<端点>

其中

  • <kibana 主机> 是 Kibana 实例的主机名。
  • <端口> 是 Kibana 实例的端口号。
  • <端点> 是 API 端点,例如 detection_engine/rulescases/configure

如果您正在对 Default 空间 之外的 Kibana 空间进行调用,则空间标识符是端点 URL 的一部分

<kibana 主机>:<端口>/s/<空间 URL>/api/<端点>

其中 <空间 URL> 是 Kibana 空间的 URL 标识符。

您可以在 编辑空间 页面(管理 → 空间 → <空间名称>)或通过调用 GET /api/spaces/space 上找到空间 URL 标识符。

身份验证

编辑

Elastic Security API 支持基于密钥和基于令牌的身份验证。

基于密钥的身份验证

编辑

要使用基于密钥的身份验证,请创建 API 密钥,然后在 API 调用的标头中指定密钥。

基于令牌的身份验证

编辑

对于基于令牌的身份验证,请使用与登录 Kibana UI 时相同的用户名和密码。在给定的 HTTP 工具中,以及在可用时,您可以选择使用其 基本身份验证 选项,用户名和密码存储在其中,以便作为调用的一部分传递。

API 调用

编辑

对 API 的所有调用都是无状态的。每个调用都必须包含 Elastic Security 执行请求所需的所有信息。

请求必须包含以下标头

  • kbn-xsrf: <值>,其中 <值> 可以是任何字母数字字符串(例如,kbn-xsrf: kibana)
  • Content-Type: application/json(当请求包含 JSON 有效负载时)

例如,以下调用使用检测 API 从 Kibana siem 空间检索前 20 个检测规则

curl -X GET "<kibana host>:<port>/s/siem/api/detection_engine/rules/_find"
-H 'kbn-xsrf: kibana' -u <username>:<password>

在开发模式下,Kibana 服务器在代理后面运行,该代理会向其 URL 添加随机路径组件。 basePath 的注意事项 描述了如何使用和禁用随机路径组件。