gpt4 book ai didi

elasticsearch - Elasticsearch 每个用户对文档的访问控制

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

我正在使用ElasticSearch 7.1.1作为全文搜索引擎。开始时,每个用户都可以访问所有文档。我想让用户可以编辑文档。文档的修改后的版本仅对编辑人员可用,其他所有人只能查看默认文档。

为此,我将向每个文档添加两个数组:

  • 看不见文档的用户数组
  • 一个具有唯一可以查看此文档的用户的数组

  • 每当有人编辑文件时,我都会:
  • 添加到排除的用户列表中,进行编辑
  • 的用户
  • 创建包含仅对该用户可用的编辑的文档。

  • 这样,在索引中,我将拥有三种类型的文档:
  • 每个人都可以访问的文档
  • 除某些用户外,所有人均可使用的文档
  • 仅特定用户可以访问的文档

  • 我不仅使用ElasticSearch来获取文档,而且还使用它来计算实时聚合(例如某个字段的总和),因此在查询时我将能够获取用户特定的文档。

    我不希望有太多的编辑,少于文档总数的1%。

    是否有一种更智能,更省力的查询方式来获得相同的结果?

    最佳答案

    您可以实现document level security

    这样一来,您可以定义角色,以限制对与查询匹配的某些文档的读取权限(例如,您可以使用文档的ID)。

    因此,您不必更新角色,而是分别通过将角色分配给特定用户来更新角色,而不是通过提议的阵列解决方案来每次更新文档。当然,这将要求每个用户都有一个Elasticsearch用户。

    据我所知,此功能是满足 Elasticsearch 带来的“开箱即用”表要求的唯一变通方法。

    希望能对您有所帮助。

    关于elasticsearch - Elasticsearch 每个用户对文档的访问控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57976234/

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