导出规则

编辑

将规则导出到 .ndjson 文件。以下配置项也包含在 .ndjson 文件中:

  • 操作
  • 例外列表

您无法导出预构建规则,但它们可在 https://github.com/elastic/detection-rules/tree/main/rules/ 上找到。

规则操作和连接器包含在导出的文件中,但有关连接器的敏感信息(例如身份验证凭据)包含在内。导入检测规则后,您必须重新添加缺失的连接器详细信息。

您可以使用 Kibana 的 已保存对象 UI (堆栈管理Kibana已保存对象)或已保存对象 API(实验性)来导出导入任何必要的连接器,然后再导入检测规则。

同样,用于规则例外的任何值列表都不会包含在规则导出或导入中。使用管理值列表 UI(规则检测规则 (SIEM)管理值列表)分别导出和导入值列表。

请求 URL

编辑

POST <kibana 主机>:<端口>/api/detection_engine/rules/_export

URL 查询参数

编辑
名称 类型 描述 必需

exclude_export_details

布尔值

确定是否返回导出的规则的摘要。

否,默认为 false

file_name

字符串

用于保存导出规则的文件名。

否,默认为 export.ndjson

当使用 cURL 将规则导出到文件时,请使用 -O-J 选项将规则保存到 URL 中指定的文件名。

请求正文

编辑

可选的 JSON objects 数组,其中包含您要导出的规则的 rule_id 字段。

名称 类型 描述 必需

objects

String[]

rule_id 字段的数组。

否,未指定时导出所有规则。

示例请求

编辑

导出两个不带详细信息的规则,并将它们保存到 exported_rules.ndjson 文件中。

POST api/detection_engine/rules/_export?exclude_export_details=true&file_name=exported_rules.ndjson
{
  "objects": [
    {
      "rule_id":"343580b5-c811-447c-8d2d-2ccf052c6900"
    },
    {
      "rule_id":"2938c9fa-53eb-4c04-b79c-33cbf041b18d"
    }
  ]
}

响应代码

编辑
200
表示成功调用。

响应负载

编辑

一个 .ndjson 文件,其中包含返回的规则。

文件中的每一行都表示一个对象(规则、例外列表父容器或例外列表项),最后一行包括导出的内容摘要。

示例响应负载

{"id":"d4db8800-30df-11ec-88a5-fb21b48c9b4e","rule_id":"query-with-single-exception-list"[....]} // Rule
{"id":"cd62f410-30de-11ec-88a5-fb21b48c9b4e","list_id":"simple_list"[...]} // Exception list parent container
{"id":"e54ffbe0-30de-11ec-88a5-fb21b48c9b4e","item_id":"my-exception-item","list_id":"simple_list"[...]} // Exception list item
{"exported_rules_count":1,"missing_rules":[],"missing_rules_count":0,"exported_exception_list_count":1,"exported_exception_list_item_count":1,"missing_exception_list_item_count":0,"missing_exception_list_items":[],"missing_exception_lists":[],"missing_exception_lists_count":0} // Export summary