I have a scenario where i have confidential data saved as employee records/financial records shouldn't be accessible to one another, unless they have the key to access it. Can this be achieved with ES?
1)I am looking for encrypted index having data which will fetch data only for the associated access key or else it will fetch junk values/bad request.
2)And since I'm thinking of using ES as backend to another application, can this also be achieved with API calls?
Here are a few things that you can think and decide what you want to do
If you are thinking about using ES as storage, the answer is no, use something else
I've seen other approach where the actual data or value to a field is encrypted first before it gets indexed by ES. If you take this approach, you have to think about how to search. I would not recommend to go with this either.
Since ES is a search engine, not a database or a filesystem, it will index data that you insert into to it. You can use the mapping to tell ES to index data but don't store, that means when you look into the index, you don't see "readable data" at all. When you do this, store the content somewhere else such as local file system, a database, something like Mongo GridFS, etc... that way you can encrypt the content before storing it. When your users search for info, the system can tell the users if there are hits or not with minimum info. When they select a search result to view, they have to provide a key either automatically based on their credentials or manually (it depends on how you want to build your system) then the system can use this key to decrypt the data for viewing.
Another option here is putting the restriction how you want users to view the data. I think ES has a product called Shield (it has a new name now in v5) that you can use.
If I were you, I would take a look at option 3 and 4, not 1 and 2.
Hi thn
I am having the scenario to encrypt passwords (or other data) before saving it in ElasticsearchDB
using nodejs is this possible? how can I acheive this ? please help me
Thanks in advance
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.