[ 
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

        

Reply via email to