http://git-wip-us.apache.org/repos/asf/drill-site/blob/2fe8d15e/docs/configuring-drill-to-use-spnego-for-http-authentication/index.html ---------------------------------------------------------------------- diff --git a/docs/configuring-drill-to-use-spnego-for-http-authentication/index.html b/docs/configuring-drill-to-use-spnego-for-http-authentication/index.html new file mode 100644 index 0000000..aeb5138 --- /dev/null +++ b/docs/configuring-drill-to-use-spnego-for-http-authentication/index.html @@ -0,0 +1,1391 @@ +<!DOCTYPE html> +<html> + +<head> + +<meta charset="UTF-8"> +<meta name=viewport content="width=device-width, initial-scale=1"> + + +<title>Configuring Drill to use SPNEGO for HTTP Authentication - Apache Drill</title> + +<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"/> +<link href='//fonts.googleapis.com/css?family=PT+Sans' rel='stylesheet' type='text/css'/> +<link href="/css/site.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 src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" language="javascript" type="text/javascript"></script> +<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js" language="javascript" type="text/javascript"></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/drill-on-yarn/">Drill-on-YARN</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/performance-tuning/">Performance Tuning</a></li> + + <li><a href="/docs/log-and-debug/">Log and Debug</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/troubleshooting/">Troubleshooting</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/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> + + <link href="/css/content.css" rel="stylesheet" type="text/css"> + + + + + + + +<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/drill-query-execution/">Drill Query Execution</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/core-modules/">Core Modules</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/performance/">Performance</a></li> + + + </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/lesson-1-learn-about-the-data-set/">Lesson 1: Learn about the Data Set</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/lesson-2-run-queries-with-ansi-sql/">Lesson 2: Run Queries with ANSI SQL</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/lesson-3-run-queries-on-complex-data-types/">Lesson 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> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/analyzing-social-media/">Analyzing Social Media</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/analyzing-data-using-window-functions/">Analyzing Data Using Window Functions</a></li> + + + </ul> + + + + <li class="toctree-l1"><a href="javascript: void(0);">Drill-on-YARN</a></li> + <ul style="display: none"> + + + <li class="toctree-l2"><a class="reference internal" href="/docs/drill-on-yarn-introduction/">Drill-on-YARN Introduction</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/creating-a-basic-drill-cluster/">Creating a Basic Drill Cluster</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/launch-drill-under-yarn/">Launch Drill Under YARN</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/configuration-reference/">Configuration Reference</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/drill-on-yarn-command-line-tool/">Drill-on-YARN Command-Line Tool</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/using-the-drill-on-yarn-web-ui/">Using the Drill-on-YARN Web UI</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/multiple-drill-clusters/">Multiple Drill Clusters</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/enabling-web-ui-security/">Enabling Web UI Security</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/appendix-a-release-note-issues/">Appendix A: Release Note Issues</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/appendix-b-drill-env-sh-settings/">Appendix B: drill-env.sh Settings</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/appendix-c-troubleshooting/">Appendix C: Troubleshooting</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/appendix-d-recreate-the-drill-archive/">Appendix D: Recreate the Drill Archive</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 class="reference internal" href="/docs/migrating-parquet-data/">Migrating Parquet Data</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> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/starting-the-web-console/">Starting the Web Console</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/identifying-multiple-drill-versions-in-a-cluster/">Identifying Multiple Drill Versions in a Cluster</a></li> + + + </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);">Securing Drill</a></li> + <ul style=""> + + <li class="toctree-l3"><a class="reference internal" href="/docs/securing-drill-introduction/">Securing Drill Introduction</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/secure-communication-paths/">Secure Communication Paths</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/roles-and-privileges/">Roles and Privileges</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-user-impersonation/">Configuring User Impersonation</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-inbound-impersonation/">Configuring Inbound Impersonation</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-user-impersonation-with-hive-authorization/">Configuring User Impersonation with Hive Authorization</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-user-security/">Configuring User Security</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-plain-security/">Configuring Plain Security</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/using-libpam4j-as-the-pam-authenticator/">Using libpam4j as the PAM Authenticator</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/using-jpam-as-the-pam-authenticator/">Using jpam as the PAM Authenticator</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-kerberos-security/">Configuring Kerberos Security</a></li> + + <li class="toctree-l3 current"><a class="reference internal" href="/docs/configuring-drill-to-use-spnego-for-http-authentication/">Configuring Drill to use SPNEGO for HTTP Authentication</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security</a></li> + + </ul> + + + + <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 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/configuring-the-drill-shell/">Configuring the Drill Shell</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/configuring-cgroups-to-control-cpu-usage/">Configuring cgroups to Control CPU Usage</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-basics/">Plugin Configuration Basics</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/drill-default-input-format/">Drill Default Input Format</a></li> + + </ul> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/file-system-storage-plugin/">File System Storage Plugin</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/hbase-storage-plugin/">HBase Storage Plugin</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/hive-storage-plugin/">Hive Storage Plugin</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/rdbms-storage-plugin/">RDBMS Storage Plugin</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/mongodb-storage-plugin/">MongoDB Storage Plugin</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/mapr-db-format/">MapR-DB Format</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/s3-storage-plugin/">S3 Storage Plugin</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/httpd-storage-plugin/">HTTPD Storage Plugin</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/opentsdb-storage-plugin/">OpenTSDB Storage Plugin</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/kafka-storage-plugin/">Kafka Storage Plugin</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-the-jdbc-driver/">Using the JDBC Driver</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/using-jdbc-with-squirrel-on-windows/">Using JDBC with SQuirreL on Windows</a></li> + + + + <li class="toctree-l2"><a href="javascript: void(0);">Installing the ODBC Driver</a></li> + <ul style="display: none"> + + <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/installing-the-driver-on-windows/">Installing the Driver on Windows</a></li> + + </ul> + + + + <li class="toctree-l2"><a href="javascript: void(0);">Configuring ODBC</a></li> + <ul style="display: none"> + + <li class="toctree-l3"><a class="reference internal" href="/docs/odbc-configuration-reference/">ODBC Configuration Reference</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/logging-and-tracing/">Logging and Tracing</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-odbc-on-linux/">Configuring ODBC on Linux</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-odbc-on-mac-os-x/">Configuring ODBC on Mac OS X</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-odbc-on-windows/">Configuring ODBC on Windows</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 Drill Explorer</a></li> + <ul style="display: none"> + + <li class="toctree-l3"><a class="reference internal" href="/docs/drill-explorer-introduction/">Drill Explorer Introduction</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/connecting-drill-explorer-to-data/">Connecting Drill Explorer to Data</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/browsing-data-and-defining-views/">Browsing Data and Defining Views</a></li> + + </ul> + + + + <li class="toctree-l2"><a href="javascript: void(0);">Using Drill with BI Tools</a></li> + <ul style="display: none"> + + <li class="toctree-l3"><a class="reference internal" href="/docs/using-drill-with-bi-tools-introduction/">Using Drill with BI Tools Introduction</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-microstrategy-analytics-with-apache-drill/">Using MicroStrategy Analytics with Apache Drill</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/using-tibco-spotfire-desktop-with-drill/">Using Tibco Spotfire Desktop with Drill</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-tibco-spotfire-server-with-drill/">Configuring Tibco Spotfire Server with Drill</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/using-qlik-sense-with-drill/">Using Qlik Sense with Drill</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/using-apache-drill-with-tableau-10-2/">Using Apache Drill with Tableau 10.2</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/using-apache-drill-with-tableau-9-desktop/">Using Apache Drill with Tableau 9 Desktop</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/using-apache-drill-with-tableau-9-server/">Using Apache Drill with Tableau 9 Server</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/using-information-builders-webfocus-with-apache-drill/">Using Information Buildersâ WebFOCUS with Apache Drill</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-jreport-with-drill/">Configuring JReport with Drill</a></li> + + </ul> + + + </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-avro-files/">Querying Avro Files</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> + + <li class="toctree-l3"><a class="reference internal" href="/docs/querying-sequence-files/">Querying Sequence Files</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-console/">Monitoring and Canceling Queries in the Drill Web Console</a></li> + + + </ul> + + + + <li class="toctree-l1"><a href="javascript: void(0);">Performance Tuning</a></li> + <ul style="display: none"> + + + <li class="toctree-l2"><a class="reference internal" href="/docs/performance-tuning-introduction/">Performance Tuning Introduction</a></li> + + + + <li class="toctree-l2"><a href="javascript: void(0);">Partition Pruning</a></li> + <ul style="display: none"> + + <li class="toctree-l3"><a class="reference internal" href="/docs/partition-pruning-introduction/">Partition Pruning Introduction</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/how-to-partition-data/">How to Partition Data</a></li> + + </ul> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/asynchronous-parquet-reader/">Asynchronous Parquet Reader</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/optimizing-parquet-metadata-reading/">Optimizing Parquet Metadata Reading</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/parquet-filter-pushdown/">Parquet Filter Pushdown</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/hive-metadata-caching/">Hive Metadata Caching</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/choosing-a-storage-format/">Choosing a Storage Format</a></li> + + + + <li class="toctree-l2"><a href="javascript: void(0);">Query Plans and Tuning</a></li> + <ul style="display: none"> + + <li class="toctree-l3"><a class="reference internal" href="/docs/query-plans-and-tuning-introduction/">Query Plans and Tuning Introduction</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/join-planning-guidelines/">Join Planning Guidelines</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/guidelines-for-optimizing-aggregation/">Guidelines for Optimizing Aggregation</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/modifying-query-planning-options/">Modifying Query Planning Options</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/sort-based-and-hash-based-memory-constrained-operators/">Sort-Based and Hash-Based Memory-Constrained Operators</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/enabling-query-queuing/">Enabling Query Queuing</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/throttling/">Throttling</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/controlling-parallelization-to-balance-performance-with-multi-tenancy/">Controlling Parallelization to Balance Performance with Multi-Tenancy</a></li> + + </ul> + + + + <li class="toctree-l2"><a href="javascript: void(0);">Identifying Performance Issues</a></li> + <ul style="display: none"> + + <li class="toctree-l3"><a class="reference internal" href="/docs/query-plans/">Query Plans</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/query-profiles/">Query Profiles</a></li> + + </ul> + + + + <li class="toctree-l2"><a href="javascript: void(0);">Performance Tuning Reference</a></li> + <ul style="display: none"> + + <li class="toctree-l3"><a class="reference internal" href="/docs/query-profile-column-descriptions/">Query Profile Column Descriptions</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/physical-operators/">Physical Operators</a></li> + + </ul> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/monitoring-metrics/">Monitoring Metrics</a></li> + + + </ul> + + + + <li class="toctree-l1"><a href="javascript: void(0);">Log and Debug</a></li> + <ul style="display: none"> + + + <li class="toctree-l2"><a class="reference internal" href="/docs/log-and-debug-introduction/">Log and Debug Introduction</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/error-messages/">Error Messages</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/modify-logback-xml/">Modify logback.xml</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/review-the-java-stack-trace/">Review the Java Stack Trace</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/query-audit-logging/">Query Audit Logging</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);">SQL Window Functions</a></li> + <ul style="display: none"> + + <li class="toctree-l3"><a class="reference internal" href="/docs/sql-window-functions-introduction/">SQL Window Functions Introduction</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/aggregate-window-functions/">Aggregate Window Functions</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/ranking-window-functions/">Ranking Window Functions</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/value-window-functions/">Value Window Functions</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/sql-window-functions-examples/">SQL Window Functions Examples</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/set/">SET</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/reset/">RESET</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/alter-system/">ALTER SYSTEM</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/create-table-as-ctas/">CREATE TABLE AS (CTAS)</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/create-temporary-table-as-cttas/">CREATE TEMPORARY TABLE AS (CTTAS)</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/create-function-using-jar/">CREATE FUNCTION USING JAR</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/partition-by-clause/">PARTITION BY Clause</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/create-view/">CREATE VIEW</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/describe/">DESCRIBE</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/drop-function-using-jar/">DROP FUNCTION USING JAR</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/drop-table/">DROP TABLE</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/drop-view/">DROP VIEW</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/explain/">EXPLAIN</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/select/">SELECT</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/select-list/">SELECT List</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/from-clause/">FROM Clause</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/group-by-clause/">GROUP BY Clause</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/having-clause/">HAVING Clause</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/limit-clause/">LIMIT Clause</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/offset-clause/">OFFSET Clause</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/order-by-clause/">ORDER BY Clause</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/union-set-operator/">UNION Set Operator</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/where-clause/">WHERE Clause</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/with-clause/">WITH Clause</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/show-databases-and-show-schemas/">SHOW DATABASES and SHOW SCHEMAS</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/show-files/">SHOW FILES</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/show-tables/">SHOW TABLES</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/use/">USE</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> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/text-files-csv-tsv-psv/">Text Files: CSV, TSV, PSV</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/sequence-files/">Sequence Files</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/developing-a-simple-function/">Developing a Simple Function</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: 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 href="javascript: void(0);">Adding Custom Functions to Drill</a></li> + <ul style="display: none"> + + <li class="toctree-l3"><a class="reference internal" href="/docs/adding-custom-functions-to-drill-introduction/">Adding Custom Functions to Drill Introduction</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/manually-adding-custom-functions-to-drill/">Manually Adding Custom Functions to Drill</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/creating-custom-authenticators/">Creating Custom Authenticators</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/dynamic-udfs/">Dynamic UDFs</a></li> + + </ul> + + + + <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 class="reference internal" href="/docs/troubleshooting/">Troubleshooting</a></li> + + + + <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);">REST API</a></li> + <ul style="display: none"> + + <li class="toctree-l3"><a class="reference internal" href="/docs/rest-api-introduction/">REST API Introduction</a></li> + + <li class="toctree-l3"><a class="reference internal" href="/docs/submitting-queries-from-the-rest-api-when-impersonation-is-enabled-and-authentication-is-disabled/">Submitting Queries from the REST API when Impersonation is Enabled and Authentication is Disabled</a></li> + + </ul> + + + + <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> + + </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-1-13-0-release-notes/">Apache Drill 1.13.0 Release Notes</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/apache-drill-1-12-0-release-notes/">Apache Drill 1.12.0 Release Notes</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/apache-drill-1-11-0-release-notes/">Apache Drill 1.11.0 Release Notes</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/apache-drill-1-10-0-release-notes/">Apache Drill 1.10.0 Release Notes</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/apache-drill-1-9-0-release-notes/">Apache Drill 1.9.0 Release Notes</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/apache-drill-1-8-0-release-notes/">Apache Drill 1.8.0 Release Notes</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/apache-drill-1-7-0-release-notes/">Apache Drill 1.7.0 Release Notes</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/apache-drill-1-6-0-release-notes/">Apache Drill 1.6.0 Release Notes</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/apache-drill-1-5-0-release-notes/">Apache Drill 1.5.0 Release Notes</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/apache-drill-1-4-0-release-notes/">Apache Drill 1.4.0 Release Notes</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/apache-drill-1-3-0-release-notes/">Apache Drill 1.3.0 Release Notes</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/apache-drill-1-2-0-release-notes/">Apache Drill 1.2.0 Release Notes</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/apache-drill-1-1-0-release-notes/">Apache Drill 1.1.0 Release Notes</a></li> + + + + <li class="toctree-l2"><a class="reference internal" href="/docs/apache-drill-1-0-0-release-notes/">Apache Drill 1.0.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> + + + + <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-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-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-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> + + + </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 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><a href="/docs/securing-drill/">Securing Drill</a></li> + + <li>Configuring Drill to use SPNEGO for HTTP 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/securing-drill/091-configuring-drill-to-use-spnego-for-http-authentication.md" target="_blank"><i class="fa fa-pencil-square-o"></i></a> + + + <div class="int_title left"> + <h1>Configuring Drill to use SPNEGO for HTTP Authentication</h1> + + </div> + + Apr 3, 2018 + + <link href="/css/docpage.css" rel="stylesheet" type="text/css"> + + <div class="int_text" align="left"> + + <p>Drill 1.13 and later supports the Simple and Protected GSS-API Negotiation mechanism (SPNEGO) to extend the Kerberos-based single sign-on authentication mechanism to HTTP. An administrator can configure both FORM (username and password) and SPNEGO authentication together, which provides the ability for clients with different security preferences to connect to the same Drill cluster. </p> + +<p>When a client (a web browser or a web client tool, such as curl) requests access to a secured page from the web server (Drillbit), the SPNEGO mechanism uses tokens to perform a handshake that authenticates the client browser and the web server. </p> + +<p>The following browsers were tested with Drill configured to use SPNEGO authentication:</p> + +<ul> +<li>Firefox<br></li> +<li>Chrome<br></li> +<li>Safari<br></li> +<li>Web client tool, such as curl<br></li> +</ul> + +<p>An IT administrator configures the web server (Drillbit) to use SPNEGO for authentication. Depending on the system, either the administrator or the user configures the client (web browser or web client tool) to use SPNEGO for authentication. Configuration instructions are presented later in this document. </p> + +<h2 id="prerequisites">Prerequisites</h2> + +<p>SPNEGO authentication for Drill requires the following: </p> + +<ul> +<li>Drill 1.13 installed on each node.<br></li> +<li>Drill provides the required Kerberos (JDBC) plugin as part of the Drill package. To use the plugin, you must have a working Kerberos infrastructure, which Drill does not provide.<br></li> +<li>You must be working in a Linux-based or Windows Active Directory (AD) Kerberos environment with secure clusters and have a Drill server configured for Kerberos. See <a href="/docs/configuring-kerberos-authentication/#enabling-authentication-and-encryption">Enabling Authentication</a>.<br></li> +<li>Kerberos principal and keytab on each Drillbit (web server) that will use SPNEGO for authentication.<br></li> +<li>Kerberos Ticket Granting Ticket on the client machine for the user accessing the Drillbit (web server).<br></li> +<li>Drill web server configured for SPNEGO.<br></li> +</ul> + +<h2 id="configure-spnego-on-the-web-server-and-web-client">Configure SPNEGO on the Web Server and Web Client</h2> + +<p>The following sections provide the steps that an administrator can follow to configure SPNEGO on the web server (Drillbit). An administrator or a user can follow the steps for configuring the Drill client (web browser or client tool, such as curl). </p> + +<h3 id="configuring-spnego-on-the-drillbit-(web-server)">Configuring SPNEGO on the Drillbit (Web Server)</h3> + +<p>To configure SPNEGO on the web server, complete the following steps:<br> +1-Generate a Kerberos principal on each web server that will receive inbound SPNEGO traffic. Each principal must have a corresponding keytab. The principal must have the following form: </p> +<div class="highlight"><pre><code class="language-text" data-lang="text"> âHTTP/<client-known-server-hostname@realm>â + + Example: âHTTP/[email protected]â + //In this example, the client known server hostname is example.QA.LAB. +</code></pre></div> +<p>2-Update the <code><DRILL_HOME>/conf/drill-override.conf</code> file on each Drillbit with the following server-side SPNEGO configurations: </p> + +<ul> +<li><p>To enable SPNEGO, add the following configuration to <code>drill-override.conf</code>: </p> +<div class="highlight"><pre><code class="language-text" data-lang="text"> drill.exec.http: { + spnego.auth.principal:"HTTP/hostname@realm", + spnego.auth.keytab:"path/to/keytab", + auth.mechanisms: [âSPNEGOâ] + } + + //The default authentication mechanism is âFORMâ. +</code></pre></div></li> +<li><p>To enable SPNEGO and FORM authentication, add the following configuration to <code>drill-override.conf</code>: </p> +<div class="highlight"><pre><code class="language-text" data-lang="text"> impersonation: { + enabled: true, + max_chained_user_hops: 3 + }, + security.user.auth: { + enabled: true, + packages += "org.apache.drill.exec.rpc.user.security", + impl: "pam4j", + pam_profiles: [ "sudo", "login" ] + } + drill.exec.http: { + spnego.auth.principal:"HTTP/hostname@realm", + spnego.auth.keytab:"path/to/keytab", + auth.mechanisms: [âSPNEGOâ, âFORMâ] + } + } +</code></pre></div></li> +</ul> + +<p>3-Configure the mapping from a Kerberos principal to a user account used by Drill. By default, the short name, which contains only the primary portion of the principal, is used as the user account known to Drill. This user account name is used to determine if the authenticated user has administrative privileges. </p> + +<ul> +<li>Drill uses a Hadoop Kerberos name and rules to transform the client Kerberos principal to the principal Drill uses internally as the clientâs identity. By default, this mapping rule extracts the first portion from the provided principal. For example, if the principal format is <Name1>/<Name2>@realm, the default rule extracts only Name1 from the principal and stores Name1 as the clientâs identity on server side.<br></li> +<li>Administrators can configure custom rules by setting the <code>drill.exec.security.auth.auth_to_local</code> property in the <code>drill-override.conf</code> file.<br></li> +</ul> + +<h2 id="configuring-spnego-on-the-drill-client-(web-client)">Configuring SPNEGO on the Drill Client (Web Client)</h2> + +<p>An administrator or user can configure SPNEGO on the client (web browser or client tools, such as curl). To configure SPNEGO on the client, a Kerberos Ticket Granting Ticket must exist for the user accessing the web server. The Kerberos ticket must have been created using <code>kinit</code>. The Kerberos ticket translates into a token for SPNEGO. If a user is authenticated through Kerberos, the user is granted a token for SPNEGO.</p> + +<p>The client uses the web server name (in the server-side principal) to access the Drill Web Console. Use the same web server name that is used in the server-side principal to access the Drill Web Console. For example, if the server principal is <code>"HTTP/[email protected]â</code>, the client should use <code>http://example.QA.LAB:8047</code> as the Drill Web Console URL.</p> + +<p>The following sections provide instructions for configuring the supported client-side browsers: </p> + +<p><strong>Note:</strong> SPNEGO is not tested on Windows browsers in Drill 1.13. </p> + +<h3 id="firefox">Firefox</h3> + +<p>To configure Firefox to use a negotiation dialog, such as SPNEGO to authenticate, complete the following steps: </p> + +<p>1-Go to About > Config, and accept the warnings.<br> +2-Navigate to the network settings.<br> +3-Set network.negotiate-auth.delegation-uris to âhttp://,<a href="https://%E2%80%9D">https://â</a>.<br> +4-Set network.negotiate-auth.trusted-uris to âhttp://,<a href="https://%E2%80%9D">https://â</a>. </p> + +<h3 id="chrome">Chrome</h3> + +<p>For MacOS or Linux, add the <code>--auth-server-whitelist</code> parameter to the <code>google-chrome</code> command. For example, to run Chrome from a Linux prompt, run the <code>google-chrome</code> command, as follows:</p> +<div class="highlight"><pre><code class="language-text" data-lang="text"> google-chrome --auth-server-whitelist = "hostname/domain" + Example: google-chrome --auth-server-whitelist = "example.QA.LAB" +</code></pre></div> +<h3 id="safari">Safari</h3> + +<p>No configuration is required for Safari. Safari automatically authenticates using SPNEGO when requested by the server. </p> + +<h3 id="rest-api">REST API</h3> + +<p>You can use CURL commands to log in to SPNEGO, and use SPNEGO over REST.</p> + +<p>Issue the following <code>curl</code> command to log in to SPNEGO, and save the authenticated session cookie to a file, such as <code>cookie.txt</code>, as shown:</p> +<div class="highlight"><pre><code class="language-text" data-lang="text"> curl -v --negotiate -c cookie.txt -u : http://<hostname>:8047/spnegoLogin +</code></pre></div> +<p>Use the authenticated session cookie stored in the file, for example <code>cookie.txt</code>, to access the Drill Web Console pages, as shown in the following example:</p> +<div class="highlight"><pre><code class="language-text" data-lang="text"> curl -v --negotiate -b cookie.txt -u : http://<hostname>:8047/query + Example: curl -v --negotiate -b cookie.txt -u : http://example.QA.LAB:8047/query +</code></pre></div> +<h2 id="logging-in-to-the-drill-web-console">Logging in to the Drill Web Console</h2> + +<p>With the addition of SPNEGO authentication in Drill 1.13, an administrator can configure FORM and/or SPNEGO authentication mechanisms. The Drill Web Console provides two possible log in options for a user depending on the configuration. </p> + +<p>If a user selects FORM, he/she must enter their username and password to access restricted pages in the Drill Web Console. The user is authenticated through PAM. </p> + +<p>If the user selects SPNEGO, the user is automatically logged in if they are an authenticated Kerberos user. </p> + +<p>If accessing a protected page directly, the user is redirected to the authentication log in page.</p> + + + + <div class="doc-nav"> + + <span class="previous-toc"><a href="/docs/configuring-kerberos-security/">â Configuring Kerberos Security</a></span><span class="next-toc"><a href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security â</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> +<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-548b2caa33765e8d" async="async"></script> +</body> +</html>
http://git-wip-us.apache.org/repos/asf/drill-site/blob/2fe8d15e/docs/configuring-inbound-impersonation/index.html ---------------------------------------------------------------------- diff --git a/docs/configuring-inbound-impersonation/index.html b/docs/configuring-inbound-impersonation/index.html index 6b9e4b9..bfefd32 100644 --- a/docs/configuring-inbound-impersonation/index.html +++ b/docs/configuring-inbound-impersonation/index.html @@ -359,6 +359,8 @@ <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-kerberos-security/">Configuring Kerberos Security</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-drill-to-use-spnego-for-http-authentication/">Configuring Drill to use SPNEGO for HTTP Authentication</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security</a></li> </ul> http://git-wip-us.apache.org/repos/asf/drill-site/blob/2fe8d15e/docs/configuring-jreport-with-drill/index.html ---------------------------------------------------------------------- diff --git a/docs/configuring-jreport-with-drill/index.html b/docs/configuring-jreport-with-drill/index.html index b5a4361..dafdfcc 100644 --- a/docs/configuring-jreport-with-drill/index.html +++ b/docs/configuring-jreport-with-drill/index.html @@ -359,6 +359,8 @@ <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-kerberos-security/">Configuring Kerberos Security</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-drill-to-use-spnego-for-http-authentication/">Configuring Drill to use SPNEGO for HTTP Authentication</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security</a></li> </ul> http://git-wip-us.apache.org/repos/asf/drill-site/blob/2fe8d15e/docs/configuring-kerberos-security/index.html ---------------------------------------------------------------------- diff --git a/docs/configuring-kerberos-security/index.html b/docs/configuring-kerberos-security/index.html index 9b2fd94..77cd82c 100644 --- a/docs/configuring-kerberos-security/index.html +++ b/docs/configuring-kerberos-security/index.html @@ -359,6 +359,8 @@ <li class="toctree-l3 current"><a class="reference internal" href="/docs/configuring-kerberos-security/">Configuring Kerberos Security</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-drill-to-use-spnego-for-http-authentication/">Configuring Drill to use SPNEGO for HTTP Authentication</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security</a></li> </ul> @@ -1540,7 +1542,7 @@ <div class="doc-nav"> - <span class="previous-toc"><a href="/docs/using-jpam-as-the-pam-authenticator/">â Using jpam as the PAM Authenticator</a></span><span class="next-toc"><a href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security â</a></span> + <span class="previous-toc"><a href="/docs/using-jpam-as-the-pam-authenticator/">â Using jpam as the PAM Authenticator</a></span><span class="next-toc"><a href="/docs/configuring-drill-to-use-spnego-for-http-authentication/">Configuring Drill to use SPNEGO for HTTP Authentication â</a></span> </div> http://git-wip-us.apache.org/repos/asf/drill-site/blob/2fe8d15e/docs/configuring-multitenant-resources/index.html ---------------------------------------------------------------------- diff --git a/docs/configuring-multitenant-resources/index.html b/docs/configuring-multitenant-resources/index.html index 0994c0d..f439916 100644 --- a/docs/configuring-multitenant-resources/index.html +++ b/docs/configuring-multitenant-resources/index.html @@ -359,6 +359,8 @@ <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-kerberos-security/">Configuring Kerberos Security</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-drill-to-use-spnego-for-http-authentication/">Configuring Drill to use SPNEGO for HTTP Authentication</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security</a></li> </ul> http://git-wip-us.apache.org/repos/asf/drill-site/blob/2fe8d15e/docs/configuring-odbc-on-linux/index.html ---------------------------------------------------------------------- diff --git a/docs/configuring-odbc-on-linux/index.html b/docs/configuring-odbc-on-linux/index.html index bb08602..f7c0f27 100644 --- a/docs/configuring-odbc-on-linux/index.html +++ b/docs/configuring-odbc-on-linux/index.html @@ -359,6 +359,8 @@ <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-kerberos-security/">Configuring Kerberos Security</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-drill-to-use-spnego-for-http-authentication/">Configuring Drill to use SPNEGO for HTTP Authentication</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security</a></li> </ul> http://git-wip-us.apache.org/repos/asf/drill-site/blob/2fe8d15e/docs/configuring-odbc-on-mac-os-x/index.html ---------------------------------------------------------------------- diff --git a/docs/configuring-odbc-on-mac-os-x/index.html b/docs/configuring-odbc-on-mac-os-x/index.html index 6604318..97e0a2d 100644 --- a/docs/configuring-odbc-on-mac-os-x/index.html +++ b/docs/configuring-odbc-on-mac-os-x/index.html @@ -359,6 +359,8 @@ <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-kerberos-security/">Configuring Kerberos Security</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-drill-to-use-spnego-for-http-authentication/">Configuring Drill to use SPNEGO for HTTP Authentication</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security</a></li> </ul> http://git-wip-us.apache.org/repos/asf/drill-site/blob/2fe8d15e/docs/configuring-odbc-on-windows/index.html ---------------------------------------------------------------------- diff --git a/docs/configuring-odbc-on-windows/index.html b/docs/configuring-odbc-on-windows/index.html index e387bda..01ca9ad 100644 --- a/docs/configuring-odbc-on-windows/index.html +++ b/docs/configuring-odbc-on-windows/index.html @@ -359,6 +359,8 @@ <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-kerberos-security/">Configuring Kerberos Security</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-drill-to-use-spnego-for-http-authentication/">Configuring Drill to use SPNEGO for HTTP Authentication</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security</a></li> </ul> http://git-wip-us.apache.org/repos/asf/drill-site/blob/2fe8d15e/docs/configuring-odbc/index.html ---------------------------------------------------------------------- diff --git a/docs/configuring-odbc/index.html b/docs/configuring-odbc/index.html index 1864bd2..5f385e8 100644 --- a/docs/configuring-odbc/index.html +++ b/docs/configuring-odbc/index.html @@ -359,6 +359,8 @@ <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-kerberos-security/">Configuring Kerberos Security</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-drill-to-use-spnego-for-http-authentication/">Configuring Drill to use SPNEGO for HTTP Authentication</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security</a></li> </ul> http://git-wip-us.apache.org/repos/asf/drill-site/blob/2fe8d15e/docs/configuring-plain-security/index.html ---------------------------------------------------------------------- diff --git a/docs/configuring-plain-security/index.html b/docs/configuring-plain-security/index.html index 411c3f3..eb08497 100644 --- a/docs/configuring-plain-security/index.html +++ b/docs/configuring-plain-security/index.html @@ -359,6 +359,8 @@ <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-kerberos-security/">Configuring Kerberos Security</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-drill-to-use-spnego-for-http-authentication/">Configuring Drill to use SPNEGO for HTTP Authentication</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security</a></li> </ul> http://git-wip-us.apache.org/repos/asf/drill-site/blob/2fe8d15e/docs/configuring-resources-for-a-shared-drillbit/index.html ---------------------------------------------------------------------- diff --git a/docs/configuring-resources-for-a-shared-drillbit/index.html b/docs/configuring-resources-for-a-shared-drillbit/index.html index 2cd3080..836d2ac 100644 --- a/docs/configuring-resources-for-a-shared-drillbit/index.html +++ b/docs/configuring-resources-for-a-shared-drillbit/index.html @@ -359,6 +359,8 @@ <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-kerberos-security/">Configuring Kerberos Security</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-drill-to-use-spnego-for-http-authentication/">Configuring Drill to use SPNEGO for HTTP Authentication</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security</a></li> </ul> http://git-wip-us.apache.org/repos/asf/drill-site/blob/2fe8d15e/docs/configuring-the-drill-shell/index.html ---------------------------------------------------------------------- diff --git a/docs/configuring-the-drill-shell/index.html b/docs/configuring-the-drill-shell/index.html index 4ed1c44..b78ce36 100644 --- a/docs/configuring-the-drill-shell/index.html +++ b/docs/configuring-the-drill-shell/index.html @@ -359,6 +359,8 @@ <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-kerberos-security/">Configuring Kerberos Security</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-drill-to-use-spnego-for-http-authentication/">Configuring Drill to use SPNEGO for HTTP Authentication</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security</a></li> </ul> http://git-wip-us.apache.org/repos/asf/drill-site/blob/2fe8d15e/docs/configuring-tibco-spotfire-server-with-drill/index.html ---------------------------------------------------------------------- diff --git a/docs/configuring-tibco-spotfire-server-with-drill/index.html b/docs/configuring-tibco-spotfire-server-with-drill/index.html index 984e530..2a1b148 100644 --- a/docs/configuring-tibco-spotfire-server-with-drill/index.html +++ b/docs/configuring-tibco-spotfire-server-with-drill/index.html @@ -359,6 +359,8 @@ <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-kerberos-security/">Configuring Kerberos Security</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-drill-to-use-spnego-for-http-authentication/">Configuring Drill to use SPNEGO for HTTP Authentication</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security</a></li> </ul> http://git-wip-us.apache.org/repos/asf/drill-site/blob/2fe8d15e/docs/configuring-user-impersonation-with-hive-authorization/index.html ---------------------------------------------------------------------- diff --git a/docs/configuring-user-impersonation-with-hive-authorization/index.html b/docs/configuring-user-impersonation-with-hive-authorization/index.html index b094a6a..5678829 100644 --- a/docs/configuring-user-impersonation-with-hive-authorization/index.html +++ b/docs/configuring-user-impersonation-with-hive-authorization/index.html @@ -359,6 +359,8 @@ <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-kerberos-security/">Configuring Kerberos Security</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-drill-to-use-spnego-for-http-authentication/">Configuring Drill to use SPNEGO for HTTP Authentication</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security</a></li> </ul> http://git-wip-us.apache.org/repos/asf/drill-site/blob/2fe8d15e/docs/configuring-user-impersonation/index.html ---------------------------------------------------------------------- diff --git a/docs/configuring-user-impersonation/index.html b/docs/configuring-user-impersonation/index.html index 48843a7..b2a6153 100644 --- a/docs/configuring-user-impersonation/index.html +++ b/docs/configuring-user-impersonation/index.html @@ -359,6 +359,8 @@ <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-kerberos-security/">Configuring Kerberos Security</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-drill-to-use-spnego-for-http-authentication/">Configuring Drill to use SPNEGO for HTTP Authentication</a></li> + <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-web-console-and-rest-api-security/">Configuring Web Console and REST API Security</a></li> </ul>
