[ 
https://issues.apache.org/jira/browse/YARN-7982?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16906143#comment-16906143
 ] 

Prabhu Joseph edited comment on YARN-7982 at 8/13/19 12:32 PM:
---------------------------------------------------------------

Thanks [~abmodi] for reviewing.

1. The {{TimelineReaderContext.getUserId()}} does not present if user does not 
set Query Parameter {{userId}} in Rest API 
{{TimelineReaderWebServices#getEntityTypes}}. The {{userId}} is fetched and set 
in the context at  {{EntityTypes#readEntityTypes}} -> {{augmentparams}} from 
AppToFlowTable. Reusing the same context so that the 
 {{TimelineReaderWebServices#getEntityTypes}} will have userid to check access.

2. In {{FileSystemTimelineReadeImpl}}, {{context.getUserId}} is null if user 
does not set Query Parameter {{userId}}. Setting it from the Flow Run Path.


was (Author: prabhu joseph):
Thanks [~abmodi] for reviewing.

1. The {{TimelineReaderContext.getUserId()}} does not present if user does not 
set Query Parameter {{userId}} in 
Rest API {{TimelineReaderWebServices#getEntityTypes}}. The {{userId}} is 
fetched and set in the context at 
{{EntityTypes#readEntityTypes}} -> {{augmentparams}} from AppToFlowTable. 
Reusing the same context so that the 
{{TimelineReaderWebServices#getEntityTypes}} will have userid to check access.

2. In {{FileSystemTimelineReadeImpl}}, {{context.getUserId}} is null if user 
does not set Query Parameter {{userId}}. 
Setting it from the Flow Run Path.



> Do ACLs check while retrieving entity-types per application
> -----------------------------------------------------------
>
>                 Key: YARN-7982
>                 URL: https://issues.apache.org/jira/browse/YARN-7982
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Rohith Sharma K S
>            Assignee: Prabhu Joseph
>            Priority: Major
>         Attachments: YARN-7982-001.patch, YARN-7982-002.patch, 
> YARN-7982-003.patch
>
>
> REST end point {{/apps/$appid/entity-types}} retrieves all the entity-types 
> for given application. This need to be guarded with ACL check
> {code}
> [yarn@yarn-ats-3 ~]$ curl 
> "http://yarn-ats-3:8198/ws/v2/timeline/apps/application_1552297011473_0002?user.name=ambari-qa1";
> {"exception":"ForbiddenException","message":"java.lang.Exception: User 
> ambari-qa1 is not allowed to read TimelineService V2 
> data.","javaClassName":"org.apache.hadoop.yarn.webapp.ForbiddenException"}
> [yarn@yarn-ats-3 ~]$ curl 
> "http://yarn-ats-3:8198/ws/v2/timeline/apps/application_1552297011473_0002/entity-types?user.name=ambari-qa1";
> ["YARN_APPLICATION_ATTEMPT","YARN_CONTAINER"]
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to