在全文搜索结果上应用安全性的最佳做法是什么?

时间:2017-09-10 06:30:28

标签: elasticsearch search solr

所有

我有一个理论问题。想象一下:我有数百万个文档,包括元数据(类,属性)+全文搜索引擎(ES,Solr)+基于属性的访问控制(ABAC ...或简称RBAC)。文档元数据可以经常更新。

问:在全文搜索结果之上应用安全性的最佳做法是什么?我是否需要查看每个结果并检查:它是否通过了安全性?

欢迎任何现实生活中的例子。

1 个答案:

答案 0 :(得分:1)

有了安全性,我认为您的意思是搜索字段的授权。有几种方法。

  • 您可以通过构建不同的索引在索引级别上执行此操作,并在每个索引的应用程序级别上创建此安全性。 ES和Solr都允许您搜索索引。

  • 在文档级别上,对指示授权的字段应用筛选。您必须自动将此作为过滤器应用于每个配置文件。

  • 在字段级别上也可以通过将后缀应用于字段名称来实现。然后,您可以按配置文件进行配置。

Solr有一个授权插件,可以为您执行此操作,请参阅https://cwiki.apache.org/confluence/display/solr/Rule-Based+Authorization+Plugin然后,您需要在solrconfig中为索引或字段自动过滤定义自定义请求处理程序。

Elasticsearch有安全(Shield),它应该为你做这件事。 https://www.elastic.co/products/x-pack/security