Elasticsearch、KibanaにShieldプラグインを入れる
ES、Kibanaを本番で使うために、認証を入れられるようにShieldプラグインを入れる。
Shield: Enterprise Security for Elasticsearch | Elastic
環境
- CentOS 6.8
- Elasticsearch 2.4.1
- Kibana 4.6.1
- Shield 2.4
ESとKibanaは入ってるものとする。
Shield入れる
基本この辺そのまま。
Getting Started with Shield | Shield [2.4] | Elastic
// ライセンスインストール(30日無料で、それ以上は有料プラン入らなあかん) $ /usr/share/elasticsearch/bin/plugin install license // ESのshieldプラグイン入れる $ /usr/share/elasticsearch/bin/plugin install shield // Kibanaのshieldプラグイン入れる $ /opt/kibana/bin/kibana plugin --install kibana/shield/latest
設定
kibanaからESにアクセスできるように、kibana4-server-man
というユーザーを作成する。shield/roles.yml
にkibana4_server
というこの役割をするroleがデフォルトで書かれてるので、このroleをこのユーザーに付与する。
$ /usr/share/elasticsearch/bin/shield/esusers useradd kibana4-server-man -r kibana4_server // role書かれてるの確認 $ less /etc/elasticsearch/shield/roles.yml
ログインユーザーを設定する。name: hoge, password: hogehogeで作る。roleはadminにしとく。
$ /usr/share/elasticsearch/bin/esusers useradd hoge -r admin // ユーザー確認 $ /usr/share/elasticsearch/bin/esusers list
SSLの設定
KibanaでShield使う場合はssl化必要。
ここでは使用ドメインに対してSSL化対応は完了してるとする。(まだならここ見る
サイトをSSL化する(VPS, CentOS6 + Apache) - mazeltov7のweb断片)
kibana.ymlにSSL情報書く
$ vim /opt/kibana/config/kibana.yml server.ssl.cert: /path/to/cert/hoge.crt server.ssl.key: /path/to/key/hoge.key (略) shield.encryptionKey: "something_secret" // 再起動 $ service kibana restart
で、アクセスして、ログインできたら、OK。
あ、firewall使ってたら、kibanaでアクセスする、5601を開けておく。
参考: