认证过程由realm服务进行处理。


realm:基于authentication tokens解析和认证用户。

安全功能提供了如下realms: Native user authentication  ,file,ad,pki,ldap,saml,kerberos,oidc


当配置了安全认证,基于配置的realm,当向es发送请求时,需要附加认证信息。

例如,当使用用户名/密码认证时,可以在请求中附加basic auth认证信息。


内建用户

用户名说明
elastic内建超级用户
kibana_systemkibana用来于es连接和通讯的用户
logstash_systemlogstash用来存储监控信息到es中
beats_systembeats用来存储监控信息到es中
apm_systemapm用来存储监控信息到es中
remote_monitoring_usermetricbeat用来收集和存储es的信息。内置具有remote_monitoring_agent和remote_monitoring_collector角色


非明确需要,不要使用内建用户。

内建用户是存在.security index中的,由es自己管理。如果内建用户被禁用、更改密码,变更会自动在集群的每个节点上应用。

内建用户可以由 disable users api 来禁用。


es启动时会有一个默认的启动密码,但是不需要关心它。如果设置了bootstrap.password,启动密码将被覆盖。


必须为所有内建用户设置密码。

使用elasticsearch-setup-passwords工具来进行设置,设置过程会用到elastic用户的启动密码。

使用该工具时,可以选择互动模式。

bin/elasticsearch-setup-passwords interactive

一旦设置了elastic用户的密码,启动密码不再有效。elasticsearch-setup-passwords只能运行一次。



基于Token的认证服务

token-service

使用get token api生成token。默认情况下,20分钟后过期,最大可设置为1小时后过期。

api-key-service

使用create api key api生成api keys,默认情况api key是不会过期的。当生成的时候也可以指定过期时间和权限。





  • No labels