1.在es節(jié)點上啟用安全功能
在es配置路徑/elasticsearch-7.17.1/config下的elasticsearch.yml添加如下兩行
[sandwich@centos-elk config]$ tail -n 2 elasticsearch.yml
xpack.security.enabled: true
discovery.type: single-node
這里只考慮單節(jié)點锭沟,如果你有多個節(jié)點蜜猾,則可以在群集中的每個節(jié)點上啟用 Elasticsearch 安全功能斗忌,并為節(jié)點間通信配置傳輸層安全性(TLS)隧枫。
集群我們以后再配置肌似。
重啟es菩帝。
2.為內(nèi)置用戶創(chuàng)建密碼
es內(nèi)置用戶用于特定的管理目的:apm_system过蹂,beats_system纠吴,elastic硬鞍,kibana,logstash_system 和 remote_monitoring_user戴已。
在使用它們之前固该,我們必須為它們設(shè)置密碼。在 Elasticsearch 的目錄里安裝打入如下的命令:
[sandwich@centos-elk bin]$ ./elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y
Enter password for [elastic]:
Reenter password for [elastic]:
Enter password for [apm_system]:
Reenter password for [apm_system]:
Enter password for [kibana_system]:
Reenter password for [kibana_system]:
Enter password for [logstash_system]:
Reenter password for [logstash_system]:
Enter password for [beats_system]:
Reenter password for [beats_system]:
Enter password for [remote_monitoring_user]:
Reenter password for [remote_monitoring_user]:
Changed password for user [apm_system]
Changed password for user [kibana_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]
如果喜歡隨機密碼糖儡,可以用以下方式創(chuàng)建
./bin/elasticsearch-setup-passwords auto
創(chuàng)建好可以用如下方式驗證
curl -u elastic:pwd http://192.168.32.3:9200
或者
3.查看內(nèi)置用戶和權(quán)限
用/_security/user接口可以查看所有的用戶列表以及用戶擁有的roles
4.為Kibana添加內(nèi)置用戶
啟用es安全功能后伐坏,用戶必須使用有效的賬號登錄Kibana.
Kibana還執(zhí)行一些需要使用內(nèi)置用戶的任務(wù)
如果不介意在配置文件中顯示密碼,更新 Kibana 安裝目錄下的 config 子目錄中的 kibana.yml文 件中的以下設(shè)置
[sandwich@centos-elk config]$ tail -n 2 kibana.yml
elasticsearch.username: "kibana"
elasticsearch.password: "123456"
如果你不想你的用戶id和密碼放在kibana.yml文件中握联,請將它們存儲在密鑰庫中桦沉。
運行以上命令創(chuàng)建Kibana密鑰庫并添加安全設(shè)置:
[sandwich@centos-elk bin]$ ./kibana-keystore create
Created Kibana keystore in /home/sandwich/app/elk/kibana-7.17.1-linux-x86_64/config/kibana.keystore
[sandwich@centos-elk bin]$ ./kibana-keystore add elasticsearch.username
Enter value for elasticsearch.username: ******
[sandwich@centos-elk bin]$ ./kibana-keystore add elasticsearch.password
Enter value for elasticsearch.password: ******
也可以在啟動Kibana帶上賬戶信息每瞒,如下
./bin/kibana --elasticsearch.hosts="http://localhost:9200" --elasticsearch.username=kibana --elasticsearch.password=123456
上面三方式任選其中一種,對于我來說纯露,生產(chǎn)環(huán)境一定是加密的那種
重啟Kibana
重新打開Kibana剿骨,這時候需要輸入es賬號登錄
5.創(chuàng)建用戶
在前面我們已經(jīng)使用內(nèi)置用戶elastic登錄我們的Kibana。現(xiàn)在我們測試新建用戶埠褪。
進入Stack Management/Security/Users頁面
kibana用戶信息浓利,所以這里顯示'Deprecated'是表示已經(jīng)不建議使用這個保留用戶了。
現(xiàn)在建議用kibana_system, 它們的權(quán)限是一樣的组橄,在以下接口得到印證
好了荞膘,題外話不多說了,選擇‘Create User’
創(chuàng)建一個用戶玉工,但是先不分配權(quán)限試試
接著退出登錄羽资,用這個新用戶登錄試試
連登錄都沒有權(quán)限
添加kibana_admin role,使其可以訪問Kibana的所有功能遵班。
重新登錄屠升,一切正常。
參考文章:
https://elasticstack.blog.csdn.net/article/details/100548174