Elasticsearch只读用户

我想向集群添加一个只读用户,我的应用程序的所有索引都以myapp_作为前缀。在https://www.elastic.co/blog/user-impersonation-with-x-pack-integrating-third-party-auth-with-kibana之后(对于此上唯一实际可用的博客文章,这是一个奇怪的标题...),我首先在curl -XPOST '$ELASTIC_URL:9200/_xpack/security/role/name_of_readonly_role' -H 'Content-Type: application/json' -d'{"indices":[{"names":"myapp_*","privileges":["read"]}]}'中添加了一个角色,然后将其添加到用户curl -XPOST $ELASTIC_URL:9200/_xpack/security/user/name_of_user -H 'Content-Type: application/json' -d'{"roles":["name_of_readonly_role"],"password":"some_password"}'中,但是当打开$ELASTIC_URL:9200我得到

action [cluster:monitor/main] is unauthorized for user

下一步是什么?

topten800 回答:Elasticsearch只读用户

据我所知,没有足够的示例,要解决此问题,必须使用-d'{"cluster":["monitor"],"indices":[{"names":"myapp_*","privileges":["read"]}]}'重新运行role命令(相同的curl命令可用于创建或更新角色)。这似乎泄漏了所有索引的名称,但除了它们的名称外,其他都没有,我对此表示满意。甚至对于某些应用程序(例如ElasticSearch Head浏览器扩展程序)来说似乎还不够,我还需要添加索引级别监视器特权:-d'{"cluster":["monitor"],"privileges":["read","monitor"]}]}'。角色更改会自动应用到用户。

我仍然不知道错误消息中的“ / main”是什么意思,但这是可行的。

本文链接:https://www.f2er.com/3162340.html

大家都在问