項(xiàng)目場景:
有時(shí)候我們也需要給ES設(shè)置賬號密碼,避免別人使用自己的ES操作,以保證自己的ES的數(shù)據(jù)安全
前言:
ES版本
我用的是Elasticsearch示例版本:7.8.0
ES自帶的X-Pack密碼驗(yàn)證
在ES版本7.0之后,默認(rèn)的情況下,安裝了ES,都會默認(rèn)下載了X-Pack,不再需要自己獨(dú)自下載,
X-Pack是elasticsearch的一個(gè)擴(kuò)展包,將安全,警告,監(jiān)視,圖形和報(bào)告功能捆綁在一個(gè)易于安裝的軟件包中,所以我們想要開啟賬號密碼驗(yàn)證,就需要開啟X-Pack密碼校驗(yàn)。
解決步驟:
1、修改配置
先進(jìn)入es的config里,找到elasticsearch.yml?
在elasticsearch.yml 追加三句配置:?
##開啟X-Pack密碼驗(yàn)證
xpack.security.enabled: true
## 加密方式
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
2、重啟es
然后需要重啟es,使配置生效(若是使用docker安裝ES的請忽略這一步驟,自己使用docker重啟一下es)
(1)先查看es服務(wù):
ps -ef | grep elastic
(2)再根據(jù)進(jìn)程號殺死es進(jìn)程:
kill -9 23035
? ?(3)?再查看es進(jìn)程是否存在:
ps -ef | grep elastic
? ? (4)?es已經(jīng)停止后,再轉(zhuǎn)換到es用戶(自己之前安裝es的時(shí)候新創(chuàng)建的用戶):
su es
? ? ?(5)?再進(jìn)到es的bin目錄,后臺運(yùn)行:
bin/elasticsearch -d
3、設(shè)置賬號密碼
進(jìn)入es的bin目錄下執(zhí)行下面語句:
./elasticsearch-setup-passwords interactive
?這里要設(shè)置6個(gè)賬號和密碼,包括elasticsearch、kibana等
4、使用賬號密碼登錄
(1)如果是使用瀏覽器登錄es或者kibana,就需要在彈窗輸入賬號密碼
(2)使用java代碼連接
/**
* es的連接客戶端(賬號默認(rèn)是elastic)
* @return
*/
@Bean
public RestHighLevelClient restHighLevelClient() {
//es驗(yàn)證賬號密碼
final CredentialsProvider provider = new BasicCredentialsProvider();
//填寫賬號密碼
provider.setCredentials(AuthScope.ANY,
new UsernamePasswordCredentials("elastic", "123456"));
return new RestHighLevelClient(
RestClient.builder(new HttpHost("47.113.201.128", 9200, "http"))
.setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
httpClientBuilder.disableAuthCaching();
return httpClientBuilder.setDefaultCredentialsProvider(provider);
}
})
.setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() {
@Override
public RequestConfig.Builder customizeRequestConfig(
RequestConfig.Builder requestConfigBuilder) {
return requestConfigBuilder.setConnectTimeout(5000 * 1000) // 連接超時(shí)(默認(rèn)為1秒)
.setSocketTimeout(6000 * 1000);// 套接字超時(shí)(默認(rèn)為30秒)
}
}));
}
5、若想關(guān)閉x-pack密碼驗(yàn)證
先進(jìn)入es的config里,找到elasticsearch.yml:
xpack.security.enabled: false
6、修改密碼
在虛擬機(jī)或者服務(wù)器輸入
curl -H "Content-Type:application/json" -XPOST -u elastic 'http://192.168.157.132:9200/_xpack/security/user/用戶名/_password' -d '{ "password" : "修改后的密碼" }'
如:
curl -H "Content-Type:application/json" -XPOST -u elastic 'http://192.168.157.132:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "12345678" }'
文章來源:http://www.zghlxwxcb.cn/news/detail-416423.html
?這時(shí)候會要你輸入原來的密碼,輸入正確后就會自動修改這時(shí)候會要你輸入原來的密碼,輸入正確后就會自動修改這時(shí)候會要你輸入原來的密碼,輸入正確后就會自動修改的文章來源地址http://www.zghlxwxcb.cn/news/detail-416423.html
到了這里,關(guān)于ES常見問題(2)-ElasticSearch怎么樣設(shè)置賬號密碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!