Elasticsearch(二)安全
入门操作
设置built-in用户的密码
默认情况下,连接ES是不需要用户名密码的,但如果要增加此功能可以在命令行中修改默认密码:
首先修改conf/elasticsearch.yml,添加下面语句:
xpack.security.enabled: true
重启ES
然后在CMD中执行:
elasticsearch-setup-passwords interactive
然后设置各个账号的密码,有点多,要耐心:
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]
接下来是修改kibana的配置conf/kibana.yml
添加下面两行到配置中:
elasticsearch.username: "kibana_system"
elasticsearch.password: "you password"
重启kibana,在地址栏输入http://localhost:5601然后回车,会出现一个登录页面:

输入用户名elastic,密码是你刚刚为elastic用户设置的密码。
创建用户
我们假设有一个book索引存在,现在需要一个book_user来对接这个索引,该用户拥有针对book索引的所有权限。
-
首先用elastic用户登录kibana,它的角色是superuser,相当于MySQL中的root用户。
-
在kibana中找到“角色”面板:
![]()
-
创建一个名为book_user的角色,然后配置这个角色拥有对book索引的所有权限:
![]()
-
进入“用户”面板,并创建一个名为book_user的用户:
![]()
注意,book_user除了拥有book_user角色外,还有kibana_admin,这角色是让book_user用户也能登录到kibana并使用kibana。另外两个角色remote_monitoring_agent和remote_monitoring_collector是让book_user用户看得到集群的元数据和统计数据,比如book_user可以用GET /_cat/indices来查看所有索引信息。




浙公网安备 33010602011771号