Shield 2.0+ 配合Elasticsearch 和 kibana 以及 logstash的使用

ELK 和 Shield 2.0+ 都安裝在 10.100.100.60服務器
一、對Elasticsearch 安裝 Shield
bin/plugin install license
bin/plugin install shield
二、運行 Elasticsearch
bin/elasticsearch
三、添加一個admin 用戶
bin/shield/esusers useradd es_admin -r admin
輸入密碼 123456
登陸 es_admin 123456 ,能夠看到全部的 indices
四、測試用戶是否寫入
頁面登陸 http://10.100.100.60:9200/ 須要輸入用戶名和密碼 es_admin 123456
五、對kibana 寫入Shield
curl -u es_admin -XPOST 'http://10.100.100.60:9200/_shield/user/kibana-server' -d '{"password" : "123456", "roles" : [ "kibana4_server"]}}'
返回 {"user":{"created":true}}
修改kibana 配置文件:
/config/kibana.yml.
elasticsearch.username: "kibana4-server" elasticsearch.password: "123456"
修改 roles.yml
/data/elasticsearch/config/shield/roles.yml
加入 kibana_redis 角色,只給 logstash-redis-input 可讀權限,.kibana 讀寫管理權限
kibana_redis: cluster: - monitor indices: - names: 'logstash-redis-input-*' privileges: - view_index_metadata - read - names: '.kibana*' privileges: - manage - read - index
 
六、添加一個用戶 es_kibana 給角色 kibana_redis
bin/shield/esusers useradd es_kibana -r kibana_redis
輸入密碼 123456
輸入 es_kibana 123456 登陸
以下圖,只有點擊 logstash-redis-input-* 和 .kibana 的indices 才能看到數據,其餘的都沒有
 
七、kibana 的 kibana_redis 角色給予登陸信息
curl -u es_kibana -XPOST 'http://10.100.100.60:9200/_shield/user/kibana-server' -d '{"password" : "123456", "roles" : [ "kibana_redis"]}}'
失敗報錯:
{"error":{"root_cause":[{"type":"security_exception","reason":"unable to authenticate user [es_kibana] for REST request [/_shield/user/kibana-server]","header":{"WWW-Authenticate":"Basic realm=\"shield\""}}],"type":"security_exception","reason":"unable to authenticate user [es_kibana] for REST request [/_shield/user/kibana-server]","header":{"WWW-Authenticate":"Basic realm=\"shield\""}},"status":401}
 
再次修改 user後用戶爲 es_kibana
curl -u es_kibana -XPOST 'http://10.100.100.60:9200/_shield/user/es_kibana' -d '{"password" : "123456", "roles" : [ "kibana_redis"]}}'
 
返回 {"user":{"created":true}} 成功
 
 
 
八、登陸 kibana
瀏覽器運行 http://10.100.100.60:5601/
登陸 es_kibana 123456
以下圖,只有點擊 logstash-redis-input-* ,會有數據(圖8-1),其餘的(圖8-2),會報錯
                                      圖 8-1
                                圖 8-2
附上官網解釋:
With Shield installed, if you load a Kibana dashboard that accesses data in an index that you are not authorized to view, you get an error that indicates the index does not exist. Kibana and Shield do not currently provide a way to control which users can load which dashboards.
安裝了Shield,若是你加載一個Kibana儀表盤,你未被受權訪問數據索引、視圖,你獲得一個錯誤,代表該indices不存在。Kibana和Shield目前並不能提供一種方法來控制哪些用戶能夠加載哪些儀表板。
 
九、之前的logstash 的conf 規則也要跟着修改
    output {
        elasticsearch {
              ...
       user => ... # string
              password => ... # string
       }
   }
 
 
注:Shield 是一款商業產品,不過提供30天免費試用,使用期間是全功能的。過時後Shield 將會在降級模式下工做,此模式下對cluster health、cluster stats 以及 index stats 等接口的訪問將阻止沒法使用。
基本上來講,若是過時了,就只能卸掉不使用了。
相關文章
相關標籤/搜索