天天看點

騰訊雲 Elasticsearch 實戰篇(二十二) ES6.8權限使用配置前言|一、在ElasticSearch6.8及以上版本開啟安全認證功能二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??三、總結:

前言|

在前面的章節中我們講了開源架構ELK、騰訊雲Elasticsearch産品系列。我們也知道了,在建構騰訊雲ES叢集的時候,我們選擇的6.8.2白金版具備充分的安全的機制來保證資料和通路的安全。那麼,它到底是如何實作的呢?我們今天就來簡單聊聊這個問題:

一、在ElasticSearch6.8及以上版本開啟安全認證功能

ElasticSearch的商業插件X-pack 在ES6.x版本以前一直都是收費,不對外免費開放的。在ES6以後陸續放開了一些功能,比如前面講到的Monitor叢集監控功能。在ES6.8及以後版本ES又将部分安全性功能免費開放了,包含安全認證功能,之後版本又開放一些基礎認證功能,對于普通使用者來說是夠用的。這裡要提一下的是kibana的登入和權限是與ES緊密相關的,其實真正起作用的是Elasticsearch,因為kibana隻是一個視圖頁面,真正工作的是Elasticsearch。現在我們就6.8版本的【基于角色的通路控制】進行操作、驗證。步驟如下:

第一步:下載下傳、安裝ES、Kibana 6.8.2 版本(此處省略,可參考本部落格前面的教程)

第二步:修改ES配置檔案 elasticsearch.yml 添加“ xpack.security.enabled: true”到配置檔案,儲存并退出

騰訊雲 Elasticsearch 實戰篇(二十二) ES6.8權限使用配置前言|一、在ElasticSearch6.8及以上版本開啟安全認證功能二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??三、總結:

Xpack安全機制

基礎版本的安全性功能是預設關閉的。

然後啟動ES,注意需要用普通使用者啟動ES,注意一定要先啟動ES,才能進行後續安全設定

騰訊雲 Elasticsearch 實戰篇(二十二) ES6.8權限使用配置前言|一、在ElasticSearch6.8及以上版本開啟安全認證功能二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??三、總結:

啟動ES

第三步:/bin/elasticsearch-setup-passwords interactive 啟用ES預設的内置使用者

騰訊雲 Elasticsearch 實戰篇(二十二) ES6.8權限使用配置前言|一、在ElasticSearch6.8及以上版本開啟安全認證功能二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??三、總結:

安全設定使用者密碼

顯示下面的圖示:輸入“y”

騰訊雲 Elasticsearch 實戰篇(二十二) ES6.8權限使用配置前言|一、在ElasticSearch6.8及以上版本開啟安全認證功能二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??三、總結:

下面的這些使用者都是ES預設的使用者,需要設定密碼,一定要記住,可以暫時設定相同的。後面可以改

騰訊雲 Elasticsearch 實戰篇(二十二) ES6.8權限使用配置前言|一、在ElasticSearch6.8及以上版本開啟安全認證功能二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??三、總結:

ES預設使用者

第四步:設定kibana登入的使用者名、密碼。在kibana.yml配置檔案裡進行修改

注意,這個使用者名和密碼一定跟ES剛剛設定的内置賬号密碼一樣。否則,Kibana啟動報錯!!

騰訊雲 Elasticsearch 實戰篇(二十二) ES6.8權限使用配置前言|一、在ElasticSearch6.8及以上版本開啟安全認證功能二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??三、總結:

添加使用者名和密碼

第五步:啟動kibana

啟動kibana就可以使用使用者名與密碼進行通路。如下截圖

騰訊雲 Elasticsearch 實戰篇(二十二) ES6.8權限使用配置前言|一、在ElasticSearch6.8及以上版本開啟安全認證功能二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??三、總結:

kibana啟動

騰訊雲 Elasticsearch 實戰篇(二十二) ES6.8權限使用配置前言|一、在ElasticSearch6.8及以上版本開啟安全認證功能二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??三、總結:

Kibana界面

登入Kibana看看,就出現了安全通路的登入框。輸入在Kibana設定的内置使用者登入即可.使用者必須使用有效的使用者ID和密碼登入Kibana。

騰訊雲 Elasticsearch 實戰篇(二十二) ES6.8權限使用配置前言|一、在ElasticSearch6.8及以上版本開啟安全認證功能二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??三、總結:

安全登入界面

二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??

前面我們知道,登入ES的安全賬号密碼都配置在Kibana的配置檔案裡,但是這樣,始終不安全,那麼能不能屏蔽掉這些關鍵字眼呢??再來解決這個問題:

如果你不想将使用者ID和密碼放在kibana.yml檔案中明文配置,可以将它們存儲在密鑰庫中。運作以下指令以建立Kibana密鑰庫并添加配置:

首先 先建立秘鑰庫: ./kibana-keystore create

騰訊雲 Elasticsearch 實戰篇(二十二) ES6.8權限使用配置前言|一、在ElasticSearch6.8及以上版本開啟安全認證功能二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??三、總結:

其次:添加登入使用者名: ./kibana-keystore add elasticsearch.username

騰訊雲 Elasticsearch 實戰篇(二十二) ES6.8權限使用配置前言|一、在ElasticSearch6.8及以上版本開啟安全認證功能二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??三、總結:

輸入要添加的使用者名(密文)

再次:添加登入使用者名的密碼: ./kibana-keystore add elasticsearch.password

騰訊雲 Elasticsearch 實戰篇(二十二) ES6.8權限使用配置前言|一、在ElasticSearch6.8及以上版本開啟安全認證功能二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??三、總結:

輸入使用者名密碼(密文)

最後,驗證一下:使用剛剛建立賬号密碼、同時清除Kibana配置檔案中原有的yml檔案的使用者、密碼内容。重新開機Kibana

騰訊雲 Elasticsearch 實戰篇(二十二) ES6.8權限使用配置前言|一、在ElasticSearch6.8及以上版本開啟安全認證功能二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??三、總結:

Kibana登入界面

使用Curl驗證一下“

騰訊雲 Elasticsearch 實戰篇(二十二) ES6.8權限使用配置前言|一、在ElasticSearch6.8及以上版本開啟安全認證功能二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??三、總結:

Curl指令

用其他使用者是不行的:

騰訊雲 Elasticsearch 實戰篇(二十二) ES6.8權限使用配置前言|一、在ElasticSearch6.8及以上版本開啟安全認證功能二、如何在Kibana配置檔案中屏蔽密碼、使用者字眼??三、總結:

驗證其它使用者

考慮一下:為什麼這樣?因為盡管是預設使用者,但是沒有配置它在服務中使用,是以,它無效!!

三、總結:

本節從實際角度去部署了一下ES、Kibana的安全通路功能。是一個非常實際可用的功能,建議大家多試試!