成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何實現(xiàn)elasticsearch基于RBAC認(rèn)證和集群之間的TLS通訊

本篇內(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通訊。

三、給es增加用戶名和密碼訪問

1、修改config/elasticsearch.yml

# 1、修改 ES_HOME/config/elasticsearch.yml
# 增加如下配置
vim config/elasticsearch.yml
xpack.security.enabled: true

2、訪問es集群

如何實現(xiàn)elasticsearch基于RBAC認(rèn)證和集群之間的TLS通訊 > 此時可以看到訪問es集群就需要用戶名和密碼了,那么我們這個用戶名和密碼從哪里獲取呢?

3、啟用es集群內(nèi)建的用戶

1、讓es自動設(shè)置初始化密碼

./bin/elasticsearch-setup-passwords auto

如果執(zhí)行上面這個語句,那么es會自動設(shè)置密碼,我們需要自己把這個密碼保存下來。

2、自動手動設(shè)置密碼

./bin/elasticsearch-setup-passwords interactive

如何實現(xiàn)elasticsearch基于RBAC認(rèn)證和集群之間的TLS通訊

此處為了簡單,將每個用戶的用戶名和密碼都設(shè)置成 123456,生產(chǎn)環(huán)境需要設(shè)置成一個復(fù)雜的接口。

注意??:

當(dāng)我們設(shè)置了elastic用戶的密碼后,就不可在執(zhí)行elasticsearch-setup-passwords命令了。

3、重新訪問es,輸入用戶名和密碼

如何實現(xiàn)elasticsearch基于RBAC認(rèn)證和集群之間的TLS通訊 重新訪問es集群,輸入用戶名和密碼之后,就可以訪問到集群的信息了。

四、kibana連接到es集群

1、設(shè)置kibana的用戶名和密碼

# 設(shè)置用戶名和密碼
elasticsearch.username: "kibana_system"
elasticsearch.password: "123456"

該用戶名和密碼,是由上一步設(shè)置好的。

2、訪問kibana

如何實現(xiàn)elasticsearch基于RBAC認(rèn)證和集群之間的TLS通訊 此時可以看到,我們的kibana就需要用戶名和密碼訪問了。

3、通過kibana創(chuàng)建用戶和角色

如何實現(xiàn)elasticsearch基于RBAC認(rèn)證和集群之間的TLS通訊

五、配置es集群之間的TLS通訊

1、在es集群的生產(chǎn)模式中,節(jié)點之間的通訊必須要使用TLS通訊,否則集群無法啟動。

2、配置集群以TLS通訊,還可以防止不受信任的節(jié)點加入es集群。

如何實現(xiàn)elasticsearch基于RBAC認(rèn)證和集群之間的TLS通訊

1、何為es的生產(chǎn)模式

  1. 集群之間的服務(wù)發(fā)現(xiàn)不可是 single-node discovery 服務(wù)發(fā)現(xiàn)。

  2. 節(jié)點之間可以使用非回環(huán)地址加入集群。

2、配置步驟

1、生成證書(CA)

# 生成證書
bin/elasticsearch-certutil ca

如何實現(xiàn)elasticsearch基于RBAC認(rèn)證和集群之間的TLS通訊

2、為每個節(jié)點簽發(fā)證書

# --ca 指定證書的路徑
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

如何實現(xiàn)elasticsearch基于RBAC認(rèn)證和集群之間的TLS通訊

3、查看證書的生成路徑

如何實現(xiàn)elasticsearch基于RBAC認(rèn)證和集群之間的TLS通訊

4、為集群中的每個節(jié)點配置證書

# 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

5、重啟es集群

如何實現(xiàn)elasticsearch基于RBAC認(rèn)證和集群之間的TLS通訊

6、重新加載集群的證書、密鑰等信息

如何實現(xiàn)elasticsearch基于RBAC認(rèn)證和集群之間的TLS通訊

使用resource.reload.interval.high參數(shù)配置,默認(rèn)是5s。

六、java client中basic認(rèn)證的寫法

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)

成都app開發(fā)公司
东辽县| 高要市| 普定县| 东乌珠穆沁旗| 科技| 广昌县| 湘潭县| 治多县| 铁岭市| 盐城市| 乌拉特中旗| 高青县| 宁海县| 阿荣旗| 叙永县| 保山市| 淮南市| 阜平县| 德钦县| 泰州市| 大荔县| 山东省| 普定县| 界首市| 青川县| 石楼县| 福泉市| 镇巴县| 兴化市| 柘荣县| 龙里县| 墨玉县| 怀来县| 庄河市| 惠来县| 新和县| 天柱县| 库车县| 沐川县| 上蔡县| 厦门市|