Elasticsearch创建安全账户

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.youkuaiyun.com/article/details/100548174

### Elasticsearch 8 安全认证配置教程 #### 启用安全特性 默认情况下,Elasticsearch安全功能可能未启用。为了启动这些功能,在 `elasticsearch.yml` 文件中设置如下参数来开启 X-Pack 安全插件: ```yaml xpack.security.enabled: true ``` 此操作确保启用了内置的安全机制[^1]。 #### 创建并编辑配置文件 通过命令行工具将正在运行的 Elasticsearch 实例中的配置文件拷贝至本地环境以便于修改: ```bash docker cp some-elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml /root/elasticsearch.yml ``` 之后可以使用文本编辑器打开 `/root/elasticsearch.yml` 进行必要的更改[^2]。 #### 设置用户名密码验证 对于基本的身份验证方式,需定义初始用户账户及其权限。这可以通过执行以下 shell 脚本来完成初始化过程: ```bash bin/elasticsearch-setup-passwords interactive ``` 上述脚本会引导用户为预设的角色(如 elastic, kibana_system 等)创建强口令[^3]。 #### 修改网络访问控制列表 (ACL) 调整 `elasticsearch.yml` 中有关主机名或 IP 地址的部分以适应实际部署场景的需求;例如指定允许连接的服务端点地址: ```yaml network.host: ["localhost", "your.server.ip"] ``` 同时建议添加区域化支持选项,比如设置语言环境为中国大陆标准: ```yaml i18n.locale: "zh-CN" ``` 以上步骤有助于提高系统的易用性和用户体验度。 #### 应用更新后的配置 当所有的自定义改动完成后,记得把修改过的配置重新上传回容器内部相应位置,并重启服务使新设定生效: ```bash docker cp /root/elasticsearch.yml some-elasticsearch:/usr/share/elasticsearch/config/ docker restart some-elasticsearch ``` 最后确认一切正常运作后即可投入使用新的安全策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IT三明治

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

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

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

打赏作者

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

抵扣说明:

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

余额充值