实战 es6_腾讯云 Elasticsearch 实战篇(二十二) ES6.8权限使用配置
前言|
在前面的章節(jié)中我們講了開源架構(gòu)ELK、騰訊云Elasticsearch產(chǎn)品系列。我們也知道了,在構(gòu)建騰訊云ES集群的時候,我們選擇的6.8.2白金版具備充分的安全的機(jī)制來保證數(shù)據(jù)和訪問的安全。那么,它到底是如何實(shí)現(xiàn)的呢?我們今天就來簡單聊聊這個問題:
一、在ElasticSearch6.8及以上版本開啟安全認(rèn)證功能
ElasticSearch的商業(yè)插件X-pack 在ES6.x版本以前一直都是收費(fèi),不對外免費(fèi)開放的。在ES6以后陸續(xù)放開了一些功能,比如前面講到的Monitor集群監(jiān)控功能。在ES6.8及以后版本ES又將部分安全性功能免費(fèi)開放了,包含安全認(rèn)證功能,之后版本又開放一些基礎(chǔ)認(rèn)證功能,對于普通用戶來說是夠用的。這里要提一下的是kibana的登錄和權(quán)限是與ES緊密相關(guān)的,其實(shí)真正起作用的是Elasticsearch,因?yàn)閗ibana只是一個視圖頁面,真正工作的是Elasticsearch。現(xiàn)在我們就6.8版本的【基于角色的訪問控制】進(jìn)行操作、驗(yàn)證。步驟如下:
第一步:下載、安裝ES、Kibana 6.8.2 版本(此處省略,可參考本博客前面的教程)
第二步:修改ES配置文件 elasticsearch.yml 添加“ xpack.security.enabled: true”到配置文件,保存并退出
Xpack安全機(jī)制
基礎(chǔ)版本的安全性功能是默認(rèn)關(guān)閉的。
然后啟動ES,注意需要用普通用戶啟動ES,注意一定要先啟動ES,才能進(jìn)行后續(xù)安全設(shè)置
啟動ES
第三步:/bin/elasticsearch-setup-passwords interactive 啟用ES默認(rèn)的內(nèi)置用戶
安全設(shè)置用戶密碼
顯示下面的圖示:輸入“y”
下面的這些用戶都是ES默認(rèn)的用戶,需要設(shè)置密碼,一定要記住,可以暫時設(shè)置相同的。后面可以改
ES默認(rèn)用戶
第四步:設(shè)置kibana登錄的用戶名、密碼。在kibana.yml配置文件里進(jìn)行修改
注意,這個用戶名和密碼一定跟ES剛剛設(shè)定的內(nèi)置賬號密碼一樣。否則,Kibana啟動報錯!!
添加用戶名和密碼
第五步:啟動kibana
啟動kibana就可以使用用戶名與密碼進(jìn)行訪問。如下截圖
kibana啟動
Kibana界面
登錄Kibana看看,就出現(xiàn)了安全訪問的登錄框。輸入在Kibana設(shè)定的內(nèi)置用戶登錄即可.用戶必須使用有效的用戶ID和密碼登錄Kibana。
安全登錄界面
二、如何在Kibana配置文件中屏蔽密碼、用戶字眼??
前面我們知道,登錄ES的安全賬號密碼都配置在Kibana的配置文件里,但是這樣,始終不安全,那么能不能屏蔽掉這些關(guān)鍵字眼呢??再來解決這個問題:
如果你不想將用戶ID和密碼放在kibana.yml文件中明文配置,可以將它們存儲在密鑰庫中。運(yùn)行以下命令以創(chuàng)建Kibana密鑰庫并添加配置:
首先 先創(chuàng)建秘鑰庫: ./kibana-keystore create
其次:添加登錄用戶名: ./kibana-keystore add elasticsearch.username
輸入要添加的用戶名(密文)
再次:添加登錄用戶名的密碼: ./kibana-keystore add elasticsearch.password
輸入用戶名密碼(密文)
最后,驗(yàn)證一下:使用剛剛新建賬號密碼、同時清除Kibana配置文件中原有的yml文件的用戶、密碼內(nèi)容。重啟Kibana
Kibana登錄界面
使用Curl驗(yàn)證一下“
Curl指令
用其他用戶是不行的:
驗(yàn)證其它用戶
考慮一下:為什么這樣?因?yàn)楸M管是默認(rèn)用戶,但是沒有配置它在服務(wù)中使用,所以,它無效!!
三、總結(jié):
本節(jié)從實(shí)際角度去部署了一下ES、Kibana的安全訪問功能。是一個非常實(shí)際可用的功能,建議大家多試試!
總結(jié)
以上是生活随笔為你收集整理的实战 es6_腾讯云 Elasticsearch 实战篇(二十二) ES6.8权限使用配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML+CSS+JS实现 ❤️canv
- 下一篇: 又一门国产数据库语言诞生了,比SQL还好