[
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