1、安装文档:https://www.elastic.co/cn/blog/security-for-elasticsearch-is-now-free
安装完成效果图
2、用户介绍(官方文档:https://www.elastic.co/guide/en/elastic-stack-overview/7.3/built-in-users.html)
Elastic Stack安全功能提供内置的用户凭证,以帮助您启动和运行。这些用户具有一组固定的特权,只有在设置了密码后才能进行身份验证。该elastic用户可以用来设置所有内置的用户密码。
elastic
内置的超级用户。请参阅内置角色。
kibana
用户Kibana用于连接Elasticsearch并与之通信。
logstash_system
Logstash用户在将监控信息存储在Elasticsearch中时使用。
beats_system
Beats在Elasticsearch中存储监视信息时使用的用户。
apm_system
APM服务器在Elasticsearch中存储监视信息时使用的用户。
remote_monitoring_user
Metricbeat用户在Elasticsearch中收集和存储监视信息时使用。它具有remote_monitoring_agent和 remote_monitoring_collector内置角色。
3、内置角色介绍
Elastic Stack安全功能将默认角色应用于所有用户,包括 匿名用户。默认角色使用户可以访问身份验证端点,更改自己的密码并获取有关自己的信息。 您还可以显式分配给用户一组内置角色。这些角色具有一组固定的特权,无法更新。 apm_system 授予APM系统用户将系统级数据(例如监视)发送到Elasticsearch所需的访问权限。
apm_user 授予对于APM用户(如所需的权限read和 view_index_metadata特权的apm-*和.ml-anomalies*指数)。
beats_admin 授予对.management-beats索引的访问权限,该索引包含Beats的配置信息。
beats_system 授予Beats系统用户将系统级数据(例如监视)发送到Elasticsearch所需的访问权限。 注意: 不应将此角色分配给用户,因为授予的权限可能会在版本之间发生变化。
该角色不提供对节拍索引的访问,并且不适合将节拍输出写入Elasticsearch。
data_frame_transforms_admin 授予manage_data_frame_transforms群集特权,使您可以管理转换。该角色还包括针对机器学习功能的所有 Kibana特权。
data_frame_transforms_user 授予monitor_data_fram_transforms群集特权,使您可以使用转换。该角色还包括针对机器学习功能的所有 Kibana特权。
ingest_admin 授予访问权限以管理所有索引模板和所有接收管道配置。 注意:这个角色也没有提供用于创建指数的能力; 这些特权必须在单独的角色中定义。 kibana_dashboard_only_user 授予对Kibana仪表板的访问权限和对Kibana的只读权限。该角色无权使用Kibana中的编辑工具。有关更多信息,请参阅 仅Kibana仪表板模式。
kibana_system 授予Kibana系统用户读取和写入Kibana索引,管理索引模板和令牌以及检查Elasticsearch集群可用性所必需的访问权限。该角色授予对.monitoring-*索引的读取访问权限以及对索引的读写访问权限.reporting-*。有关更多信息,请参阅在Kibana中配置安全性。 注意:不应将此角色分配给用户,因为授予的权限可能会在版本之间发生变化。
kibana_user 授予访问Kibana中所有功能的权限。有关Kibana授权的更多信息,请参见Kibana授权。
logstash_admin 授予访问.logstash*索引以管理配置的权限。
logstash_system 授予Logstash系统用户将系统级数据(例如监视)发送到Elasticsearch所需的访问权限。有关更多信息,请参见 在Logstash中配置安全性。 注意:不应将此角色分配给用户,因为授予的权限可能会在版本之间发生变化。 该角色不提供对logstash索引的访问,因此不适合在Logstash管道内使用。
machine_learning_admin 资助manage_ml集群权限,读取访问.ml-anomalies*, .ml-notifications*,.ml-state*,.ml-meta*指数和写入访问 .ml-annotations*索引。该角色还包括针对机器学习功能的所有 Kibana特权。
machine_learning_user 授予查看机器学习配置,状态和处理结果所需的最低特权。该角色授予monitor_ml集群特权,对.ml-notifications和.ml-anomalies*索引的读取访问权限(存储机器学习结果)以及对.ml-annotations*索引的写入访问权限。该角色还包括针对机器学习功能的所有Kibana特权。
monitoring_user 授予除使用Kibana所需的X-Pack监视用户所需的最低特权。该角色授予对监视索引的访问权限,并授予读取基本群集信息所必需的特权。该角色还包括弹性堆栈监视功能的所有Kibana特权。还应该为监视用户分配kibana_user角色。
remote_monitoring_agent 授予将数据写入监视索引(.monitoring-*)所需的最低特权。该角色还具有创建Metricbeat索引(metricbeat-*)并将数据写入其中所需的特权。
remote_monitoring_collector 授予收集弹性堆栈的监视数据所需的最低特权。
reporting_user 授予X-Pack报告用户所需的特定特权,而不是使用Kibana所需的特权。该角色授予访问报告索引的权限;每个用户只能访问自己的报告。还应为报告用户分配一个kibana_user角色和一个角色,以授予他们访问将用于生成报告的数据的权限。
snapshot_user 授予必要的特权,以创建所有索引的快照并查看其元数据。该角色使用户可以查看现有快照存储库的配置和快照详细信息。它不授予删除或添加存储库或还原快照的权限。它还不允许更改索引设置或读取或更新索引数据。
superuser 授予对群集的完全访问权限,包括所有索引和数据。具有superuser角色的用户还可以管理用户和角色,并 模拟系统中的任何其他用户。由于此角色的允许性质,在将其分配给用户时要格外小心。
transport_client 授予通过Java Transport Client访问集群所需的特权。Java Transport Client使用Node Liveness API和Cluster State API(在启用嗅探功能时)获取有关集群中节点的信息。如果用户使用传输客户端,请为其分配此角色。 注意 有效使用传输客户端意味着授予用户访问群集状态的权限。这意味着用户可以查看所有索引,索引模板,映射,节点以及基本上与集群有关的所有内容的元数据。但是,此角色未授予查看所有索引中的数据的权限。 watcher_admin 授予对.watches索引的读取访问权限,对监视历史记录和触发的监视索引的读取访问权限,并允许执行所有监视程序操作。
watcher_user 授予对.watches索引,获取监视操作和监视者统计信息的读取权限。
4、演示(创建一个能查看所有索引日志的只读权限,包括仪盘,只提供查看功能)
(1)创建角色
(2)创建用户
(3)登陆查看(ok完成)