Elastic 安全 API编辑

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

控制台支持向 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 标识符。

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

身份验证编辑

Elastic 安全 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 注意事项 描述了如何处理和禁用随机路径组件。