"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5758],{15680:(e,t,n)=>{n.d(t,{xA:()=>u,yg:()=>m});var r=n(96540);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),d=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},u=function(e){var t=d(e.components);return r.createElement(s.Provider,{value:t},e.children)},p="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},c=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),p=d(n),c=a,m=p["".concat(s,".").concat(c)]||p[c]||g[c]||i;return n?r.createElement(m,o(o({ref:t},u),{},{components:n})):r.createElement(m,o({ref:t},u))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=c;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:a,o[1]=l;for(var d=2;d<i;d++)o[d]=n[d];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}c.displayName="MDXCreateElement"},67223:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>s,default:()=>m,frontMatter:()=>l,metadata:()=>d,toc:()=>p});var r=n(58168),a=n(98587),i=(n(96540),n(15680)),o=["components"],l={id:"druid-kerberos",title:"Kerberos"},s=void 0,d={unversionedId:"development/extensions-core/druid-kerberos",id:"development/extensions-core/druid-kerberos",title:"Kerberos",description:"\x3c!--",source:"@site/docs/29.0.0/development/extensions-core/druid-kerberos.md",sourceDirName:"development/extensions-core",slug:"/development/extensions-core/druid-kerberos",permalink:"/docs/29.0.0/development/extensions-core/druid-kerberos",draft:!1,tags:[],version:"current",frontMatter:{id:"druid-kerberos",title:"Kerberos"}},u={},p=[{value:"Configuration",id:"configuration",level:2},{value:"Creating an Authenticator",id:"creating-an-authenticator",level:3},{value:"Properties",id:"properties",level:3},{value:"<code>druid.auth.authenticator.kerberos.excludedPaths</code>",id:"druidauthauthenticatorkerberosexcludedpaths",level:3},{value:"Auth to Local Syntax",id:"auth-to-local-syntax",level:3},{value:"Increasing HTTP Header size for large SPNEGO negotiate header",id:"increasing-http-header-size-for-large-spnego-negotiate-header",level:3},{value:"Configuring Kerberos Escalated Client",id:"configuring-kerberos-escalated-client",level:2},{value:"Accessing Druid HTTP end points when kerberos security is enabled",id:"accessing-druid-http-end-points-when-kerberos-security-is-enabled",level:2},{value:"Accessing Coordinator or Overlord console from web browser",id:"accessing-coordinator-or-overlord-console-from-web-browser",level:2},{value:"Sending Queries programmatically",id:"sending-queries-programmatically",level:2}],g={toc:p},c="wrapper";function m(e){var t=e.components,n=(0,a.A)(e,o);return(0,i.yg)(c,(0,r.A)({},g,n,{components:t,mdxType:"MDXLayout"}),(0,i.yg)("p",null,"Apache Druid Extension to enable Authentication for Druid Processes using Kerberos.\nThis extension adds an Authenticator which is used to protect HTTP Endpoints using the simple and protected GSSAPI negotiation mechanism ",(0,i.yg)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/SPNEGO"},"SPNEGO"),".\nMake sure to ",(0,i.yg)("a",{parentName:"p",href:"/docs/29.0.0/configuration/extensions#loading-extensions"},"include")," ",(0,i.yg)("inlineCode",{parentName:"p"},"druid-kerberos")," in the extensions load list."),(0,i.yg)("h2",{id:"configuration"},"Configuration"),(0,i.yg)("h3",{id:"creating-an-authenticator"},"Creating an Authenticator"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre"},'druid.auth.authenticatorChain=["MyKerberosAuthenticator"]\n\ndruid.auth.authenticator.MyKerberosAuthenticator.type=kerberos\n')),(0,i.yg)("p",null,"To use the Kerberos authenticator, add an authenticator with type ",(0,i.yg)("inlineCode",{parentName:"p"},"kerberos"),' to the authenticatorChain. The example above uses the name "MyKerberosAuthenticator" for the Authenticator.'),(0,i.yg)("p",null,"Configuration of the named authenticator is assigned through properties with the form:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre"},"druid.auth.authenticator.<authenticatorName>.<authenticatorProperty>\n")),(0,i.yg)("p",null,'The configuration examples in the rest of this document will use "kerberos" as the name of the authenticator being configured.'),(0,i.yg)("h3",{id:"properties"},"Properties"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:null},"Property"),(0,i.yg)("th",{parentName:"tr",align:null},"Possible Values"),(0,i.yg)("th",{parentName:"tr",align:null},"Description"),(0,i.yg)("th",{parentName:"tr",align:null},"Default"),(0,i.yg)("th",{parentName:"tr",align:null},"required"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"druid.auth.authenticator.kerberos.serverPrincipal")),(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"HTTP/_HOST@EXAMPLE.COM")),(0,i.yg)("td",{parentName:"tr",align:null},"SPNEGO service principal used by druid processes"),(0,i.yg)("td",{parentName:"tr",align:null},"empty"),(0,i.yg)("td",{parentName:"tr",align:null},"Yes")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"druid.auth.authenticator.kerberos.serverKeytab")),(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"/etc/security/keytabs/spnego.service.keytab")),(0,i.yg)("td",{parentName:"tr",align:null},"SPNego service keytab used by druid processes"),(0,i.yg)("td",{parentName:"tr",align:null},"empty"),(0,i.yg)("td",{parentName:"tr",align:null},"Yes")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"druid.auth.authenticator.kerberos.authToLocal")),(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"RULE:[1:$1@$0](druid@EXAMPLE.COM)s/.*/druid DEFAULT")),(0,i.yg)("td",{parentName:"tr",align:null},"It allows you to set a general rule for mapping principal names to local user names. It will be used if there is not an explicit mapping for the principal name that is being translated."),(0,i.yg)("td",{parentName:"tr",align:null},"DEFAULT"),(0,i.yg)("td",{parentName:"tr",align:null},"No")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"druid.auth.authenticator.kerberos.cookieSignatureSecret")),(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"secretString")),(0,i.yg)("td",{parentName:"tr",align:null},"Secret used to sign authentication cookies. It is advisable to explicitly set it, if you have multiple druid nodes running on same machine with different ports as the Cookie Specification does not guarantee isolation by port."),(0,i.yg)("td",{parentName:"tr",align:null},"Random value"),(0,i.yg)("td",{parentName:"tr",align:null},"No")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"druid.auth.authenticator.kerberos.authorizerName")),(0,i.yg)("td",{parentName:"tr",align:null},"Depends on available authorizers"),(0,i.yg)("td",{parentName:"tr",align:null},"Authorizer that requests should be directed to"),(0,i.yg)("td",{parentName:"tr",align:null},"Empty"),(0,i.yg)("td",{parentName:"tr",align:null},"Yes")))),(0,i.yg)("p",null,"As a note, it is required that the SPNego principal in use by the druid processes must start with HTTP (This specified by ",(0,i.yg)("a",{parentName:"p",href:"https://tools.ietf.org/html/rfc4559"},"RFC-4559"),') and must be of the form "HTTP/_HOST@REALM".\nThe special string _HOST will be replaced automatically with the value of config ',(0,i.yg)("inlineCode",{parentName:"p"},"druid.host")),(0,i.yg)("h3",{id:"druidauthauthenticatorkerberosexcludedpaths"},(0,i.yg)("inlineCode",{parentName:"h3"},"druid.auth.authenticator.kerberos.excludedPaths")),(0,i.yg)("p",null,"In older releases, the Kerberos authenticator had an ",(0,i.yg)("inlineCode",{parentName:"p"},"excludedPaths")," property that allowed the user to specify a list of paths where authentication checks should be skipped. This property has been removed from the Kerberos authenticator because the path exclusion functionality is now handled across all authenticators/authorizers by setting ",(0,i.yg)("inlineCode",{parentName:"p"},"druid.auth.unsecuredPaths"),", as described in the ",(0,i.yg)("a",{parentName:"p",href:"/docs/29.0.0/operations/auth"},"main auth documentation"),"."),(0,i.yg)("h3",{id:"auth-to-local-syntax"},"Auth to Local Syntax"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"druid.auth.authenticator.kerberos.authToLocal")," allows you to set a general rules for mapping principal names to local user names.\nThe syntax for mapping rules is ",(0,i.yg)("inlineCode",{parentName:"p"},"RULE:\\[n:string](regexp)s/pattern/replacement/g"),". The integer n indicates how many components the target principal should have. If this matches, then a string will be formed from string, substituting the realm of the principal for $0 and the nth component of the principal for $n. e.g. if the principal was druid/admin then ",(0,i.yg)("inlineCode",{parentName:"p"},"\\[2:$2$1suffix]")," would result in the string ",(0,i.yg)("inlineCode",{parentName:"p"},"admindruidsuffix"),".\nIf this string matches regexp, then the s//","[","g] substitution command will be run over the string. The optional g will cause the substitution to be global over the string, instead of replacing only the first match in the string.\nIf required, multiple rules can be joined by newline character and specified as a String."),(0,i.yg)("h3",{id:"increasing-http-header-size-for-large-spnego-negotiate-header"},"Increasing HTTP Header size for large SPNEGO negotiate header"),(0,i.yg)("p",null,"In Active Directory environment, SPNEGO token in the Authorization header includes PAC (Privilege Access Certificate) information,\nwhich includes all security groups for the user. In some cases when the user belongs to many security groups the header to grow beyond what druid can handle by default.\nIn such cases, max request header size that druid can handle can be increased by setting ",(0,i.yg)("inlineCode",{parentName:"p"},"druid.server.http.maxRequestHeaderSize")," (default 8KiB) and ",(0,i.yg)("inlineCode",{parentName:"p"},"druid.router.http.maxRequestBufferSize")," (default 8KiB)."),(0,i.yg)("h2",{id:"configuring-kerberos-escalated-client"},"Configuring Kerberos Escalated Client"),(0,i.yg)("p",null,"Druid internal processes communicate with each other using an escalated http Client. A Kerberos enabled escalated HTTP Client can be configured by following properties -"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:null},"Property"),(0,i.yg)("th",{parentName:"tr",align:null},"Example Values"),(0,i.yg)("th",{parentName:"tr",align:null},"Description"),(0,i.yg)("th",{parentName:"tr",align:null},"Default"),(0,i.yg)("th",{parentName:"tr",align:null},"required"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"druid.escalator.type")),(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"kerberos")),(0,i.yg)("td",{parentName:"tr",align:null},"Type of Escalator client used for internal process communication."),(0,i.yg)("td",{parentName:"tr",align:null},"n/a"),(0,i.yg)("td",{parentName:"tr",align:null},"Yes")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"druid.escalator.internalClientPrincipal")),(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"druid@EXAMPLE.COM")),(0,i.yg)("td",{parentName:"tr",align:null},"Principal user name, used for internal process communication"),(0,i.yg)("td",{parentName:"tr",align:null},"n/a"),(0,i.yg)("td",{parentName:"tr",align:null},"Yes")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"druid.escalator.internalClientKeytab")),(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"/etc/security/keytabs/druid.keytab")),(0,i.yg)("td",{parentName:"tr",align:null},"Path to keytab file used for internal process communication"),(0,i.yg)("td",{parentName:"tr",align:null},"n/a"),(0,i.yg)("td",{parentName:"tr",align:null},"Yes")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"druid.escalator.authorizerName")),(0,i.yg)("td",{parentName:"tr",align:null},(0,i.yg)("inlineCode",{parentName:"td"},"MyBasicAuthorizer")),(0,i.yg)("td",{parentName:"tr",align:null},"Authorizer that requests should be directed to."),(0,i.yg)("td",{parentName:"tr",align:null},"n/a"),(0,i.yg)("td",{parentName:"tr",align:null},"Yes")))),(0,i.yg)("h2",{id:"accessing-druid-http-end-points-when-kerberos-security-is-enabled"},"Accessing Druid HTTP end points when kerberos security is enabled"),(0,i.yg)("ol",null,(0,i.yg)("li",{parentName:"ol"},(0,i.yg)("p",{parentName:"li"},"To access druid HTTP endpoints via curl user will need to first login using ",(0,i.yg)("inlineCode",{parentName:"p"},"kinit")," command as follows -"),(0,i.yg)("pre",{parentName:"li"},(0,i.yg)("code",{parentName:"pre"},"kinit -k -t <path_to_keytab_file> user@REALM.COM\n"))),(0,i.yg)("li",{parentName:"ol"},(0,i.yg)("p",{parentName:"li"},"Once the login is successful verify that login is successful using ",(0,i.yg)("inlineCode",{parentName:"p"},"klist")," command")),(0,i.yg)("li",{parentName:"ol"},(0,i.yg)("p",{parentName:"li"},"Now you can access druid HTTP endpoints using curl command as follows -"),(0,i.yg)("pre",{parentName:"li"},(0,i.yg)("code",{parentName:"pre"},"curl --negotiate -u:anyUser -b ~/cookies.txt -c ~/cookies.txt -X POST -H'Content-Type: application/json' <HTTP_END_POINT>\n")),(0,i.yg)("p",{parentName:"li"},"e.g to send a query from file ",(0,i.yg)("inlineCode",{parentName:"p"},"query.json")," to the Druid Broker use this command -"),(0,i.yg)("pre",{parentName:"li"},(0,i.yg)("code",{parentName:"pre"},"curl --negotiate -u:anyUser -b ~/cookies.txt -c ~/cookies.txt -X POST -H'Content-Type: application/json'  http://broker-host:port/druid/v2/?pretty -d @query.json\n")),(0,i.yg)("p",{parentName:"li"},"Note: Above command will authenticate the user first time using SPNego negotiate mechanism and store the authentication cookie in file. For subsequent requests the cookie will be used for authentication."))),(0,i.yg)("h2",{id:"accessing-coordinator-or-overlord-console-from-web-browser"},"Accessing Coordinator or Overlord console from web browser"),(0,i.yg)("p",null,"To access Coordinator/Overlord console from browser you will need to configure your browser for SPNego authentication as follows -"),(0,i.yg)("ol",null,(0,i.yg)("li",{parentName:"ol"},"Safari - No configurations required."),(0,i.yg)("li",{parentName:"ol"},"Firefox - Open firefox and follow these steps -",(0,i.yg)("ol",{parentName:"li"},(0,i.yg)("li",{parentName:"ol"},"Go to ",(0,i.yg)("inlineCode",{parentName:"li"},"about:config")," and search for ",(0,i.yg)("inlineCode",{parentName:"li"},"network.negotiate-auth.trusted-uris"),"."),(0,i.yg)("li",{parentName:"ol"},"Double-click and add the following values: ",(0,i.yg)("inlineCode",{parentName:"li"},'"http://druid-coordinator-hostname:ui-port"')," and ",(0,i.yg)("inlineCode",{parentName:"li"},'"http://druid-overlord-hostname:port"')))),(0,i.yg)("li",{parentName:"ol"},"Google Chrome - From the command line run following commands -",(0,i.yg)("ol",{parentName:"li"},(0,i.yg)("li",{parentName:"ol"},(0,i.yg)("inlineCode",{parentName:"li"},'google-chrome --auth-server-whitelist="druid-coordinator-hostname" --auth-negotiate-delegate-whitelist="druid-coordinator-hostname"')),(0,i.yg)("li",{parentName:"ol"},(0,i.yg)("inlineCode",{parentName:"li"},'google-chrome --auth-server-whitelist="druid-overlord-hostname" --auth-negotiate-delegate-whitelist="druid-overlord-hostname"')))),(0,i.yg)("li",{parentName:"ol"},"Internet Explorer -",(0,i.yg)("ol",{parentName:"li"},(0,i.yg)("li",{parentName:"ol"},"Configure trusted websites to include ",(0,i.yg)("inlineCode",{parentName:"li"},'"druid-coordinator-hostname"')," and ",(0,i.yg)("inlineCode",{parentName:"li"},'"druid-overlord-hostname"')),(0,i.yg)("li",{parentName:"ol"},"Allow negotiation for the UI website.")))),(0,i.yg)("h2",{id:"sending-queries-programmatically"},"Sending Queries programmatically"),(0,i.yg)("p",null,"Many HTTP client libraries, such as Apache Commons ",(0,i.yg)("a",{parentName:"p",href:"https://hc.apache.org/"},"HttpComponents"),", already have support for performing SPNEGO authentication. You can use any of the available HTTP client library to communicate with druid cluster."))}m.isMDXComponent=!0}}]);