Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-38862

Let consumers provide their own method for Authentication for The REST Submission Server




      Spark documentation states that

      The REST Submission Server and the MesosClusterDispatcher do not support authentication. You should ensure that all network access to the REST API & MesosClusterDispatcher (port 6066 and 7077 respectively by default) are restricted to hosts that are trusted to submit jobs.

      Whilst it is true that we can use network policies to restrict access to our exposed submission endpoint, it would be preferable to at least also allow some primitive form of authentication at a global level, whether this is by some token provided to the runtime environment or is a "system user" using basic authentication of a username/password combination - I am not strictly opinionated and I think either would suffice.

      Alternatively, one could implement a custom proxy to provide this authentication check, but upon investigation this option is rejected by the spark master as-is today.

      I would imagine that whatever solution is agreed for a first phase, a custom authenticator may be something we want a user to be able to provide so that if an admin needed some more advanced authentication check, such as RBAC et al, it could be facilitated without the need for writing a complete custom proxy layer; although it could be argued just some basic built in layer being available; eg. RestSubmissionBasicAuthenticator could be preferable. 


        Issue Links



              Unassigned Unassigned
              jackbuggins Jack
              1 Vote for this issue
              3 Start watching this issue