如何在kibana中设置身份验证

时间:2015-05-09 10:42:20

标签: kibana kibana-4

是否可以在Kibana中启用身份验证,以限制对特定用户只能访问的仪表板的访问权限?

5 个答案:

答案 0 :(得分:30)

Kibana本身并不支持身份验证或限制对仪表板的访问。

您可以使用 nginx作为代理来限制对Kibana 4的访问,如下所述:https://serverfault.com/a/345244。只需将proxy_pass设置为端口5601,并在防火墙上为其他端口禁用此端口。这将完全启用或禁用Kibana。

Elastic还有一个名为 Shield 的工具,可让您管理elasticsearch的安全性。使用Shield,您可以例如允许某人使用只读权限分析特定索引中的数据。 https://www.elastic.co/products/shield

编辑:弹性在github上有一个issue,他们建议使用Shield

  1. these instructions
  2. 之后安装Shield(elasticsearch的插件)
  3. Configure roles适用于Kibana用户
  4. Configure Kibana与Shield合作
  5. Remember Shield仅提供索引级访问控制。这意味着用户A将能够看到所有仪表板,但其中一些将是空的(因为他无法访问所有索引)。

答案 1 :(得分:11)

检查此名为elasticsearch-readonlyrest的插件。 它允许通过身份验证或ip / network,x-forwarded-for标头轻松访问控制,并允许用户在kibana中设置读写或只读访问,并限制每个用户的索引访问。设置简单,应该为大多数人提供足够的控制。

如果需要更多控制,您可以使用search-guard,一种免费替代盾牌。

答案 2 :(得分:3)

Kibana4目前不支持此功能。

答案 3 :(得分:0)

我已经通过安装haproxy实现了身份验证。

  1. 在本地限制kibana

$ sudo nano /etc/kibana/kibana.yml

server.host: "localhost"

2。在安装了kibana的同一台计算机上安装haproxy

$ sudo apt更新&& sudo apt安装haproxy

$ sudo nano /etc/haproxy/haproxy.cfg

global
log /dev/log    local0
log /dev/log    local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private

# Default ciphers to use on SSL-enabled listening sockets.
# For more information, see ciphers(1SSL). This list is from:
#  https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
ssl-default-bind-options no-sslv3

defaults
log global
mode    http
option  httplog
option  dontlognull
    timeout connect 10m
    timeout client  10m
    timeout server  10m
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http

userlist UsersFor_Kibana
    user kibana insecure-password myPASSWORD

frontend localnodes
     bind *:80 
     mode http
     default_backend nodes

backend nodes 
   acl AuthOkay_Kibana http_auth(UsersFor_Kibana) 
   http-request auth realm Kibana if !AuthOkay_Kibana
   mode http
   balance roundrobin
   option forwardfor
   http-request set-header X-Forwarded-Port %[dst_port]
   http-request add-header X-Forwarded-Proto https if { ssl_fc }
   option httpchk HEAD / HTTP/1.1\r\nHost:localhost
   server server1 127.0.0.1:5601 check

用户名:-“ kibana” 密码:-“ myPASSWORD”

浏览http://IP:80时,会弹出一个弹出窗口进行身份验证。

答案 4 :(得分:0)

一个老问题,但我想补充一点,它有一个来自aws的开源麋鹿版本。您可能可以使用elastic.co中版本的插件。 https://github.com/opendistro-for-elasticsearch/security