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索引的所有权限。

  1. 首先用elastic用户登录kibana,它的角色是superuser,相当于MySQL中的root用户。

  2. 在kibana中找到“角色”面板:

  3. 创建一个名为book_user的角色,然后配置这个角色拥有对book索引的所有权限:

  4. 进入“用户”面板,并创建一个名为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来查看所有索引信息。

posted @ 2021-01-25 21:08  ralgo  阅读(275)  评论(0)    收藏  举报