Ramachandran Krishnan created RANGER-5709:
---------------------------------------------

             Summary: KMS secure download APIs: align Tags and Userstore with 
Policy/Roles — use getServiceByNameForDP() instead of getServiceByName()
                 Key: RANGER-5709
                 URL: https://issues.apache.org/jira/browse/RANGER-5709
             Project: Ranger
          Issue Type: Task
          Components: Ranger
    Affects Versions: 2.8.0, 3.0.0
            Reporter: Ramachandran Krishnan
            Assignee: Ramachandran Krishnan


KMS plugin user {{rangerkms}} can download policies and (after fix) roles for 
{{{}dev_kms{}}}, but tags and userstore secure download still fail with HTTP 
400:
Logged in user is not allowed to read service, name: dev_kms
Root cause is the same across endpoints: for KMS services, some REST handlers 
call {{{}svcStore.getServiceByName(){}}}, which enforces service read access 
(keyadmin / audit keyadmin only) before checking download allowlists such as 
{{{}policy.download.auth.users{}}}, {{{}tag.download.auth.users{}}}, and 
{{{}userstore.download.auth.users{}}}.

Policy download already uses {{getServiceByNameForDP()}} for KMS and works. 
Roles download was fixed the same way (Madhan issue #4 — validated). Tags and 
Userstore still need the same change.


h3. Affected code
||Endpoint||REST class / method||Current lookup||Allowlist config||
|Policy|{{ServiceREST.getSecureServicePoliciesIfUpdated()}}|{{getServiceByNameForDP()}}
 ✅|{{policy.download.auth.users}}|
|Roles|{{RoleREST.getSecureRangerRolesIfUpdated()}}|{{{}{}}}{{{}getServiceByName(){}}}{{
 ❌}}|{{policy.download.auth.users}}|
|Tags|{{TagREST.getSecureServiceTagsIfUpdated()}}|{{getServiceByName()}} 
❌|{{tag.download.auth.users}}|
|Userstore|{{XUserREST.getSecureRangerUserStoreIfUpdated()}}|{{getServiceByName()}}
 ❌|{{userstore.download.auth.users}}|



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

Reply via email to