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="
-Djava.library.path=<directory>"</code><br>
+Example: <code>export DRILLBIT_JAVA_OPTS="
-Djava.library.path=/opt/pam/"</code></li>
+<li><p>Add the following block to <code>drill.exec</code> in the
<code>drill-override.conf</code> file located in
<code><DRILLINSTALL_HOME>/conf/</code>: </p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">
drill.exec {
+ security.user.auth {
+ enabled: true,
+ packages += "org.apache.drill.exec.rpc.user.security",
+ impl: "pam",
+ pam_profiles: [ "sudo", "login" ]
+ }
+ }
+</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 <hostname>
-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">
<DRILLINSTALL_HOME>/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 = "testUser1";
+ public static final String TEST_USER_2 = "testUser2";
+ public static final String TEST_USER_1_PASSWORD =
"testUser1Password";
+ public static final String TEST_USER_2_PASSWORD =
"testUser2Password";
+
+ /**
+ * 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 <i>user</i> and
<i>password</i> 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) &&
TEST_USER_1_PASSWORD.equals(password)) &&
+ !(TEST_USER_2.equals(user) &&
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><DRILLINSTALL_HOME>/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><DRILLINSTALL_HOME>/conf/</code>: </p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">
drill.exec {
+ security.user.auth {
+ enabled: true,
+ packages += "myorg.dept.drill.security",
+ impl: "myCustomAuthenticatorType"
+ }
+ }
+</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 <hostname>
-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">
<DRILLINSTALL_HOME>/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>