elasticsearch - 如何限制对弹性搜索中的文档的访问?
问题描述
我正在设计一个解决方案并希望利用 Elasticsearch 的一些查询功能(版本 7.x)。我们预计每个索引大约有 1000 万个文档。文档可能与我们所说的“用户”有不同的“关联”(不一定与 ES 中的含义相同)-
- 与所有相关联,可在任何上下文中查询。
- 关联到单个用户,应仅出现在此用户上下文搜索中。
- 关联到用户的“组”(大小高达 1000K),应该出现在对该组用户的查询中。
我们预计会有很多用户,在 100K 左右。这也意味着我们可能有很多不同的组,每 2 个用户可能组成一个自定义组。
我一直在研究 ES 的功能,看起来我提出的每个解决方案都有缺点:
- RBAC - 需要创建很多卷(每个用户 + 每个组,ES 甚至可以处理那么多吗?)
- ABAC - 需要创建很多用户(ES 甚至可以处理那么多用户吗?)
- 专用属性上的简单 AND 子句(此处解释的查询的复杂模板)
重要的是要注意,我将使用一个用户来查询on behalf of
我将创建的用户,以防我选择走这条路。
我遇到了这个问题,但我认为自从ElasticSearch 中的文档访问控制得到回答后,它可能已经进化了
还有其他我应该检查的建议吗?甚至可能是定制的第 3 方解决方案?
解决方案
推荐阅读
- linux - 如果启用了身份验证,是否有人可以在没有正确密码的情况下登录 MongoDB?
- prolog - APE:将 DRS 转换为 Struct
- sql - Hibernate Postgres 删除自引用单向实体
- google-cloud-platform - 条件响应中的子字符串搜索
- azure-active-directory - 图 api 访问被拒绝
- javascript - How to take screen shot of entire client machine not only web browser or a web page from javascript
- ios - 如何在 SwiftUI View Project 中使用 Cocoapods 的 UIView?
- python - 如何在随机生成的字符旁边创建一个常量变量
- angular - 在视图渲染之前设置一个 Array[]
- kubernetes - K8S环境下,FluentBit输出到Kafka,可以建立连接,创建topic,但是产生数据报错