[ 
https://issues.apache.org/jira/browse/MAPREDUCE-3256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Arun C Murthy updated MAPREDUCE-3256:
-------------------------------------

    Status: Open  (was: Patch Available)

Vinod, with this patch I'm seeing issues on a secure cluster:

{noformat}

Container launch failed for container_1319838127023_0002_01_000032 : 
RemoteTrace: 
 at LocalTrace: 
        org.apache.hadoop.yarn.exceptions.impl.pb.YarnRemoteExceptionPBImpl: 
Unauthorized request to start container. 
Expected containerId: container_1319838127023_0002_01_000017 Found: 
container_1319838127023_0002_01_000032
        at 
org.apache.hadoop.yarn.ipc.ProtoOverHadoopRpcEngine$Invoker.invoke(ProtoOverHadoopRpcEngine.java:151)
        at $Proxy20.startContainer(Unknown Source)
        at 
org.apache.hadoop.yarn.api.impl.pb.client.ContainerManagerPBClientImpl.startContainer(ContainerManagerPBClientImpl.java:81)
        at 
org.apache.hadoop.mapreduce.v2.app.launcher.ContainerLauncherImpl$EventProcessor.run(ContainerLauncherImpl.java:278)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
{noformat}
                
> 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, mrv2, nodemanager, security
>    Affects Versions: 0.23.0
>            Reporter: Vinod Kumar Vavilapalli
>            Assignee: Vinod Kumar Vavilapalli
>            Priority: Blocker
>             Fix For: 0.23.0
>
>         Attachments: MAPREDUCE-3256-20111028.1.txt, 
> MAPREDUCE-3256-20111028.2.txt, MAPREDUCE-3256-20111028.2_same
>
>
> 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