0

在OpenDistro的Permissions页面Permissions中,提到了集群权限cluster:monitor/main。但是,我一直无法找到有关此权限实际授予访问权限的任何文档或信息。

我能找到的最少信息是它可以访问集群端点的根端点,并且端点可以显示集群版本和其他一般统计信息等内容。至少根据以下帖子:讨论 Elasticsearch

我对该特定权限感兴趣的原因是,我在使用Serilog使用 C# 登录到集群中的多个节点时遇到了问题。使用 Serilog 记录的应用程序收到未经授权的异常,Elasticsearch 集群显示消息:“[cluster:monitor/main] 没有权限”。授予与 Serilog 一起使用的内部 Elasticsearch 用户,cluster:monitor/main权限解决了这个问题。但是我不知道该权限的用途,或者为什么进行日志记录的用户实际上甚至需要该权限才能开始。

所以问题归结为:

权限 cluster:monitor/main 有什么作用,为什么在使用带有 Serilog 的多节点集群时用户进行日志记录需要它?

4

1 回答 1

0

当您说“它可以访问集群端点的根端点,并且端点可以显示集群版本和其他一般统计信息之类的东西”时,您是对的。

要进一步阐明操作正在执行什么,请查看此操作的逻辑: https ://github.com/elastic/elasticsearch/blob/7.9/server/src/main/java/org/elasticsearch/action/main/TransportMainAction .java#L49

它只是获取集群状态。

ClusterState clusterState = clusterService.state();

于 2021-04-09T17:03:44.310 回答