Elasticsearch创建安全账户

12 篇文章 0 订阅
5 篇文章 0 订阅

1.在es节点上启用安全功能

在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

这里只考虑单节点,如果你有多个节点,则可以在群集中的每个节点上启用 Elasticsearch 安全功能,并为节点间通信配置传输层安全性(TLS)。
集群我们以后再配置。
重启es。

2.为内置用户创建密码

es内置用户用于特定的管理目的:apm_system,beats_system,elastic,kibana,logstash_system 和 remote_monitoring_user。
在使用它们之前,我们必须为它们设置密码。在 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]

如果喜欢随机密码,可以用以下方式创建

./bin/elasticsearch-setup-passwords auto

创建好可以用如下方式验证

curl -u elastic:pwd http://192.168.32.3:9200

或者

curl http://elastic:pwd@192.168.32.3:9200

3.查看内置用户和权限

用/_security/user接口可以查看所有的用户列表以及用户拥有的roles

4.为Kibana添加内置用户

启用es安全功能后,用户必须使用有效的账号登录Kibana.
Kibana还执行一些需要使用内置用户的任务
如果不介意在配置文件中显示密码,更新 Kibana 安装目录下的 config 子目录中的 kibana.yml文 件中的以下设置

[sandwich@centos-elk config]$ tail -n 2 kibana.yml 
elasticsearch.username: "kibana"
elasticsearch.password: "123456"

如果你不想你的用户id和密码放在kibana.yml文件中,请将它们存储在密钥库中。
运行以上命令创建Kibana密钥库并添加安全设置:

[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

上面三方式任选其中一种,对于我来说,生产环境一定是加密的那种

重启Kibana
重新打开Kibana,这时候需要输入es账号登录

5.创建用户

在前面我们已经使用内置用户elastic登录我们的Kibana。现在我们测试新建用户。
进入Stack Management/Security/Users页面

kibana用户信息,所以这里显示’Deprecated’是表示已经不建议使用这个保留用户了。
现在建议用kibana_system, 它们的权限是一样的,在以下接口得到印证

好了,题外话不多说了,选择‘Create User’

创建一个用户,但是先不分配权限试试

接着退出登录,用这个新用户登录试试

连登录都没有权限
添加kibana_admin role,使其可以访问Kibana的所有功能。

重新登录,一切正常。

参考文章:
https://elasticstack.blog.csdn.net/article/details/100548174

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT三明治

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值