本篇內(nèi)容主要講解“如何實現(xiàn)elasticsearch基于RBAC認(rèn)證和集群之間的TLS通訊”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何實現(xiàn)elasticsearch基于RBAC認(rèn)證和集群之間的TLS通訊”吧!
成都創(chuàng)新互聯(lián)是專業(yè)的網(wǎng)站建設(shè)公司,提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)站設(shè)計等網(wǎng)站開發(fā)一體化解決方案;包括H5高端網(wǎng)站建設(shè),微信小程序開發(fā),網(wǎng)站定制,企業(yè)網(wǎng)站建設(shè),商城網(wǎng)站定制開發(fā),成都響應(yīng)式網(wǎng)站建設(shè),建網(wǎng)站,PHP網(wǎng)站建設(shè),軟件開發(fā),軟文發(fā)稿,網(wǎng)站營銷。歡迎做網(wǎng)站的企業(yè)前來合作洽談,成都創(chuàng)新互聯(lián)將竭誠為您服務(wù)!
默認(rèn)情況下,當(dāng)我們搭建好es集群
后,我們通過http://localhost:9200
就可以直接訪問到es集群的一些信息,這顯然是不安全的。在同一個局域網(wǎng)中,如果我們啟動了多個es節(jié)點,且集群的名字相同,那么他們可能會自動加入集群,這顯然是不安全的。因此我們要想個辦法來解決它。es自帶的插件x-pack
就可以解決上述的要求。在高版本的es中,x-pack
插件是默認(rèn)就集成了。
1、給es增加用戶名和密碼訪問。
2、集群之間的通訊采用TLS通訊。
# 1、修改 ES_HOME/config/elasticsearch.yml # 增加如下配置 vim config/elasticsearch.yml xpack.security.enabled: true
> 此時可以看到訪問es集群就需要用戶名和密碼了,那么我們這個用戶名和密碼從哪里獲取呢?
./bin/elasticsearch-setup-passwords auto
如果執(zhí)行上面這個語句,那么es會自動設(shè)置密碼,我們需要自己把這個密碼保存下來。
./bin/elasticsearch-setup-passwords interactive
此處為了簡單,將每個用戶的用戶名和密碼都設(shè)置成 123456
,生產(chǎn)環(huán)境需要設(shè)置成一個復(fù)雜的接口。
注意??:
當(dāng)我們設(shè)置了elastic
用戶的密碼后,就不可在執(zhí)行elasticsearch-setup-passwords
命令了。
重新訪問es集群,輸入用戶名和密碼之后,就可以訪問到集群的信息了。
# 設(shè)置用戶名和密碼 elasticsearch.username: "kibana_system" elasticsearch.password: "123456"
該用戶名和密碼,是由上一步設(shè)置好的。
此時可以看到,我們的kibana就需要用戶名和密碼訪問了。
1、在es集群的生產(chǎn)模式中
,節(jié)點之間的通訊必須要使用TLS通訊,否則集群無法啟動。
2、配置集群以TLS通訊,還可以防止不受信任的節(jié)點加入es集群。
集群之間的服務(wù)發(fā)現(xiàn)不可是 single-node discovery 服務(wù)發(fā)現(xiàn)。
節(jié)點之間可以使用非回環(huán)地址加入集群。
# 生成證書 bin/elasticsearch-certutil ca
# --ca 指定證書的路徑 ./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
# 1、將證書拷貝到每個節(jié)點的 config 目錄下 mv elastic-certificates.p12 config # 2、修改elasticsearch.yml文件,增加如下配置 xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.client_authentication: required xpack.security.transport.ssl.keystore.path: elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
使用resource.reload.interval.high
參數(shù)配置,默認(rèn)是5s
。
import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.CredentialsProvider; import org.apache.http.impl.client.BasicCredentialsProvider; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestHighLevelClient; /** * @author huan.fu 2021/4/22 - 下午2:48 */ public class AbstractEsApi { protected final RestHighLevelClient client; public AbstractEsApi() { final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("elastic", "123456")); client = new RestHighLevelClient( RestClient.builder( new HttpHost("localhost", 9200, "http"), new HttpHost("localhost", 9201, "http"), new HttpHost("localhost", 9202, "http") ) .setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider)) ); } }
到此,相信大家對“如何實現(xiàn)elasticsearch基于RBAC認(rèn)證和集群之間的TLS通訊”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
新聞標(biāo)題:如何實現(xiàn)elasticsearch基于RBAC認(rèn)證和集群之間的TLS通訊
地址分享:http://jinyejixie.com/article32/jopgpc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、小程序開發(fā)、Google、手機(jī)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)