Druid pac4j based Security extension

Apache Druid Extension to enable OpenID Connect based Authentication for Druid Processes using pac4j as the underlying client library. This can be used with any authentication server that supports same e.g. Okta. This extension should only be used at the router node to enable a group of users in existing authentication server to interact with Druid cluster, using the Web Console. This extension does not support JDBC client authentication.

Configuration

Creating an Authenticator

  1. druid.auth.authenticatorChain=["pac4j"]
  2. druid.auth.authenticator.pac4j.type=pac4j

Properties

PropertyDescriptionDefaultrequired
druid.auth.pac4j.cookiePassphrasepassphrase for encrypting the cookies used to manage authentication session with browser. It can be provided as plaintext string or The Password Provider.noneYes
druid.auth.pac4j.readTimeoutSocket connect and read timeout duration used when communicating with authentication serverPT5SNo
druid.auth.pac4j.enableCustomSslContextWhether to use custom SSLContext setup via simple-client-sslcontext extension which must be added to extensions list when this property is set to true.falseNo
druid.auth.pac4j.oidc.clientIDOAuth Client Application id.noneYes
druid.auth.pac4j.oidc.clientSecretOAuth Client Application secret. It can be provided as plaintext string or The Password Provider.noneYes
druid.auth.pac4j.oidc.discoveryURIdiscovery URI for fetching OP metadata see this.noneYes