《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.1.Elastic Stack 安装部署——3.4.1.5.配置集群安全访问(4) https://developer.aliyun.com/article/1231351
我们只允许这个 employee_read role 访问 gender,state 及 email 字段,而且只有 read 权限。
运用我们刚才设置的 employee_read role,我们赋予给我们的 user1 用户:
设置好的用户界面为:
上面显示我们的 user1 具有 employ_read 的 role。
在我们的一个 terminal 里打入如下的命令:
curl -u user1:123456 "http://localhost:9200/employee/_search?pretty"
请注意:这里的 123456 是 user1 用户的密码。上面命令显示的结果为:
显然,user1 只能访问在 employee_read 中的三个字段。
案例2
我们想定义一个 role,这个 role 具有 read 的权限,并且只能访问 state 为 OR 的那些文档。我们做一下的设置:
我们创建了一个叫做 OR_state 的 role。它通过一个 query:
{"match": {"state.keyword":"OR"}}
来匹配项对应的文档。我们接着把这个 role 赋予给 liuxg 用户:
在我们设置完后,我们接着在一个 terminal 中打入如下的命令:
curl -u liuxg:123456 "http://localhost:9200/employee/_search?pretty"
显示的结果:
我们可以看出来这次的显示的结果只有一个,而且这个文档的 state 是 OR。
创作人简介:
刘晓国,现为 Elastic 社区资深布道师。新加坡国立大学硕士,西北工业大学本硕。曾就职于新加坡科技,康柏电脑,通用汽车,爱立信,诺基亚,Linaro非营利组织(Linux for ARM),
Ubuntu,LinkMotion,Vantiq等企业。从事过通信,电脑设计,计算机操作系统,物联网,汽车电子,云实时事件处理,大数据搜索等行业。从爱立信开始,到后来的诺基亚,Ubuntu从事社区工作有超过 15 年以上经历。喜欢分享自己所学到的知识,希望和大家一起分享及学习。
博客:https://elasticstack.blog.csdn.net/