如何向 Elastic Transport Client 添加身份验证

How to add authentication to Elastic Transport Client

如何为弹性传输客户端添加身份验证。 是否有任何用于弹性搜索的开源身份验证插件。 我尝试了 readonlyrest 和 searchguard,但它们都不满足我的要求。

要将传输级别身份验证与 Search Guard 结合使用,请执行以下操作:

  • 设置传输客户端,并将其配置为在与 Elasticsearch 通信时使用客户端证书
  • 将证书的可分辨名称配置为 Search Guard 用户。该用户不需要任何登录凭据或角色,因为它已由其证书识别
  • 随每个请求发送基本身份验证 header。此 header 包含用户名和密码,并希望用于此请求
  • Search Guard 将对提供的凭据应用所有安全检查,就好像它们是在 REST 级别上提供的一样
  • 这意味着您可以根据索引和类型实施访问控制,还可以在传输级别应用文档和 field-level 安全性。

另见 https://floragunn.com/transport-client-authentication-authorization/