如何解决OpenDistro / Elasticsearch群集权限cluster:monitor / main的目的是什么?
在OpenDistro的 Permissions 页面上,Permissions提到了群集权限 cluster:monitor / main 。但是,我找不到任何有关此权限实际上允许访问的文档或信息。
我能够找到的最少信息量是,它可以访问 cluster 端点的根端点,并且该端点可以显示诸如群集版本和其他常规统计信息之类的信息。至少根据以下帖子:Discuss Elasticsearch。
我对该特定权限感兴趣的原因是,在使用 Serilog 使用C#登录群集中的多个节点时遇到了问题。使用Serilog记录的应用程序会收到未经授权的异常,Elasticsearch群集会显示以下消息:“ [cluster:monitor / main]无权限” 。授予与Serilog一起使用的内部Elasticsearch用户, cluster:monitor / main 权限可以解决此问题。但是我不知道该权限的用途是什么,或者为什么记录用户实际上实际上甚至需要该权限。
所以问题归结为:
权限cluster:monitor / main的作用是什么,为什么在使用带有Serilog的多节点群集时用户进行日志记录是必需的?
解决方法
您说得对,“它可以访问集群端点的根端点,并且端点可以显示集群版本和其他常规统计信息”。
为了进一步阐明操作正在执行的操作,请查看此操作的逻辑: https://github.com/elastic/elasticsearch/blob/7.9/server/src/main/java/org/elasticsearch/action/main/TransportMainAction.java#L49
它只是获取集群状态。
ClusterState clusterState = clusterService.state();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。