web-dev-qa-db-ja.com

Kibanaで認証を設定する方法

特定のユーザーのみがアクセスできるようにダッシュボードへのアクセスを制限するために、Kibanaで認証を有効にすることは可能ですか?

36
Mangoski

Kibana自体は、認証をサポートしていないか、ダッシュボードへのアクセスを制限していません。

ここで説明するように、Kibanaの前でnginx as proxyを使用して、Kibana 4へのアクセスを制限できます: https://serverfault.com/a/345244 。 proxy_passをポート5601に設定し、他のファイアウォールのこのポートを無効にするだけです。これにより、Kibanaが完全に有効または無効になります。

ElasticにはShieldというツールもあり、これによりelasticsearchのセキュリティを管理できます。 Shieldを使用すると、たとえば、読み取り専用のアクセス許可を持つ特定のインデックスのデータを分析することを許可できます。 https://www.elastic.co/products/shield


編集:Elasticにはgithubに issue があり、se Shieldを推奨しています。

  1. これらの指示に従って、Shield(elasticsearchのプラグイン)をインストールします
  2. Kibanaユーザーのロールを構成する
  3. Shieldで動作するようにKibana を構成する

シールドはインデックスレベルのアクセス制御のみを提供することに注意してください。つまり、ユーザーAはすべてのダッシュボードを表示できますが、一部のダッシュボードは空になります(すべてのインデックスにアクセスできないため)。

31
Luděk Veselý

elasticsearch-readonlyrest という名前のこのプラグインを確認してください。認証またはip/network、x-forwarded-forヘッダーによる簡単なアクセス制御を可能にし、kibanaで読み取り/書き込みまたは読み取り専用アクセスを設定し、ユーザーごとのインデックスアクセスを制限できます。設定は簡単で、ほとんどの人に十分な制御を提供します。

さらに制御が必要な場合は、 search-guard を使用できます。これは、シールドの無料の代替手段です。

11
higuita

Kibana4は現在これをサポートしていません。

3
gillyb

古い質問ですが、awsのelkのオープンソースバージョンがあることを付け加えたかったのです。 elastic.coのバージョンでプラグインを使用できる場合があります。 https://github.com/opendistro-for-elasticsearch/security

0
Clintm

Haproxyをインストールすることで認証を達成しました。

  1. キバナをローカルで制限する

$ sudo nano /etc/kibana/kibana.yml

server.Host: "localhost"

2. kibanaがインストールされているのと同じマシンにhaproxyをインストールします

$ Sudo apt update && Sudo apt install 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:8 を参照すると、認証用のポップアップが1つ表示されます。

0
ShreePrakash