在权限页面上,权限,集群权限集群:监视器/主被提及。但是,我找不到任何留档或关于此权限实际授予访问权限的信息。
我能找到的最少信息是它允许访问集群endpoint的根endpoint,并且endpoint可以显示集群版本和其他一般统计信息。至少根据以下帖子:讨论Elasticsearch。
我对该特定权限感兴趣的原因是,当使用Serilog使用C#登录到集群中的多个节点时,我遇到了问题。使用Serilog登录的应用程序会收到未经授权的异常,Elasticsearch集群会显示消息:“[集群:监视器/主]没有权限”。授予与Serilog一起使用的内部Elasticsearch用户集群:监视器/主权限可以解决问题。但我不知道权限开放的目的是什么,或者为什么进行日志记录的用户实际上甚至需要该权限。
所以问题归结为:
权限集群: itor/main有什么作用,为什么在Serilog中使用多节点集群时需要用户进行日志记录?
您说“它允许访问集群endpoint的根endpoint,并且endpoint可以显示集群版本和其他一般统计信息”是对的。
要进一步阐明操作正在执行什么,请查看此操作的逻辑:https://github.com/elastic/elasticsearch/blob/7.9/server/src/main/java/org/elasticsearch/action/main/TransportMainAction.java#L49
它只是获取集群状态。
ClusterState grousterState=grousterService. state();