如何仅在Kibana中设置身份验证

时间:2016-09-29 10:05:48

标签: nginx elasticsearch kibana

我正在学习弹性搜索和Kibana。我需要在Kibana中为身份验证用户实现插件。我找到了三种解决方法:

  1. 官方Elastic Shield,这将是最好的插件/应用程序,但它不是免费的。
  2. Search Guard 2 - 它是Shield的免费替代品,但配置起来很困难。
  3. Readonly REST Elasticsearch插件 - 提供HTTP身份验证的简单插件。
  4. 我安装了第三个插件并在elasticsearch.yml中配置它,如下所示:

    http.cors.enabled: true
    http.cors.allow-origin: /https?:\/\/172.16.7.([0-9])([0-9])(:[0-9]+)?/
    
    readonlyrest:
    enable: true
    response_if_req_forbidden: Permission denied!
        access_control_rules:
        - name: Kibana
        auth_key: admin:passwd
        type: allow
    

    现在我可以看到用户/密码窗口,当我尝试打开localhost:5601(Kibana)时,这是非常好的信息,但我无法将数据发布到elasticsearch甚至在命令行中获取数据。我仍然希望拥有Kibana用户/密码窗口,但我不想限制访问elasticsearch(我想发布,获取和删除数据)。你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好的,我已经解决了我的问题。如果你想在Kibana(用户名+密码)中设置非常简单的auth,你应该安装nginx。我用了this instruction。然后你应该阻止默认的Kibana端口(5601):

iptables -A INPUT -p TCP -i eth0 --dport 5601 -j DROP
iptables -A INPUT -p UDP -i eth0 --dport 5601 -j DROP