Background
The dsl-query-executor sandbox plugin in OpenSearch intercepts _search and _validate/query at the transport layer and re-dispatches them to new internal transport actions with new action names:
indices:data/read/dsl/execute
indices:data/read/dsl/validate
The security plugin's built-in permission groups (read, search, etc.) don't know these new action names. On a secured cluster, a user whose role permits vanilla _search / _validate/query may be denied once the request is re-dispatched to the DSL action, because no role or permission group grants the new action name.
Ask
- Decide whether these DSL action names should map to an existing permission (e.g. the same one as
_search / _validate/query) or need new permission-group entries.
- Register
indices:data/read/dsl/execute and indices:data/read/dsl/validate so users already permitted to run _search / _validate/query retain access when the DSL plugin intercepts those requests.
References
Background
The
dsl-query-executorsandbox plugin in OpenSearch intercepts_searchand_validate/queryat the transport layer and re-dispatches them to new internal transport actions with new action names:indices:data/read/dsl/executeindices:data/read/dsl/validateThe security plugin's built-in permission groups (
read,search, etc.) don't know these new action names. On a secured cluster, a user whose role permits vanilla_search/_validate/querymay be denied once the request is re-dispatched to the DSL action, because no role or permission group grants the new action name.Ask
_search/_validate/query) or need new permission-group entries.indices:data/read/dsl/executeandindices:data/read/dsl/validateso users already permitted to run_search/_validate/queryretain access when the DSL plugin intercepts those requests.References