gpt4 book ai didi

permissions - 企业搜索如何为用户显示结果并隐藏未经授权的结果?

转载 作者:行者123 更新时间:2023-12-04 18:31:03 27 4
gpt4 key购买 nike

我希望了解企业搜索解决方案如何解决用户权限问题。

我的问题是为用户显示搜索结果。天真的方法会向用户显示搜索结果,然后如果用户单击他无权查看的文档,他将无法打开它。但是,如果用户没有阅读权限,甚至禁止显示文档的标题或摘录。各种企业搜索引擎也是如此:

  1. 索引每个文档及其 ACL?
  2. 索引所有没有权限信息的文档,但检查每个搜索结果中的每个链接以查看查询用户是否有权查看此链接?

选项 #2 对我来说更有意义,但似乎也比选项 #1 慢得多。
选项 #1 需要不断更新索引文档的权限更改。

我希望了解当今市场上现有解决方案的通用方法是什么。还有第三种选择吗?

最佳答案

我很惊讶地看到这个 5 年前的问题没有得到任何答案,因为我认为这是企业搜索中相当普遍和重要的问题。

如问题中所述,有两种处理文档级安全性的常用方法:

  • early-binding-security:索引 ACL 和内容,以及
  • 后期绑定(bind)-security:在查询时通过过滤掉protected结果来处理安全

从不建议仅在内容方面处理安全性,因为那时 secret 信息可能已经泄露(例如搜索结果中文档的标题或预览)。

使用后期绑定(bind)方法 实现安全性的优势在于,它非常灵活,因为无需根据更改的 ACL 重新索引内容。然而,最大的缺点是,这样做可能会通过面值泄露 secret 信息,并且无法检索和显示正确面数。正确填充结果列表和处理分页也更加困难。最后但同样重要的是,这种方法会显着降低性能。

使用早期绑定(bind)方法 实现安全性的优势在于,它以一旦 ACL 更改就重新索引内容为代价解决了上述所有缺点。但是,泄漏 仍然是可能的,例如当组成员身份或 ACL 刚刚更改并且尚未反射(reflect)在搜索索引中时。为了解决这个差距,通常将早期绑定(bind)后期绑定(bind)这两种方法结合起来。

最后但同样重要的是,可能还有第三种选择,具体取决于您使用的企业搜索平台:Attivio 的主动安全性 基于查询时连接,它允许索引独立于文档本身的安全信息,但在查询时合并这两个文档以确保只有授权的内容才能进入搜索结果。

关于permissions - 企业搜索如何为用户显示结果并隐藏未经授权的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3694532/

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