2017-02-24 114 views
0

我在彈性搜索中對一些數據建立索引以加快搜索速度。在當前的系統(Oracle)的特定列中的訪問由表像這樣進行控制:在彈性搜索中實現此方案的最佳方法

Data Table (this would become Elastic document) : 

    Group ADDRESS  FIRSTNAME LASTNAME STATE 
    ABC 123 Road Champ  Kemp  AZ 
    ABC 213 Road Lamp  Kent  TX 
    XYZ 456 Road Jamp  Keen  AZ 
    DEF 128 Road Mamp  Keith  CA 

Access Contorl Table : 
    User Group ADDRESS FIRSTNAME LASTNAME STATE 
    A ABC Y  Y   N  Y 
    A XYZ Y  Y   N  Y 
    B ABC N  Y   N  Y 
    B XYZ Y  N   N  Y 

這意味着用戶A將有權訪問場地址對於屬於ABC組,但項 用戶B不會。所以基本上用戶 一個領域地址搜索與ABC組文檔,但不能 用戶B

它易於使用聯接但我怎麼當我實現了相同的事情來控制這個在甲骨文必須處理Elastic Search文檔?

回答

0

您可以使用X-包(商業授權)field and document level access control可用。這裏是關於這個問題的文章:https://www.elastic.co/blog/securing-fields-and-documents-with-shield

還有另一個名爲SearchGuard的插件提供了類似的功能。下面是關於這個問題的另一篇文章:https://floragunn.com/document-field-level-security-search-guard/

+0

嗨@val,感謝您的回答,我的方式瞭解字段級安全性的工作原理是,我們可以限制用戶對某些領域和某些文檔的訪問權限。但是我希望根據文檔的組來有條件地限制字段。你能幫我理解我在這種情況下如何應用現場級別的安全性嗎?非常感謝! –

+0

您可以定義多個角色(例如,每個組),併爲每個角色/組,你可以[定義查詢](https://www.elastic.co/guide/en/x-pack/current/field-and- document-access-control.html#document-level-security),它將過濾該角色可訪問的文檔(例如'group = ABC') – Val

相關問題