[
https://issues.apache.org/jira/browse/RANGER-4469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Subhrat Chaudhary updated RANGER-4469:
--------------------------------------
Description:
When a dataset is created for a user with VIEW permission, and GET
datasetSummary API is called, 403 is thrown, since a user is allowed to get
dataset policies, only if the user has AUDIT or higher permissions. Steps to
reproduce:
# Created a dataset as below:
{code:java}
{
"id": 7,
"guid": "8469cfcb-dc45-4481-a754-f4abe6c298ef",
"isEnabled": true,
"createdBy": "Admin",
"updatedBy": "Admin",
"createTime": 1696947157966,
"updateTime": 1696947157967,
"version": 1,
"description": "This is GDS description",
"options": {},
"additionalInfo": {},
"name": "DS7",
"acl": {
"users":
{ "joe": "VIEW", "admin": "ADMIN" }
},
"termsOfUse": "Gds Terms of Use"
}
{code}
2. When the GET datasetSummary API is called
[http://localhost:6080/service/gds/dataset/summary], 403 is thrown.
{code:java}
2023-10-10 14:43:33,975 [http-nio-6080-exec-3] ERROR [RESTErrorUtil.java:126]
Access restricted. loginId=joe, logMessage=User is not authorized to view
policies for this dataset, requestInfo=RequestContext
[ipAddress=0:0:0:0:0:0:0:1, userAgent=PostmanRuntime/7.33.0,
requestURL=/service/gds/dataset/summary, deviceType=1,
serverRequestId=ceeea979-7d6b-4716-a9e7-e91d031cf70e, isSync=true,
startTime=1696949013819], timeTaken=156
javax.ws.rs.WebApplicationException: null
at
org.apache.ranger.common.RESTErrorUtil.create403RESTException(RESTErrorUtil.java:103)
at org.apache.ranger.biz.GdsDBStore.getDatasetPolicies(GdsDBStore.java:450)
at
org.apache.ranger.biz.GdsDBStore.getPrincipalCountForDataset(GdsDBStore.java:1332)
at org.apache.ranger.biz.GdsDBStore.toDatasetSummary(GdsDBStore.java:1256)
at org.apache.ranger.biz.GdsDBStore.getDatasetSummary(GdsDBStore.java:156)
at org.apache.ranger.rest.GdsREST.getDatasetSummary(GdsREST.java:308)
at
org.apache.ranger.rest.GdsREST$$FastClassBySpringCGLIB$$5397f2f3.invoke(<generated>)
{code}
was:
When a dataset is created for a user with VIEW permission, and GET
datasetSummary API is called, 403 is thrown, since a user is allowed to get
dataset policies, only if the user has AUDIT or higher permissions. Steps to
reproduce:
# Created a dataset as below:
{
"id": 7,
"guid": "8469cfcb-dc45-4481-a754-f4abe6c298ef",
"isEnabled": true,
"createdBy": "Admin",
"updatedBy": "Admin",
"createTime": 1696947157966,
"updateTime": 1696947157967,
"version": 1,
"description": "This is GDS description",
"options": {},
"additionalInfo": {},
"name": "DS7",
"acl": {
"users": {
"joe": "VIEW",
"admin": "ADMIN"
}
},
"termsOfUse": "Gds Terms of Use"
}
2. When the GET datasetSummary API is called
[http://localhost:6080/service/gds/dataset/summary], 403 is thrown.
> Dataset summary API throws 403
> ------------------------------
>
> Key: RANGER-4469
> URL: https://issues.apache.org/jira/browse/RANGER-4469
> Project: Ranger
> Issue Type: Sub-task
> Components: admin
> Reporter: Subhrat Chaudhary
> Assignee: Subhrat Chaudhary
> Priority: Major
>
> When a dataset is created for a user with VIEW permission, and GET
> datasetSummary API is called, 403 is thrown, since a user is allowed to get
> dataset policies, only if the user has AUDIT or higher permissions. Steps to
> reproduce:
> # Created a dataset as below:
>
> {code:java}
> {
> "id": 7,
> "guid": "8469cfcb-dc45-4481-a754-f4abe6c298ef",
> "isEnabled": true,
> "createdBy": "Admin",
> "updatedBy": "Admin",
> "createTime": 1696947157966,
> "updateTime": 1696947157967,
> "version": 1,
> "description": "This is GDS description",
> "options": {},
> "additionalInfo": {},
> "name": "DS7",
> "acl": {
> "users":
> { "joe": "VIEW", "admin": "ADMIN" }
> },
> "termsOfUse": "Gds Terms of Use"
> }
> {code}
>
> 2. When the GET datasetSummary API is called
> [http://localhost:6080/service/gds/dataset/summary], 403 is thrown.
>
> {code:java}
>
> 2023-10-10 14:43:33,975 [http-nio-6080-exec-3] ERROR [RESTErrorUtil.java:126]
> Access restricted. loginId=joe, logMessage=User is not authorized to view
> policies for this dataset, requestInfo=RequestContext
> [ipAddress=0:0:0:0:0:0:0:1, userAgent=PostmanRuntime/7.33.0,
> requestURL=/service/gds/dataset/summary, deviceType=1,
> serverRequestId=ceeea979-7d6b-4716-a9e7-e91d031cf70e, isSync=true,
> startTime=1696949013819], timeTaken=156
> javax.ws.rs.WebApplicationException: null
> at
> org.apache.ranger.common.RESTErrorUtil.create403RESTException(RESTErrorUtil.java:103)
> at
> org.apache.ranger.biz.GdsDBStore.getDatasetPolicies(GdsDBStore.java:450)
> at
> org.apache.ranger.biz.GdsDBStore.getPrincipalCountForDataset(GdsDBStore.java:1332)
> at org.apache.ranger.biz.GdsDBStore.toDatasetSummary(GdsDBStore.java:1256)
> at org.apache.ranger.biz.GdsDBStore.getDatasetSummary(GdsDBStore.java:156)
> at org.apache.ranger.rest.GdsREST.getDatasetSummary(GdsREST.java:308)
> at
> org.apache.ranger.rest.GdsREST$$FastClassBySpringCGLIB$$5397f2f3.invoke(<generated>)
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)