Skip to content

RANGER-5735: Improve authorization consistency across RoleREST endpoints - #1149

Open
vyommani wants to merge 2 commits into
apache:masterfrom
vyommani:RANGER-5735
Open

RANGER-5735: Improve authorization consistency across RoleREST endpoints#1149
vyommani wants to merge 2 commits into
apache:masterfrom
vyommani:RANGER-5735

Conversation

@vyommani

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

Hardens authorization handling in RoleREST for role read and role grant/revoke operations:

getRole(id) and getUserRoles(user) now verify the caller is authorized to view the requested role/user's role membership, instead of returning it unconditionally.
grantRole/revokeRole now always resolve the caller's group membership server-side; group membership supplied in the request is no longer trusted for authorization decisions, except when the caller has already been independently verified as a Ranger admin/service admin/service user acting on behalf of another user.
grantRole/revokeRole now also block sessions with the read-only Auditor role from performing role mutations, consistent with existing behavior in ServiceREST.

How was this patch tested?

Added/updated unit tests in TestRoleREST covering authorized and unauthorized access for getRole, getUserRoles, grantRole, and revokeRole, including group-membership-based authorization and the Auditor-block behavior. Verified manually against a running instance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant