权限设置可以通过命令,也可以通过kibana控制台,这边主要是讲控制台,注意,需要先开通x-pack
权限设置的方式也很容易理解,先建好角色,给角色赋权限,然后把角色分配给具体的用户,这样用户就具备权限了
目录
1.角色权限设置
比如我要建一个只限于test索引相关的管理权限。那么操作如下:
先建立一个test-admin的角色
注意:这里的选型需要回车确认
点击create role后再选择一个用户,分配角色roles就好了。
2.角色权限参数说明
上面角色创建页面中的选项说明:
2.1内置角色
Elastic Stack安全功能将默认角色应用于所有用户,包括 匿名用户。默认角色使用户能够访问身份验证端点,更改自己的密码以及获取有关自身的信息。
还有一组可以明确分配给用户的内置角色。这些角色具有一组固定的权限,无法更新。
apm_system
授予APM系统用户向Elasticsearch发送系统级数据(如监控)所需的访问权限。
beats_admin
授予对.management-beats
索引的访问权限,该索引包含Beats的配置信息。
beats_system
授予Beats系统用户向Elasticsearch发送系统级数据(如监控)所需的访问权限。
- 不应将此角色分配给用户,因为授予的权限可能会在不同版本之间更改。
- 此角色不提供对节拍索引的访问,也不适合将节拍输出写入Elasticsearch。
ingest_admin
授予访问权限以管理所有索引模板和所有摄取管道配置。
这个角色也没有提供用于创建指数的能力; 必须在单独的角色中定义这些权限。
kibana_dashboard_only_user
授予对Kibana仪表板的访问权限和对Kibana的只读权限。此角色无权访问Kibana中的编辑工具。有关更多信息,请参阅 仅限Kibana仪表板模式。
kibana_system
授予Kibana系统用户读取和写入Kibana索引,管理索引模板以及检查Elasticsearch集群可用性所需的访问权限。此角色授予对.monitoring-*
索引的读访问权以及对索引的读写访问权.reporting-*
。有关更多信息,请参阅 在Kibana中配置安全性。
不应将此角色分配给用户,因为授予的权限可能会在不同版本之间更改。
kibana_user
授予Kibana用户所需的权限。此角色授予对Kibana的访问权限并授予群集的监视权限。
logstash_admin
授予对.logstash*
索引的访问权限以管理配置。
logstash_system
授予Logstash系统用户向Elasticsearch发送系统级数据(如监控)所需的访问权限。有关更多信息,请参阅 在Logstash中配置安全性。
- 不应将此角色分配给用户,因为授予的权限可能会在不同版本之间更改。
- 此角色不提供对logstash索引的访问,也不适合在Logstash管道中使用。
machine_learning_admin
授予manage_ml
群集权限和对.ml-*
索引的读访问权限。
machine_learning_user
授予查看机器学习配置,状态和结果所需的最低权限。此角色授予monitor_ml
集群特权以及对存储机器学习结果的.ml-notifications
和.ml-anomalies*
索引的读取访问权限。
monitoring_user
授予X-Pack监控用户所需的最低权限,而不是使用Kibana所需的权限。此角色授予对监视索引的访问权限,并授予读取基本群集信息所需的权限。还应为监视用户分配kibana_user
角色。
remote_monitoring_agent
授予将数据写入监视索引(.monitoring-*
)所需的最小权限。此角色还具有创建Metricbeat索引(metricbeat-*
)并将数据写入其中所需的特权。
remote_monitoring_collector
授予收集Elastic Stack监控数据所需的最低权限。
reporting_user
授予X-Pack报告用户所需的特定权限,而不是使用Kibana所需的权限。该角色授予访问报告索引的权限; 每个用户只能访问自己的报告。还应为报告用户分配kibana_user
角色和角色,以授予他们访问将用于生成报告的数据的权限。
superuser
授予对群集的完全访问权限,包括所有索引和数据。具有该superuser
角色的用户还可以管理用户和角色,并 模拟系统中的任何其他用户。由于此角色具有许可性质,因此在将其分配给用户时要格外小心。
transport_client
通过Java传输客户端授予访问群集所需的权限。Java传输客户端使用节点活动API和群集状态API(启用嗅探时)获取有关群集中节点的信息。如果用户使用传输客户端,则为其分配此角色。
有效地使用传输客户端意味着授予用户访问群集状态的权限。这意味着用户可以查看所有索引,索引模板,映射,节点以及基本上有关群集的所有内容的元数据。但是,此角色不授予查看所有索引中数据的权限。
watcher_admin
授予对.watches
索引的读访问权限,读取对监视历史记录的访问权限以及触发的监视索引,并允许执行所有观察者操作。
watcher_user
授予对.watches
索引的读访问权限,获取监视操作和观察者统计信息。
2.2 Cluster privileges
| 所有群集管理操作,如快照,节点关闭/重新启动,设置更新,重新路由或管理用户和角色。 |
| 构建 |
| 所有跨群集复制操作都与管理跟随者索引和自动跟随模式有关。它还包括授予管理跟随者索引和自动跟踪模式所必需的权限的权限。仅在包含跟随者索引的群集上才需要此权限。 |
| 索引模板上的所有操作。 |
| 对摄取节点管道的所有操作。 |
| 所有机器学习操作,例如创建和删除数据馈送,作业和模型快照。
在6.2版之前创建或在禁用安全功能时创建的数据馈送作为具有提升权限的系统用户运行,包括读取所有索引的权限。较新的数据馈送使用创建或更新它们的用户的安全角色运行。 |
| 摄取管道的所有操作。 |
| 所有汇总操作,包括创建,启动,停止和删除汇总作业。 |
| 允许使用内部Elasticsearch API代表其他用户启动和管理SAML身份验证。 |
| 所有与安全相关的操作,例如对用户和角色的CRUD操作以及缓存清除。 |
| 所有观察者操作,例如放置手表,执行,激活或确认。
在6.1版之前创建或在禁用安全功能时创建的监视作为具有提升权限的系统用户运行,包括读取和写入所有索引的权限。较新的手表使用创建或更新它们的用户的安全角色运行。 |
| 所有群集只读操作,如群集运行状况和状态,热线程,节点信息,节点和群集统计信息以及挂起的群集任务。 |
| 所有只读机器学习操作,例如获取有关数据馈送,作业,模型快照或结果的信息。 |
| 所有只读汇总操作,例如查看历史和当前运行的汇总作业列表及其功能。 |
| 所有只读观察者操作,例如获取手表和观察者统计数据。 |
| 所有只读的跨群集复制操作,例如获取有关群集中的leader索引的索引和元数据的信息。它还包括检查用户是否具有遵循领导者索引的适当权限的权限。仅在包含领导者索引的群集上才需要此权限。 |
| 传输客户端连接所需的所有权限。远程群集需要启用跨群集搜索。 |
2.3. 索引权限
| 对索引的任何操作 |
| 索引文档的权限。还授予对更新映射操作的访问权限。
此权限不会将索引操作限制为创建文档,而是将API使用限制为索引API。索引API允许用户覆盖先前索引的文档。 |
| 创建索引的权限。创建索引请求可能包含一旦创建就添加到索引的别名。在这种情况下,请求 |
| 删除文档的权限。 |
| 删除索引的权限。 |
| 索引和更新文档的权限。还授予对更新映射操作的访问权限。 |
| 所有 |
| 管理跟随者索引生命周期所需的所有操作,包括创建跟随者索引,关闭它并将其转换为常规索引。仅在包含跟随者索引的群集上才需要此权限。 |
| 监控所需的所有操作(恢复,分段信息,索引统计信息和状态)。 |
| 只读访问操作(计数,解释,获取,mget,获取索引脚本,更像这样,多渗透/搜索/ termvector,percolate,滚动,clear_scroll,搜索,建议,电视)。 |
| 对来自远程群集的搜索操作的只读访问权限。 |
| 对索引元数据的只读访问(别名,存在别名,获取索引,存在,字段映射,映射,搜索分片,类型存在,验证,加热器,设置)。此权限主要供Kibana用户使用。 |
| 对文档执行所有写入操作的权限,包括索引,更新和删除文档以及执行批量操作的权限。还授予对更新映射操作的访问权限。 |
参考资料:https://www.elastic.co/guide/en/elastic-stack-overview/6.5/built-in-roles.html