正在加载

跨集群搜索和检测规则

Elastic Stack

跨集群搜索 是一个 Elasticsearch 功能,允许一个集群(*本地*集群)查询另一个集群(*远程*集群)中的数据。 Elastic Security 的检测规则可以执行跨集群搜索来查询远程集群中的数据。

要求
  • 要了解在 Elastic Stack 中使用跨集群搜索的要求,请参阅 跨集群搜索
  • 在 Elastic Stack 中为 ES|QL 规则使用跨集群搜索需要 企业订阅

本节介绍了在检测规则中设置跨集群搜索的一般过程。 有关该过程每个部分的具体说明,请参阅链接的文档。

  1. 在本地集群上,建立信任并设置到远程集群的连接,使用以下方法之一。 无论哪种方法,请记下您为远程集群指定的唯一名称,因为在此过程中您都需要使用它。

  2. 在本地和远程集群上,创建用于跨集群搜索权限的角色,并确保这两个角色具有 *相同* 的名称。为每个角色分配以下权限

    1. 本地集群角色:使用每个索引的 *本地和远程* 索引模式,将 read 权限分配给您要搜索的索引。要指定远程索引,请使用 <remote_cluster_name>:<index_name> 模式。

      例如,如果远程集群的名称为 remote-security-data,并且您想要查询 logs-* 索引,请同时包含 logs-*remote-security-data:logs-* 索引模式,并为它们分配 read 权限。

      Local cluster role configuration
    2. 远程集群角色:将 readread_cross_cluster 权限分配给您要搜索的索引。您无需在此处包含远程集群的名称。

      Remote cluster role configuration
  3. 在本地集群上

    1. 将您刚刚创建的角色分配给您想要配置跨集群检测规则的用户。

      重要
      • 此步骤确保从用户到规则本身应用读取远程索引的权限。 当用户创建新规则或保存对现有规则的编辑时,其当前权限将保存到规则的 API 密钥。 如果该用户的权限将来发生更改,则在您手动更新之前,规则的 API 密钥将不会更新。 有关详细信息,请参阅 更新规则的 API 密钥
      • 该用户还必须具有 管理和预览规则的相应权限
    2. 以该用户身份,配置一个搜索远程索引的规则:创建或编辑规则,然后在“来源”部分中输入 <remote_cluster_name>:<index_name> 模式。

      Rule source configuration
      注意

      如果规则的“来源”使用数据视图而不是索引模式,则必须单独定义用于跨集群搜索的数据视图,使用 <remote_cluster_name>:<index_name> 模式。有关定义数据视图的更多信息,请参阅 将数据视图与跨集群搜索一起使用

    3. (可选)预览规则以测试其预期结果。

      重要

      规则预览使用当前用户的跨集群搜索权限,而规则本身使用保存在其 API 密钥中的权限快照运行,密钥是在创建时保存的。 如果执行预览的用户具有与规则的 API 密钥中保存的权限不同的权限,则预览结果可能与规则的实际行为不同。

    4. 保存并启用规则。

每个检测规则都有其自己的 API 密钥,该密钥确定规则允许访问的数据和操作。 当用户创建新规则或更改现有规则时,其当前权限将保存到规则的 API 密钥。 如果该用户的权限将来发生更改,则规则不会自动使用用户的最新权限进行更新 — 如果要更新其权限,则必须更新规则的 API 密钥。

重要

规则的 API 密钥与您可能为 本地和远程集群之间的身份验证 创建的 API 密钥不同。

要更新规则的 API 密钥,请以具有您要应用于规则的权限的用户身份登录到本地集群,然后执行以下任一操作

  • 编辑并保存规则。

  • 手动更新规则的 API 密钥

    1. 在导航菜单中或使用 全局搜索字段 查找 Stack Management,然后转到 Rules

    2. 使用搜索框和过滤器查找要更新的规则。 例如,使用 类型 过滤器查找 安全 类别下的规则。

    3. 选择规则的操作菜单 (…​),然后选择 更新 API 密钥

      提示

      要更新多个规则,请选中它们的复选框,然后单击 已选择 x 个规则更新 API 密钥

© . All rights reserved.