I am working on a search microservice in Spring boot that relies on Amazon Elastic Search.
My use case is the following:
GIVEN an authenticated user
AND the user has been authorized with the role Contractor by an In-House access management system;
WHEN the user searches through my service
THEN only the relevant documents are shown as per his/her privileges;
How would that request (I guess POST) would look like for this to work?
I eventually found the answer in the Open Distro ElasticSearch documentation about User Impersonation here.
In short the trick is to add opendistro_security_impersonate_as to the header in the following way:
curl -XGET -u 'admin:admin' -k -H "opendistro_security_impersonate_as: user_1" https://localhost:9200/_opendistro/_security/authinfo?pretty
where you can replace:
This worked like a charm in my case.