[ https://issues.apache.org/jira/browse/MAPREDUCE-3256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vinod Kumar Vavilapalli updated MAPREDUCE-3256: ----------------------------------------------- Description: We already authenticate requests to NM from any AM. We also need to authorize the requests, otherwise a rogue AM, *but with proper tokens and thus authenticated to talk to NM*, could either launch or kill a container with different ContainerID. We have two options: - Remove the explicit passing of the ContainerId as part of the API and instead get it from the RPC layer. In this case, we will need a ContainerToken for each container. - Do explicit authorization checks without relying on getting ContainerID from the RPC. One ContainerToken per container is a serious restriction. We anyways want to be able to use application-ACLS to, say, stop containers owned by others. So I am going to take the later route of explicit checks. was:We already authenticate requests to NM and RM from any AM. We also need to authorize the requests, otherwise a rogue AM could either launch or kill a container with different ContainerID or masquerade as another AM and illegally obtain containers meant for others. Summary: Authorization checks needed for AM->NM protocol (was: Authorization checks needed for AM->NM and AM->RM protocols) Okay, I am realizing that each protocol is a good chunk of work in itself. I am going to do each of them separately. Using this ticket for ContainerManager protocol related authorization checks. > Authorization checks needed for AM->NM protocol > ----------------------------------------------- > > Key: MAPREDUCE-3256 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-3256 > Project: Hadoop Map/Reduce > Issue Type: Sub-task > Components: applicationmaster, nodemanager, resourcemanager, security > Affects Versions: 0.23.0 > Reporter: Vinod Kumar Vavilapalli > Priority: Blocker > Fix For: 0.23.0 > > > We already authenticate requests to NM from any AM. We also need to authorize > the requests, otherwise a rogue AM, *but with proper tokens and thus > authenticated to talk to NM*, could either launch or kill a container with > different ContainerID. We have two options: > - Remove the explicit passing of the ContainerId as part of the API and > instead get it from the RPC layer. In this case, we will need a > ContainerToken for each container. > - Do explicit authorization checks without relying on getting ContainerID > from the RPC. > One ContainerToken per container is a serious restriction. We anyways want to > be able to use application-ACLS to, say, stop containers owned by others. So > I am going to take the later route of explicit checks. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira