http://git-wip-us.apache.org/repos/asf/drill-site/blob/ee86f078/docs/configuring-user-authentication/index.html
----------------------------------------------------------------------
diff --git a/docs/configuring-user-authentication/index.html 
b/docs/configuring-user-authentication/index.html
new file mode 100644
index 0000000..4ad8dd3
--- /dev/null
+++ b/docs/configuring-user-authentication/index.html
@@ -0,0 +1,1007 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+
+<meta charset="UTF-8">
+<meta name=viewport content="width=device-width, initial-scale=1">
+
+
+<title>Configuring User Authentication - Apache Drill</title>
+
+<link href="/css/syntax.css" rel="stylesheet" type="text/css">
+<link href="/css/style.css" rel="stylesheet" type="text/css">
+<link href="/css/arrows.css" rel="stylesheet" type="text/css">
+<link href="/css/breadcrumbs.css" rel="stylesheet" type="text/css">
+<link href="/css/code.css" rel="stylesheet" type="text/css">
+<link rel="stylesheet" 
href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
+<link href="/css/responsive.css" rel="stylesheet" type="text/css">
+
+<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
+<link rel="icon" href="/favicon.ico" type="image/x-icon">
+
+<script language="javascript" type="text/javascript" 
src="/js/lib/jquery-1.11.1.min.js"></script>
+<script language="javascript" type="text/javascript" 
src="/js/lib/jquery.easing.1.3.js"></script>
+<script language="javascript" type="text/javascript" 
src="/js/modernizr.custom.js"></script>
+<script language="javascript" type="text/javascript" 
src="/js/script.js"></script>
+<script language="javascript" type="text/javascript" 
src="/js/drill.js"></script>
+
+
+</head>
+
+<body onResize="resized();">
+  <div class="page-wrap">
+    <div class="bui"></div>
+
+<div id="menu" class="mw">
+<ul>
+  <li class='toc-categories'>
+  <a class="expand-toc-icon" href="javascript:void(0);"><i class="fa 
fa-bars"></i></a>
+  </li>
+  <li class="logo"><a href="/"></a></li>
+  <li class='expand-menu'>
+  <a href="javascript:void(0);"><span class='menu-text'>Menu</span><span 
class='expand-icon'><i class="fa fa-bars"></i></span></a>
+  </li>
+  <li class='clear-float'></li>
+  <li class="documentation-menu">
+    <a href="/docs/">Documentation</a>
+    <ul>
+      
+        <li><a href="/docs/getting-started/">Getting Started</a></li>
+      
+        <li><a href="/docs/architecture/">Architecture</a></li>
+      
+        <li><a href="/docs/tutorials/">Tutorials</a></li>
+      
+        <li><a href="/docs/install-drill/">Install Drill</a></li>
+      
+        <li><a href="/docs/configure-drill/">Configure Drill</a></li>
+      
+        <li><a href="/docs/connect-a-data-source/">Connect a Data 
Source</a></li>
+      
+        <li><a href="/docs/odbc-jdbc-interfaces/">ODBC/JDBC Interfaces</a></li>
+      
+        <li><a href="/docs/query-data/">Query Data</a></li>
+      
+        <li><a href="/docs/sql-reference/">SQL Reference</a></li>
+      
+        <li><a href="/docs/data-sources-and-file-formats/">Data Sources and 
File Formats</a></li>
+      
+        <li><a href="/docs/develop-custom-functions/">Develop Custom 
Functions</a></li>
+      
+        <li><a href="/docs/developer-information/">Developer 
Information</a></li>
+      
+        <li><a href="/docs/release-notes/">Release Notes</a></li>
+      
+        <li><a href="/docs/sample-datasets/">Sample Datasets</a></li>
+      
+        <li><a href="/docs/archived-pages/">Archived Pages</a></li>
+      
+        <li><a href="/docs/progress-reports/">Progress Reports</a></li>
+      
+        <li><a href="/docs/project-bylaws/">Project Bylaws</a></li>
+      
+    </ul>
+  </li>
+  <li class='nav'>
+    <a href="/community-resources/">Community</a>
+    <ul>
+      <li><a href="/team/">Team</a></li>
+      <li><a href="/mailinglists/">Mailing Lists</a></li>
+      <li><a href="/community-resources/">Community Resources</a></li>
+    </ul>
+  </li>
+  <li class='nav'><a href="/faq/">FAQ</a></li>
+  <li class='nav'><a href="/blog/">Blog</a></li>
+  <li id="twitter-menu-item"><a href="https://twitter.com/apachedrill"; 
title="apachedrill on twitter" target="_blank"><img 
src="/images/twitter_32_26_white.png" alt="twitter logo" align="center"></a> 
</li>
+  <li class='search-bar'>
+    <form id="drill-search-form">
+      <input type="text" placeholder="Search Apache Drill" 
id="drill-search-term" />
+      <button type="submit">
+        <i class="fa fa-search"></i>
+      </button>
+    </form>
+  </li>
+  <li class="d">
+    <a href="/download/">
+      <i class="fa fa-cloud-download"></i> Download
+    </a>
+  </li>
+</ul>
+</div>
+
+      
+      
+
+
+
+
+<aside class="sidebar">
+  <div class="docsidebar">
+    <div class="docsidebarwrapper">
+      <ul style="display: block;">
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Getting 
Started</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/drill-introduction/">Drill Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/why-drill/">Why Drill</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: 
void(0);">Architecture</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/architecture-introduction/">Architecture Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/core-modules/">Core Modules</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: 
void(0);">Architectural Highlights</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/flexibility/">Flexibility</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/performance/">Performance</a></li>
+              
+            </ul>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: 
void(0);">Tutorials</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/tutorials-introduction/">Tutorials Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/drill-in-10-minutes/">Drill in 10 Minutes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/analyzing-the-yelp-academic-dataset/">Analyzing the Yelp Academic 
Dataset</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Learn 
Drill with the MapR Sandbox</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/about-the-mapr-sandbox/">About the MapR Sandbox</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-the-apache-drill-sandbox/">Installing the Apache Drill 
Sandbox</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/getting-to-know-the-drill-sandbox/">Getting to Know the Drill 
Sandbox</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/lession-1-learn-about-the-data-set/">Lession 1: Learn about the 
Data Set</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/lession-2-run-queries-with-ansi-sql/">Lession 2: Run Queries with 
ANSI SQL</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/lession-3-run-queries-on-complex-data-types/">Lession 3: Run 
Queries on Complex Data Types</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/summary/">Summary</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/analyzing-highly-dynamic-datasets/">Analyzing Highly Dynamic 
Datasets</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Install 
Drill</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/install-drill-introduction/">Install Drill Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Installing 
Drill in Embedded Mode</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/embedded-mode-prerequisites/">Embedded Mode Prerequisites</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-drill-on-linux-and-mac-os-x/">Installing Drill on Linux 
and Mac OS X</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/starting-drill-on-linux-and-mac-os-x/">Starting Drill on Linux and 
Mac OS X</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-drill-on-windows/">Installing Drill on Windows</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/starting-drill-on-windows/">Starting Drill on Windows</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Installing 
Drill in Distributed Mode</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/distributed-mode-prerequisites/">Distributed Mode 
Prerequisites</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-drill-on-the-cluster/">Installing Drill on the 
Cluster</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/starting-drill-in-distributed-mode/">Starting Drill in Distributed 
Mode</a></li>
+              
+            </ul>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1 current_section "><a href="javascript: 
void(0);">Configure Drill</a></li>
+          <ul class="current_section">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/configure-drill-introduction/">Configure Drill Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/configuring-drill-memory/">Configuring Drill Memory</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: 
void(0);">Configuring a Multitenant Cluster</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuring-a-multitenant-cluster-introduction/">Configuring a 
Multitenant Cluster Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuring-multitenant-resources/">Configuring Multitenant 
Resources</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuring-resources-for-a-shared-drillbit/">Configuring Resources 
for a Shared Drillbit</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/configuring-user-impersonation/">Configuring User 
Impersonation</a></li>
+            
+          
+            
+              <li class="toctree-l2 current"><a class="reference internal" 
href="/docs/configuring-user-authentication/">Configuring User 
Authentication</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: 
void(0);">Configuration Options</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuration-options-introduction/">Configuration Options 
Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/start-up-options/">Start-Up Options</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/planning-and-execution-options/">Planning and Execution 
Options</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/persistent-configuration-storage/">Persistent Configuration 
Storage</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/ports-used-by-drill/">Ports Used by Drill</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/partition-pruning/">Partition Pruning</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Connect a Data 
Source</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/connect-a-data-source-introduction/">Connect a Data Source 
Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/storage-plugin-registration/">Storage Plugin Registration</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Storage 
Plugin Configuration</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/plugin-configuration-introduction/">Plugin Configuration 
Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/workspaces/">Workspaces</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/file-system-storage-plugin/">File System Storage Plugin</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/hbase-storage-plugin/">HBase Storage Plugin</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/hive-storage-plugin/">Hive Storage Plugin</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/drill-default-input-format/">Drill Default Input Format</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/mongodb-plugin-for-apache-drill/">MongoDB Plugin for Apache 
Drill</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/mapr-db-format/">MapR-DB Format</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">ODBC/JDBC 
Interfaces</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/interfaces-introduction/">Interfaces Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/using-jdbc/">Using JDBC</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Using ODBC 
on Linux and Mac OS X</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/odbc-on-linux-and-mac-introduction/">ODBC on Linux and Mac 
Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-the-driver-on-linux/">Installing the Driver on 
Linux</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-the-driver-on-mac-os-x/">Installing the Driver on Mac OS 
X</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuring-connections-on-linux-and-mac-os-x/">Configuring 
Connections on Linux and Mac OS X</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/driver-configuration-options/">Driver Configuration Options</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/using-a-connection-string/">Using a Connection String</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/advanced-properties/">Advanced Properties</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/testing-the-odbc-connection/">Testing the ODBC Connection</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Using ODBC 
on Windows</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-the-driver-on-windows/">Installing the Driver on 
Windows</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuring-connections-on-windows/">Configuring Connections on 
Windows</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/connecting-to-odbc-data-sources/">Connecting to ODBC Data 
Sources</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/tableau-examples/">Tableau Examples</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/using-drill-explorer-on-windows/">Using Drill Explorer on 
Windows</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/using-microstrategy-analytics-with-drill/">Using MicroStrategy 
Analytics with Drill</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/using-apache-drill-with-tibco-spotfire-desktop/">Using Apache Drill 
with Tibco Spotfire Desktop</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Query 
Data</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/query-data-introduction/">Query Data Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Querying a 
File System</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-a-file-system-introduction/">Querying a File System 
Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-json-files/">Querying JSON Files</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-parquet-files/">Querying Parquet Files</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-plain-text-files/">Querying Plain Text Files</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-directories/">Querying Directories</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/querying-hbase/">Querying HBase</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Querying 
Complex Data</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-complex-data-introduction/">Querying Complex Data 
Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/sample-data-donuts/">Sample Data: Donuts</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/selecting-flat-data/">Selecting Flat Data</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/using-sql-functions-clauses-and-joins/">Using SQL Functions, 
Clauses, and Joins</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/selecting-nested-data-for-a-column/">Selecting Nested Data for a 
Column</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/selecting-multiple-columns-within-nested-data/">Selecting Multiple 
Columns Within Nested Data</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/querying-hive/">Querying Hive</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/querying-the-information-schema/">Querying the INFORMATION 
SCHEMA</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/querying-system-tables/">Querying System Tables</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/monitoring-and-canceling-queries-in-the-drill-web-ui/">Monitoring 
and Canceling Queries in the Drill Web UI</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">SQL 
Reference</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/sql-reference-introduction/">SQL Reference Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Data 
Types</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/supported-data-types/">Supported Data Types</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/date-time-and-timestamp/">Date, Time, and Timestamp</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/handling-different-data-types/">Handling Different Data 
Types</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/lexical-structure/">Lexical Structure</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/operators/">Operators</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">SQL 
Functions</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/about-sql-function-examples/">About SQL Function Examples</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/math-and-trig/">Math and Trig</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/data-type-conversion/">Data Type Conversion</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/date-time-functions-and-arithmetic/">Date/Time Functions and 
Arithmetic</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/string-manipulation/">String Manipulation</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/aggregate-and-aggregate-statistical/">Aggregate and Aggregate 
Statistical</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/functions-for-handling-nulls/">Functions for Handling Nulls</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Nested 
Data Functions</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/nested-data-limitations/">Nested Data Limitations</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/flatten/">FLATTEN</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/kvgen/">KVGEN</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/repeated-count/">REPEATED_COUNT</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/repeated-contains/">REPEATED_CONTAINS</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/query-directory-functions/">Query Directory Functions</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">SQL 
Commands</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/supported-sql-commands/">Supported SQL Commands</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/alter-session-command/">ALTER SESSION Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/alter-system-command/">ALTER SYSTEM Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/create-table-as-ctas-command/">CREATE TABLE AS (CTAS) 
command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/create-view-command/">CREATE VIEW command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/describe-command/">DESCRIBE Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/explain-commands/">EXPLAIN commands</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/select-statements/">SELECT Statements</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/show-databases-and-show-schemas-command/">SHOW DATABASES AND SHOW 
SCHEMAS Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/show-files-command/">SHOW FILES Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/show-tables-command/">SHOW TABLES Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/use-command/">USE Command</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">SQL 
Conditional Expressions</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/case/">CASE</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/reserved-keywords/">Reserved Keywords</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/sql-extensions/">SQL Extensions</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Data Sources 
and File Formats</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/data-sources-and-file-formats-introduction/">Data Sources and File 
Formats Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/hive-to-drill-data-type-mapping/">Hive-to-Drill Data Type 
Mapping</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/deploying-and-using-a-hive-udf/">Deploying and Using a Hive 
UDF</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/parquet-format/">Parquet Format</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/json-data-model/">JSON Data Model</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Develop Custom 
Functions</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/develop-custom-functions-introduction/">Develop Custom Functions 
Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/develop-a-simple-function/">Develop a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/developing-an-aggregate-function/">Developing an Aggregate 
Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/adding-custom-functions-to-drill/">Adding Custom Functions to 
Drill</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/using-custom-functions-in-queries/">Using Custom Functions in 
Queries</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/custom-function-interfaces/">Custom Function Interfaces</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Developer 
Information</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Develop 
Drill</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/compiling-drill-from-source/">Compiling Drill from Source</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/drill-patch-review-tool/">Drill Patch Review Tool</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Contribute 
to Drill</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/apache-drill-contribution-guidelines/">Apache Drill Contribution 
Guidelines</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/apache-drill-contribution-ideas/">Apache Drill Contribution 
Ideas</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Design 
Docs</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/drill-plan-syntax/">Drill Plan Syntax</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/rpc-overview/">RPC Overview</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/query-stages/">Query Stages</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/useful-research/">Useful Research</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/value-vectors/">Value Vectors</a></li>
+              
+            </ul>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Release 
Notes</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-0-5-0-release-notes/">Apache Drill 0.5.0 Release 
Notes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-0-4-0-release-notes/">Apache Drill 0.4.0 Release 
Notes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-m1-release-notes-apache-drill-alpha/">Apache Drill M1 
Release Notes (Apache Drill Alpha)</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-m1-release-notes-apache-drill-alpha/">Apache Drill M1 
Release Notes (Apache Drill Alpha)</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-0-6-0-release-notes/">Apache Drill 0.6.0 Release 
Notes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-0-7-0-release-notes/">Apache Drill 0.7.0 Release 
Notes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-0-8-0-release-notes/">Apache Drill 0.8.0 Release 
Notes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-0-9-0-release-notes/">Apache Drill 0.9.0 Release 
Notes</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Sample 
Datasets</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/aol-search/">AOL Search</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/enron-emails/">Enron Emails</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/wikipedia-edit-history/">Wikipedia Edit History</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Archived 
Pages</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/how-to-run-the-drill-demo/">How to Run the Drill Demo</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/what-is-apache-drill/">What is Apache Drill</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Progress 
Reports</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/2014-q1-drill-report/">2014 Q1 Drill Report</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a class="reference internal" 
href="/docs/project-bylaws/">Project Bylaws</a></li>
+        
+      
+      </ul>
+
+    </div>
+  </div>
+</aside>
+
+
+  <nav class="breadcrumbs">
+  <li><a href="/docs/">Docs</a></li>
+ 
+  
+    <li><a href="/docs/configure-drill/">Configure Drill</a></li>
+  
+  <li>Configuring User Authentication</li>
+</nav>
+
+  <div class="main-content-wrapper">
+    <div class="main-content">
+
+      
+        <a class="edit-link" 
href="https://github.com/apache/drill/blob/gh-pages/_docs/configure-drill/075-configuring-user-authentication.md";
 target="_blank"><i class="fa fa-pencil-square-o"></i></a>
+      
+
+      <div class="int_title">
+        <h1>Configuring User Authentication</h1>
+
+      </div>
+
+      <link href="/css/docpage.css" rel="stylesheet" type="text/css">
+
+      <div class="int_text" align="left">
+        
+          <p>Authentication is the process of proving a user’s identity to 
access a process running on a system. Drill currently supports 
username/password based authentication through the use of the Linux Pluggable 
Authentication Module (PAM). The authentication option is available through 
JDBC and ODBC interfaces. Linux PAM provides authentication modules that 
interface with any installed PAM authentication entity, such as the local 
operating system password file (passwd or login) or LDAP. </p>
+
+<p>If user impersonation is enabled, Drill executes the client requests as the 
authenticated user. Otherwise, Drill executes client requests as the user that 
started the Drillbit process. You can enable both authorization and 
impersonation to improve Drill security. See <a 
href="/docs/configuring-user-impersonation/">Configuring User 
Impersonation</a>.</p>
+
+<p>When using PAM for authentication, each user that has permission to run 
Drill must exist in the list of users that resides on each Drill node in the 
cluster. The username (including uid) and password for each user must be 
identical across all of the Drill nodes. </p>
+
+<h2 id="user-authentication-process">User Authentication Process</h2>
+
+<p>When user authentication is configured, each user that accesses the 
Drillbit process through a client, such as SQLLine, must provide their username 
and password for access. </p>
+
+<p>When launching SQLLine, a user must include the <code>–n</code> and 
<code>–p</code> parameters with their username and password in the SQLLine 
argument:<br>
+       <code>sqlline –u jdbc:drill:zk=10.10.11.112:5181 –n bob –p 
bobdrill</code></p>
+
+<p>When a user connects to Drill from a BI tool, such as Tableau, the MapR 
Drill ODBC driver prompts the user for their username and password:</p>
+
+<p><img src="/docs/img/UserAuth_ODBC_Driver.png" alt="ODBC Driver"></p>
+
+<p>The client passes the username and password to a Drillbit, which then 
passes the credentials to PAM. If PAM can verify that the user is authorized to 
access Drill, the user can connect to the Drillbit process from the client and 
issue queries against the file system or other storage plugins, such as Hive or 
HBase. However, if PAM cannot verify that the user is authorized to access 
Drill, the client returns an error.</p>
+
+<p>The following image illustrates the user authentication process in 
Drill:</p>
+
+<p><img src="/docs/img/UserAuthProcess.png" alt=""></p>
+
+<h3 id="installing-and-configuring-pam">Installing and Configuring PAM</h3>
+
+<p>Install and configure the provided Drill PAM. Drill only supports the PAM 
provided here.</p>
+
+<p>Complete the following steps to install and configure PAM for Drill:</p>
+
+<ol>
+<li>Download the <code>tar.gz</code> file for the Linux platform:<br>
+<a 
href="http://sourceforge.net/projects/jpam/files/jpam/jpam-1.1/";>http://sourceforge.net/projects/jpam/files/jpam/jpam-1.1/</a></li>
+<li>Untar the file, and copy the <code>libjpam.so</code> file into a 
directory.<br>
+Example:<code>/opt/pam/</code></li>
+<li>Run the following command, and include the directory where you put the 
<code>libjpam.so</code> file:<br>
+<code>export DRILLBIT_JAVA_OPTS=&quot; 
-Djava.library.path=&lt;directory&gt;&quot;</code><br>
+Example: <code>export DRILLBIT_JAVA_OPTS=&quot; 
-Djava.library.path=/opt/pam/&quot;</code></li>
+<li><p>Add the following block to <code>drill.exec</code> in the 
<code>drill-override.conf</code> file located in 
<code>&lt;DRILLINSTALL_HOME&gt;/conf/</code>:  </p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">  
drill.exec {
+   security.user.auth {
+         enabled: true,
+         packages += &quot;org.apache.drill.exec.rpc.user.security&quot;,
+         impl: &quot;pam&quot;,
+         pam_profiles: [ &quot;sudo&quot;, &quot;login&quot; ]
+   } 
+  }
+</code></pre></div></li>
+<li><p>(Optional) To add or remove different PAM profiles, add or delete the 
profile names in the <code>“pam_profiles”</code> array.  </p></li>
+<li><p>Restart the Drillbit process on each Drill node.</p>
+
+<ul>
+<li><p>In a MapR cluster, run the following command:  </p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">  
maprcli node services -name drill-bits -action restart -nodes &lt;hostname&gt; 
-f
+</code></pre></div></li>
+<li><p>In a non-MapR environment, run the following command: </p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">  
&lt;DRILLINSTALL_HOME&gt;/bin/drillbit.sh restart
+</code></pre></div></li>
+</ul></li>
+</ol>
+
+<h3 id="implementing-and-configuring-a-custom-authenticator">Implementing and 
Configuring a Custom Authenticator</h3>
+
+<p>Administrators can use the template provided here to develop and implement 
a custom username/password based authenticator.</p>
+
+<p>Complete the following steps to build and implement a custom 
authenticator:</p>
+
+<ol>
+<li><p>Build the following Java file into a JAR file: </p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">   
MyCustomDrillUserAuthenticatorImpl.java 
+
+   package myorg.dept.drill.security;
+
+   import org.apache.drill.common.config.DrillConfig;
+   import org.apache.drill.exec.exception.DrillbitStartupException;
+
+   import java.io.IOException;
+
+   /*
+   * Implement {@link 
org.apache.drill.exec.rpc.user.security.UserAuthenticator} for illustraing how 
to develop a custom authenticator and use it in Drill
+   */
+   @UserAuthenticatorTemplate(type = “myCustomAuthenticatorType”)
+   public class MyCustomDrillUserAuthenticatorImpl implements 
UserAuthenticator {
+
+    public static final String TEST_USER_1 = &quot;testUser1&quot;;
+    public static final String TEST_USER_2 = &quot;testUser2&quot;;
+    public static final String TEST_USER_1_PASSWORD = 
&quot;testUser1Password&quot;;
+    public static final String TEST_USER_2_PASSWORD = 
&quot;testUser2Password&quot;;
+
+   /**
+   * Setup for authenticating user credentials.
+   */
+    @Override
+    public void setup(DrillConfig drillConfig) throws DrillbitStartupException 
{
+      // If the authenticator has any setup such as making sure authenticator 
provider servers are up and running or 
+      // needed libraries are available, it should be added here.
+    }
+
+   /**
+   * Authenticate the given &lt;i&gt;user&lt;/i&gt; and 
&lt;i&gt;password&lt;/i&gt; combination.
+   *
+   * @param userName
+   * @param password
+   * @throws UserAuthenticationException if authentication fails for given 
user and password.
+   */
+    @Override
+    public void authenticate(String userName, String password) throws 
UserAuthenticationException {
+
+      if (!(TEST_USER_1.equals(user) &amp;&amp; 
TEST_USER_1_PASSWORD.equals(password)) &amp;&amp;
+      !(TEST_USER_2.equals(user) &amp;&amp; 
TEST_USER_2_PASSWORD.equals(password))) {
+    throw new UserAuthenticationException(“custom failure message if the 
admin wants to show it to user”);
+      }
+    }
+
+   /**
+   * Close the authenticator. Used to release resources. Ex. LDAP 
authenticator opens connections to LDAP server,
+   * such connections resources are released in a safe manner as part of close.
+   *
+   * @throws IOException
+   */
+    @Override
+    public void close() throws IOException {
+      // Any clean up such as releasing files/network resources should be done 
here
+    }
+   }  
+</code></pre></div></li>
+<li><p>Add the JAR file that you built to the following directory on each 
Drill node:<br>
+<code>&lt;DRILLINSTALL_HOME&gt;/jars</code></p></li>
+<li><p>Add the following block to the <code>drill.exec</code> section in the 
<code>drill-override.conf</code> file located in 
<code>&lt;DRILLINSTALL_HOME&gt;/conf/</code>:  </p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">      
drill.exec {
+       security.user.auth {
+            enabled: true,
+            packages += &quot;myorg.dept.drill.security&quot;,
+            impl: &quot;myCustomAuthenticatorType&quot;
+       }
+      }  
+</code></pre></div></li>
+<li><p>Restart the Drillbit process on each Drill node.</p>
+
+<ul>
+<li><p>In a MapR cluster, run the following command:  </p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">  
maprcli node services -name drill-bits -action restart -nodes &lt;hostname&gt; 
-f
+</code></pre></div></li>
+<li><p>In a non-MapR environment, run the following command: </p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">  
&lt;DRILLINSTALL_HOME&gt;/bin/drillbit.sh restart
+</code></pre></div></li>
+</ul></li>
+</ol>
+
+      
+        
+          <div class="doc-nav">
+  
+  <span class="previous-toc"><a 
href="/docs/configuring-user-impersonation/">← Configuring User 
Impersonation</a></span><span class="next-toc"><a 
href="/docs/configuration-options/">Configuration Options →</a></span>
+</div>
+
+      
+      </div>
+    </div>
+  </div>
+
+  </div>
+  <p class="push"></p>
+<div id="footer" class="mw">
+<div class="wrapper">
+Copyright © 2012-2014 The Apache Software Foundation, licensed under the 
Apache License, Version 2.0.<br>
+Apache and the Apache feather logo are trademarks of The Apache Software 
Foundation. Other names appearing on the site may be trademarks of their 
respective owners.<br/><br/>
+</div>
+</div>
+
+  <script>
+(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ga('create', 'UA-53379651-1', 'auto');
+ga('send', 'pageview');
+</script>
+
+</body>
+</html>

Reply via email to