gpt4 book ai didi

elasticsearch - ElasticSearch,行ACL

转载 作者:行者123 更新时间:2023-12-03 02:12:50 25 4
gpt4 key购买 nike

背景:
我已经开始将数百GB的GB转储到Elastic Search,以尝试通过非规范化来加快查询速度。他们确实更快!
在这一点上,我想直接将one index公开给我们的内部用户(具有数百个字段的复杂模式和我们无法解决的复杂查询),仅需一点限制,行级ACL:
问题
给定一个定义为的索引

PUT my_denormalized_index/_mapping
{
"properties": {
"allowedUsers": [ARRAY OF SOME SORT],
"all_the_rest_of_secret_data": {
"type": "nested"
}
}
}
我希望我的用户只能查询其ID在“allowedUsers”内的数据。
选项我正在考虑
有一种 Standard方法可以做到这一点吗?就像仅授予用户访问一个索引的权限,并在所有查询中强制添加WHERE条件一样?
通过ElasticSearch配置还是某种丰富查询的标准代理?
其他选项评估
  • 可以直接访问Kibana->我是ES的新手,但我的理解是,他们将完全拥有
  • 的访问权限
  • 使他们可以访问代理,每次创建查询时,代理也会添加match{allowedUsers: contains myId1}

  • 因此,由于我认为ES搜索不是Newby友好的,所以我想提供与在Kibana中相同的自动完成体验,但是要使用这种代理。
    有什么建议吗?

    最佳答案

    如果您具有铂金许可证或更多许可证,并且具有最新版本的 Elasticsearch ,那么这样做很容易。
    您可以根据用户的元数据使用某些RBAC创建角色。但是应用程序的每个用户都需要有自己的凭据。
    如果不是,则应在代理/应用程序端强制使用过滤器参数。
    您可以考虑将用法强制使用某种搜索模板,以更好地控制最终用户的操作。
    如果您想在Kibana中拥有这种行为,我认为除了使用铂金许可证的RBAC之外,别无他法。

    关于elasticsearch - ElasticSearch,行ACL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64256396/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com