elasticsearch - Search Guard Kibana clientcert 身份验证

标签 elasticsearch kibana client-certificates mutual-authentication kibana-5

我已经为 Elasticsearch 5 安装了 Search Guard,并且仅通过以 CN 作为用户名的客户端证书配置了身份验证。

      clientcert_auth_domain:
        enabled: false
        order: 2
        http_authenticator:
          type: clientcert
          config:
            username_attribute: cn #optional, if omitted DN becomes username
          challenge: false
        authentication_backend:
          type: noop

我还为 Kibana 安装了 Search Guard 插件。

如何配置 Search Guard for Kibana 使用客户端证书供用户登录?我在文档中只看到使用用户名密码或 LDAP 的选项: https://github.com/floragunncom/search-guard-docs/blob/master/kibana.md

但我想使用 Search Guard for Elasticsearch 中配置的客户端证书。我没有看到任何配置选项来为 kibana 用户启用 clientcert 身份验证。

我仍然必须通过我应该输入用户名和密码的表单登录。

最佳答案

Kibana 充当 Elasticsearch 的代理,默认情况下会丢弃原始 HTTP 调用中包含的大部分信息,包括包含您的客户端证书的 HTTP header 字段。

但是,您可以在 kibana.yml 中明确地将 HTTP header 列入白名单,因此您可以尝试将 "X-Client-Cert" header 列入白名单,例如:

elasticsearch.requestHeadersWhitelist: [ "authorization", "X-Client-Cert" ]

免责声明:我为 floragunn / Search Guard 工作

关于elasticsearch - Search Guard Kibana clientcert 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43900856/

相关文章:

elasticsearch - 过滤文档以匹配嵌套Elasticsearch字段中的两个字段中的一个

elasticsearch - Elasticsearch解析日期字段的格式不同

javascript - 使用浏览器的证书(私钥)在javascript中签署一些字符串

c# - 有没有一种方法可以使用 FtpWebRequest 在 C# 中使用客户端证书对 FTP 进行身份验证?

java - 在tomcat中获取客户端证书DN

c# - 使用Nest弹性搜寻程式库的Include_in_parent

csv - 从 CSV 文件输入数据到 logstash

scala - 无法通过 Elasticsearch-hadoop 库在多个 spark 节点上的 RDD 上应用映射

kubernetes - 如何在 k8s 上安装 Fluentd 插件

elasticsearch - 如何在Kibana中编写与字段的前4位数字匹配的字段的脚本?