Iftikhar Ali
Iftikhar Ali

Reputation: 401

Protecting data in elastic search

I have a elastic search engine running locally with an index which contains data from Multiple customers. When a customer makes a query, is there a way to dynamically add Customer Id in the filtering criteria so a customer cannot access the records from other customers.

Upvotes: 0

Views: 164

Answers (1)

Val
Val

Reputation: 217544

Yes, you can achieve that using filtered aliases. So you'd create one alias per customer like this:

POST /_aliases
{
    "actions" : [
        {
            "add" : {
                 "index" : "customer_index",
                 "alias" : "customer_1234",
                 "filter" : { "term" : { "customer_id" : "1234" } }
            }
        }
    ]
}

Then your customer can simply query the alias customer_1234 and only his data is going to come back.

Upvotes: 3

Related Questions