"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7829],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>h});var r=n(7294);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",c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=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),m=a,h=p["".concat(s,".").concat(m)]||p[m]||c[m]||i;return n?r.createElement(h,o(o({ref:t},u),{},{components:n})):r.createElement(h,o({ref:t},u))}));function h(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=m;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)}m.displayName="MDXCreateElement"},7901:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>s,default:()=>h,frontMatter:()=>l,metadata:()=>d,toc:()=>p});var r=n(7462),a=n(3366),i=(n(7294),n(3905)),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/26.0.0/development/extensions-core/druid-kerberos.md",sourceDirName:"development/extensions-core",slug:"/development/extensions-core/druid-kerberos",permalink:"/docs/26.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}],c={toc:p},m="wrapper";function h(e){var t=e.components,n=(0,a.Z)(e,o);return(0,i.kt)(m,(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("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.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/SPNEGO"},"SPNEGO"),".\nMake sure to ",(0,i.kt)("a",{parentName:"p",href:"/docs/26.0.0/development/extensions#loading-extensions"},"include")," ",(0,i.kt)("inlineCode",{parentName:"p"},"druid-kerberos")," in the extensions load list."),(0,i.kt)("h2",{id:"configuration"},"Configuration"),(0,i.kt)("h3",{id:"creating-an-authenticator"},"Creating an Authenticator"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},'druid.auth.authenticatorChain=["MyKerberosAuthenticator"]\n\ndruid.auth.authenticator.MyKerberosAuthenticator.type=kerberos\n')),(0,i.kt)("p",null,"To use the Kerberos authenticator, add an authenticator with type ",(0,i.kt)("inlineCode",{parentName:"p"},"kerberos"),' to the authenticatorChain. The example above uses the name "MyKerberosAuthenticator" for the Authenticator.'),(0,i.kt)("p",null,"Configuration of the named authenticator is assigned through properties with the form:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"druid.auth.authenticator.<authenticatorName>.<authenticatorProperty>\n")),(0,i.kt)("p",null,'The configuration examples in the rest of this document will use "kerberos" as the name of the authenticator being configured.'),(0,i.kt)("h3",{id:"properties"},"Properties"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Property"),(0,i.kt)("th",{parentName:"tr",align:null},"Possible Values"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Default"),(0,i.kt)("th",{parentName:"tr",align:null},"required"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"druid.auth.authenticator.kerberos.serverPrincipal")),(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"HTTP/_HOST@EXAMPLE.COM")),(0,i.kt)("td",{parentName:"tr",align:null},"SPNEGO service principal used by druid processes"),(0,i.kt)("td",{parentName:"tr",align:null},"empty"),(0,i.kt)("td",{parentName:"tr",align:null},"Yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"druid.auth.authenticator.kerberos.serverKeytab")),(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"/etc/security/keytabs/spnego.service.keytab")),(0,i.kt)("td",{parentName:"tr",align:null},"SPNego service keytab used by druid processes"),(0,i.kt)("td",{parentName:"tr",align:null},"empty"),(0,i.kt)("td",{parentName:"tr",align:null},"Yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"druid.auth.authenticator.kerberos.authToLocal")),(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"RULE:[1:$1@$0](druid@EXAMPLE.COM)s/.*/druid DEFAULT")),(0,i.kt)("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.kt)("td",{parentName:"tr",align:null},"DEFAULT"),(0,i.kt)("td",{parentName:"tr",align:null},"No")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"druid.auth.authenticator.kerberos.cookieSignatureSecret")),(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"secretString")),(0,i.kt)("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.kt)("td",{parentName:"tr",align:null},"Random value"),(0,i.kt)("td",{parentName:"tr",align:null},"No")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"druid.auth.authenticator.kerberos.authorizerName")),(0,i.kt)("td",{parentName:"tr",align:null},"Depends on available authorizers"),(0,i.kt)("td",{parentName:"tr",align:null},"Authorizer that requests should be directed to"),(0,i.kt)("td",{parentName:"tr",align:null},"Empty"),(0,i.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,i.kt)("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.kt)("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.kt)("inlineCode",{parentName:"p"},"druid.host")),(0,i.kt)("h3",{id:"druidauthauthenticatorkerberosexcludedpaths"},(0,i.kt)("inlineCode",{parentName:"h3"},"druid.auth.authenticator.kerberos.excludedPaths")),(0,i.kt)("p",null,"In older releases, the Kerberos authenticator had an ",(0,i.kt)("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.kt)("inlineCode",{parentName:"p"},"druid.auth.unsecuredPaths"),", as described in the ",(0,i.kt)("a",{parentName:"p",href:"/docs/26.0.0/design/auth"},"main auth documentation"),"."),(0,i.kt)("h3",{id:"auth-to-local-syntax"},"Auth to Local Syntax"),(0,i.kt)("p",null,(0,i.kt)("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.kt)("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.kt)("inlineCode",{parentName:"p"},"\\[2:$2$1suffix]")," would result in the string ",(0,i.kt)("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.kt)("h3",{id:"increasing-http-header-size-for-large-spnego-negotiate-header"},"Increasing HTTP Header size for large SPNEGO negotiate header"),(0,i.kt)("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.kt)("inlineCode",{parentName:"p"},"druid.server.http.maxRequestHeaderSize")," (default 8KiB) and ",(0,i.kt)("inlineCode",{parentName:"p"},"druid.router.http.maxRequestBufferSize")," (default 8KiB)."),(0,i.kt)("h2",{id:"configuring-kerberos-escalated-client"},"Configuring Kerberos Escalated Client"),(0,i.kt)("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.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Property"),(0,i.kt)("th",{parentName:"tr",align:null},"Example Values"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Default"),(0,i.kt)("th",{parentName:"tr",align:null},"required"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"druid.escalator.type")),(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"kerberos")),(0,i.kt)("td",{parentName:"tr",align:null},"Type of Escalator client used for internal process communication."),(0,i.kt)("td",{parentName:"tr",align:null},"n/a"),(0,i.kt)("td",{parentName:"tr",align:null},"Yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"druid.escalator.internalClientPrincipal")),(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"druid@EXAMPLE.COM")),(0,i.kt)("td",{parentName:"tr",align:null},"Principal user name, used for internal process communication"),(0,i.kt)("td",{parentName:"tr",align:null},"n/a"),(0,i.kt)("td",{parentName:"tr",align:null},"Yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"druid.escalator.internalClientKeytab")),(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"/etc/security/keytabs/druid.keytab")),(0,i.kt)("td",{parentName:"tr",align:null},"Path to keytab file used for internal process communication"),(0,i.kt)("td",{parentName:"tr",align:null},"n/a"),(0,i.kt)("td",{parentName:"tr",align:null},"Yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"druid.escalator.authorizerName")),(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"MyBasicAuthorizer")),(0,i.kt)("td",{parentName:"tr",align:null},"Authorizer that requests should be directed to."),(0,i.kt)("td",{parentName:"tr",align:null},"n/a"),(0,i.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,i.kt)("h2",{id:"accessing-druid-http-end-points-when-kerberos-security-is-enabled"},"Accessing Druid HTTP end points when kerberos security is enabled"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"To access druid HTTP endpoints via curl user will need to first login using ",(0,i.kt)("inlineCode",{parentName:"p"},"kinit")," command as follows -"),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre"},"kinit -k -t <path_to_keytab_file> user@REALM.COM\n"))),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Once the login is successful verify that login is successful using ",(0,i.kt)("inlineCode",{parentName:"p"},"klist")," command")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Now you can access druid HTTP endpoints using curl command as follows -"),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("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.kt)("p",{parentName:"li"},"e.g to send a query from file ",(0,i.kt)("inlineCode",{parentName:"p"},"query.json")," to the Druid Broker use this command -"),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("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.kt)("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.kt)("h2",{id:"accessing-coordinator-or-overlord-console-from-web-browser"},"Accessing Coordinator or Overlord console from web browser"),(0,i.kt)("p",null,"To access Coordinator/Overlord console from browser you will need to configure your browser for SPNego authentication as follows -"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Safari - No configurations required."),(0,i.kt)("li",{parentName:"ol"},"Firefox - Open firefox and follow these steps -",(0,i.kt)("ol",{parentName:"li"},(0,i.kt)("li",{parentName:"ol"},"Go to ",(0,i.kt)("inlineCode",{parentName:"li"},"about:config")," and search for ",(0,i.kt)("inlineCode",{parentName:"li"},"network.negotiate-auth.trusted-uris"),"."),(0,i.kt)("li",{parentName:"ol"},"Double-click and add the following values: ",(0,i.kt)("inlineCode",{parentName:"li"},'"http://druid-coordinator-hostname:ui-port"')," and ",(0,i.kt)("inlineCode",{parentName:"li"},'"http://druid-overlord-hostname:port"')))),(0,i.kt)("li",{parentName:"ol"},"Google Chrome - From the command line run following commands -",(0,i.kt)("ol",{parentName:"li"},(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("inlineCode",{parentName:"li"},'google-chrome --auth-server-whitelist="druid-coordinator-hostname" --auth-negotiate-delegate-whitelist="druid-coordinator-hostname"')),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("inlineCode",{parentName:"li"},'google-chrome --auth-server-whitelist="druid-overlord-hostname" --auth-negotiate-delegate-whitelist="druid-overlord-hostname"')))),(0,i.kt)("li",{parentName:"ol"},"Internet Explorer -",(0,i.kt)("ol",{parentName:"li"},(0,i.kt)("li",{parentName:"ol"},"Configure trusted websites to include ",(0,i.kt)("inlineCode",{parentName:"li"},'"druid-coordinator-hostname"')," and ",(0,i.kt)("inlineCode",{parentName:"li"},'"druid-overlord-hostname"')),(0,i.kt)("li",{parentName:"ol"},"Allow negotiation for the UI website.")))),(0,i.kt)("h2",{id:"sending-queries-programmatically"},"Sending Queries programmatically"),(0,i.kt)("p",null,"Many HTTP client libraries, such as Apache Commons ",(0,i.kt)("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."))}h.isMDXComponent=!0}}]);