elasticsearch安全认证

发布于:2025-02-11 ⋅ 阅读:(72) ⋅ 点赞:(0)

最简单的安全认证

参考 https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-minimal-setup.html

在elasticsearch.yml中开启认证配置

xpack.security.enabled: true

为内建用户创建密码

./bin/elasticsearch-setup-passwords interactive

基础的安全认证

集群内通过TLS通信。

参考 https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-basic-setup.html

修改elasticsearch.yml配置文件

xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate 
xpack.security.transport.ssl.client_authentication: required
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

名词解析

User authentication: 用户身份验证

User authorization: 用户授权。

用户认证

参考 https://www.elastic.co/guide/en/elasticsearch/reference/7.17/setting-up-authentication.html

用户认证方案有很多,包括内建账号,服务账号,基于文件的用户认证等,这里介绍基于文件的用户认证。

基于文件的用户认证

参考 https://www.elastic.co/guide/en/elasticsearch/reference/7.17/file-realm.html

把users文件、users_roles文件放在config目录下。

如何产生users文件和users_roles文件?

参考https://www.elastic.co/guide/en/elasticsearch/reference/7.17/users-command.html#_synopsis_11

bin/elasticsearch-users
([useradd <username>] [-p <password>] [-r <roles>]) |
([list] <username>) |
([passwd <username>] [-p <password>]) |
([roles <username>] [-a <roles>] [-r <roles>]) |
([userdel <username>])

例如:

bin/elasticsearch-users useradd jacknich -p theshining -r network,monitoring

或者:

bin/elasticsearch-users useradd jacknich -p theshining -r superuser

有哪些角色参考https://www.elastic.co/guide/en/elasticsearch/reference/7.17/built-in-roles.html

superuser角色

超级用户
授予对集群的完全访问权限,包括所有索引和数据。具有超级用户角色的用户还可以管理用户和角色,
并模拟系统中的任何其他用户。由于此角色的许可性质,在将其分配给用户时要格外小心。

常见命令

删除用户jacknich:
bin/elasticsearch-users userdel jacknich 

网站公告

今日签到

点亮在社区的每一天
去签到