[ 
https://issues.apache.org/jira/browse/RANGER-5740?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pradeep Agrawal updated RANGER-5740:
------------------------------------
    Description: 
h2. Problem statement

The Ranger Elasticsearch plugin resolves the caller identity used for 
authorization checks from client-supplied request data instead of from 
Elasticsearch’s authenticated security context.

For REST and transport requests, the plugin should use the identity established 
by Elasticsearch X-Pack Security after authentication. Relying on unverified 
client input can produce inconsistent authorization behavior between REST and 
transport paths and may allow requests to be evaluated under an identity that 
Elasticsearch has not verified.

This misalignment also means non-system requests without a verified 
authenticated user may not be handled consistently across plugin entry points.
----
h2. Background

The Elasticsearch plugin integrates with Ranger to enforce index-level access 
policies. Authorization decisions depend on the resolved caller identity being 
the same identity Elasticsearch has authenticated for the request.

Other Ranger plugins typically rely on the underlying platform’s authenticated 
principal. The Elasticsearch plugin should follow the same pattern by using 
X-Pack {{SecurityContext}} rather than parsing credentials from incoming HTTP 
headers.
----
h2. Expected behavior
 * Caller identity for Ranger authorization is taken from Elasticsearch X-Pack 
{{{}SecurityContext{}}}.
 * Non-system REST and transport requests without a verified authenticated user 
are rejected.
 * System/internal requests continue to bypass Ranger checks as today.
 * REST and transport paths use the same identity resolution logic.

> Best Practices: Align Elasticsearch plugin caller identity with X-Pack 
> Security
> -------------------------------------------------------------------------------
>
>                 Key: RANGER-5740
>                 URL: https://issues.apache.org/jira/browse/RANGER-5740
>             Project: Ranger
>          Issue Type: Bug
>          Components: Ranger
>    Affects Versions: 2.9.0
>            Reporter: Pradeep Agrawal
>            Assignee: Pradeep Agrawal
>            Priority: Major
>             Fix For: 3.0.0
>
>
> h2. Problem statement
> The Ranger Elasticsearch plugin resolves the caller identity used for 
> authorization checks from client-supplied request data instead of from 
> Elasticsearch’s authenticated security context.
> For REST and transport requests, the plugin should use the identity 
> established by Elasticsearch X-Pack Security after authentication. Relying on 
> unverified client input can produce inconsistent authorization behavior 
> between REST and transport paths and may allow requests to be evaluated under 
> an identity that Elasticsearch has not verified.
> This misalignment also means non-system requests without a verified 
> authenticated user may not be handled consistently across plugin entry points.
> ----
> h2. Background
> The Elasticsearch plugin integrates with Ranger to enforce index-level access 
> policies. Authorization decisions depend on the resolved caller identity 
> being the same identity Elasticsearch has authenticated for the request.
> Other Ranger plugins typically rely on the underlying platform’s 
> authenticated principal. The Elasticsearch plugin should follow the same 
> pattern by using X-Pack {{SecurityContext}} rather than parsing credentials 
> from incoming HTTP headers.
> ----
> h2. Expected behavior
>  * Caller identity for Ranger authorization is taken from Elasticsearch 
> X-Pack {{{}SecurityContext{}}}.
>  * Non-system REST and transport requests without a verified authenticated 
> user are rejected.
>  * System/internal requests continue to bypass Ranger checks as today.
>  * REST and transport paths use the same identity resolution logic.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to