我想从 ES 读取数据,但不想意外向其中写入数据(无索引操作)。这只是一种安全措施,以便以后修改查询函数的其他人不允许插入数据。
当你说你想要只读客户端时。客户端强调您系统中的同一集群可能有其他客户端。然后阻止整个索引为只读将会阻止所有客户端的此操作。您必须有一个在集群中写入/更新数据的作业。
如果这是您的用例,请将客户端视为 elasticsearch 用户,每个用户对您的集群具有不同的访问策略。
弹性搜索提供屏蔽插件 https://www.elastic.co/guide/en/shield/current/getting-started.html用于实现客户端身份验证和授权。
您可以在配置文件中创建多个具有不同访问策略的 ES 用户。
bin/shield/esusers useradd es_admin -r admin
使用角色 api 创建角色并将每个用户分配给每个角色。
POST /_shield/role/my_admin_role
{
"cluster": ["all"],
"indices": [
{
"names": [ "index1", "index2" ],
"privileges": ["read"]
}
],
"run_as": [ "other_user" ]
}
你还可以配置Nginx 反向代理 https://www.elastic.co/blog/playing-http-tricks-nginx如果你想远离shield,请在es集群之前为用户管理授权。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)