kibana面板本來用不同的用戶空間開放給不用的用戶使用,但是不同的面板空間都需要新建索引管理,很不方便;而且通過刪除url后綴就能訪問到默認空間,很不安全。官方給的消息說從6.8 和 7.1 開始默認提供x-pack的安全功能,雖然只是一部分,但也夠用了。針對網上千奇百怪的文章,整理了一套自己能用的啟用方式。
1. 升級java11版本
如果升級jdk,我使用的jdk8不支持啟用,最低標准是jdk11。
2. 配置 es文件,末尾添加配置項
---- vim elasticsearch.yml
xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.authc.accept_default_password: true
3. 重啟-elasticsearch,就能啟用,如果出現問題;刪除配置就恢復;使用chrome插件-elasticsearch head;就發現已經有密碼驗證了。
4. 設置密碼,可以根據自己情況生成密碼,我使用的auto;因為手動配置密碼,在【apm_system】賬戶時提示失敗;自動生成就沒問題
cd /usr/share/elasticsearch/bin //生成隨機密碼 elasticsearch-setup-passwords auto or //設置默認賬號密碼 elasticsearch-setup-passwords interactive
使用 手動修改密碼--elasticsearch-setup-passwords interactiveEnter password for [elastic]: Reenter password for [elastic]: Enter password for [apm_system]: Reenter password for [apm_system]: Enter password for [kibana]: Reenter password for [kibana]: Enter password for [logstash_system]: Reenter password for [logstash_system]: Enter password for [beats_system]: Reenter password for [beats_system]: Enter password for [remote_monitoring_user]: Reenter password for [remote_monitoring_user]: Connection failure to: http://127.0.0.1:9200/_security/user/apm_system/_password?pretty failed: Read timed out ERROR: Failed to set password for user [apm_system].
注意在執行該命令前一定要確保elasticsearch.yml里discovery.seed_hosts和cluster.initial_master_nodes節點都正常運行,不能確保就改本機節點,否則出現錯誤:ERROR: Failed to set password for user [apm_system]
5. 修改kibana中elasticsearch用戶密碼、重啟,vim /etc/kibana/kibana.yml (使用的是kibana用戶,但是登陸還的用超管用戶--elastic);
6. 登陸之后會發現es沒有接收到logstash的消息了;還需要配置logstash中的密碼才能發送;
7. 如果配置了elasticalert,也需要在配置文件中修改才能接收到告警信息;
8. 配置成功后,登陸kibana,在【管理】中發現多了【安全】的配置;
9. 創建角色、用戶,分配權限、工作區可見內容;內置用戶不能修改;
這樣就可以根據不同的用戶分配權限了,還是官網自產的東西便於使用。