Github user vanzin commented on a diff in the pull request:

    https://github.com/apache/spark/pull/20945#discussion_r178955126
  
    --- Diff: 
resource-managers/mesos/src/main/scala/org/apache/spark/scheduler/cluster/mesos/MesosClusterScheduler.scala
 ---
    @@ -506,6 +506,10 @@ private[spark] class MesosClusterScheduler(
           options ++= Seq("--class", desc.command.mainClass)
         }
     
    +    desc.conf.getOption("spark.mesos.proxyUser").foreach { v =>
    +      options ++= Seq("--proxy-user", v)
    --- End diff --
    
    I don't understand the separation.
    
    You're starting `spark-submit` with `--proxy-user`, right? That *requires* 
the `spark-submit` process to know the credentials of the user that can 
impersonate another user.
    
    If that `spark-submit` process is run in client mode, then it's running 
untrusted user code. Which means it also has access to those same super user 
credentials, and that's a security problem.
    
    You have this in L530 below this code:
    
    ```
    "spark.submit.deployMode", // this would be set to `cluster`, but we need 
client
    ```
    
    What am I missing here?


---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to