|
@@ -1486,6 +1486,60 @@
|
|
|
<p>Normally the user creates the application, describes various facets
|
|
|
of the job via <code>JobConf</code>, and then uses the
|
|
|
<code>JobClient</code> to submit the job and monitor its progress.</p>
|
|
|
+
|
|
|
+ <section>
|
|
|
+ <title>Job Authorization</title>
|
|
|
+ <p>Job level authorization is enabled on the cluster, if the configuration
|
|
|
+ <code>mapreduce.cluster.job-authorization-enabled</code> is set to
|
|
|
+ true. When enabled, access control checks are done by the JobTracker
|
|
|
+ and the TaskTracker before allowing users to view
|
|
|
+ job details or to modify a job using Map/Reduce APIs,
|
|
|
+ CLI or web user interfaces.</p>
|
|
|
+
|
|
|
+ <p>A job submitter can specify access control lists for viewing or
|
|
|
+ modifying a job via the configuration properties
|
|
|
+ <code>mapreduce.job.acl-view-job</code> and
|
|
|
+ <code>mapreduce.job.acl-modify-job</code> respectively. By default,
|
|
|
+ nobody is given access in these properties.</p>
|
|
|
+
|
|
|
+ <p>However, irrespective of the ACLs configured, a job's owner,
|
|
|
+ the superuser and the members of an admin configured supergroup
|
|
|
+ (<code>mapred.permissions.supergroup</code>) always have access to
|
|
|
+ view and modify a job.</p>
|
|
|
+
|
|
|
+ <p> A job view ACL authorizes users against the configured
|
|
|
+ <code>mapreduce.job.acl-view-job</code> before returning possibly
|
|
|
+ sensitive information about a job, like: </p>
|
|
|
+ <ul>
|
|
|
+ <li> job level counters </li>
|
|
|
+ <li> task level counters </li>
|
|
|
+ <li> tasks's diagnostic information </li>
|
|
|
+ <li> task logs displayed on the TaskTracker web UI </li>
|
|
|
+ <li> job.xml showed by the JobTracker's web UI </li>
|
|
|
+ </ul>
|
|
|
+ <p>Other information about a job, like its status and its profile,
|
|
|
+ is accessible to all users, without requiring authorization.</p>
|
|
|
+
|
|
|
+ <p> A job modification ACL authorizes users against the configured
|
|
|
+ <code>mapreduce.job.acl-modify-job</code> before allowing
|
|
|
+ modifications to jobs, like: </p>
|
|
|
+ <ul>
|
|
|
+ <li> killing a job </li>
|
|
|
+ <li> killing/failing a task of a job </li>
|
|
|
+ <li> setting the priority of a job </li>
|
|
|
+ </ul>
|
|
|
+ <p>These operations are also protected by the queue level ACL,
|
|
|
+ "acl-administer-jobs", configured via mapred-queue-acls.xml. The caller
|
|
|
+ will be authorized against both queue level ACLs and job level ACLs,
|
|
|
+ depending on what is enabled.</p>
|
|
|
+
|
|
|
+ <p>The format of a job level ACL is the same as the format for a
|
|
|
+ queue level ACL as defined in the
|
|
|
+ <a href ="cluster_setup.html#Configuring+the+Hadoop+Daemons">
|
|
|
+ Cluster Setup</a> documentation.
|
|
|
+ </p>
|
|
|
+
|
|
|
+ </section>
|
|
|
|
|
|
<section>
|
|
|
<title>Job Control</title>
|