在' kibana'我们可以限制特定用户访问特定索引。例如用户' A'只能访问'日志 - *'指数。
我想知道如何为文档级别而不是索引级别实现此类访问的方式。
我搜索了很多,但我没有获得任何文档级授权的解决方案。能帮到我吗?
答案 0 :(得分:0)
我不确定它是否有效,但你可以尝试一下。在roles.yml中,创建特定于文档级授权的不同角色。例如,
roleA:
'.kibana':
indices: 'indexA'
privileges: read
fields:
- fieldA
- fieldB
在rolemapping.yml中,将经过身份验证的用户映射到此相应角色。然后,只有选定的字段才能从弹性搜索中应用于Kibana。
试试这个选项。
答案 1 :(得分:0)
usr/share/elasticsearch/bin/shield ./esusers useradd user1 -p userpass -r rolename
之后
在/etc/elasticsearch/shield/roles.yml
中添加角色rolename:
cluster:
- cluster:monitor/nodes/info
- cluster:monitor/health
indices:
'logs*':
privileges: indices:admin/mappings/fields/get, indices:admin/validate/query, indices:data/read/search, indices:data/read/msearch, indices:data/read/field_stats, indices:admin/get
'.kibana':
privileges: indices:admin/exists, indices:admin/mapping/put, indices:admin/mappings/fields/get, indices:admin/refresh, indices:admin/validate/query, indices:data/read/get, indices:data/read/mget, indices:data/read/search, indices:data/write/delete, indices:data/write/index, indices:data/write/update