Configuring SSO

This topic describes how to configure Dremio for Single Sign On (SSO) Authentication with either Azure Active Directory or another Identity Provider using OpenID.

Enterprise Edition only

Introduced in Dremio 3.3


Dremio does not allow switching between authentication modes: SSO vs Dremio authentication. If you are switching from Dremio authentication to SSO authentication (or vice versa), you must reinstall Dremio (which results in losing all VDSs, reflections, etc.) and specify your chosen authentication method then.


To use Azure Active Directory or OpenID, Dremio’s webserver must have web server encrpytion enabled. See the Web Server Encryption section in Configuring Wire Encryption for more information.

Azure Active Directory Authentication

Setting Up Azure AD

To setup and configure Azure AD,

  1. In Azure AD, navigate to the App registrations section and create a new App registration for the Azure AD instance with the your name and the account type.
  2. Click on New Registration.
  3. Complete the Register an application by adding name, supported account types, and redirect URI
    (https://{}:9047/sso), and press Save. Note that the URI is specified when you configure Dremio.
  4. Click on the app name that you registered to navigate to the app details screen.
  5. Navigate to the Certificates & secrets section, click on New client secret,
  6. Provide a client secret description and expiration, click on Add. Be sure to copy the secret and store it safely as it won’t be visible after leaving the page.
  7. Navigate to API permissions, click on Add a permission, and then click on Microsoft Graph.
  8. Select Application permissions.
  9. Under Select permissions, search for Directory.Read.all, click on the Directory.Read.all permission box and click Add permission. This permission is required for Dremio to read from the Azure AD. Ensure that this permission status is green for Dremio to read from the Azure AD.

Configuring Dremio for Azure AD

When configuring Dremio for Azure directory, you modify the dremio.conf and azuread.json files. These modified files must be copied to the /conf directory on all coordinator nodes.


To enable Azure Active Directory support, all coordinator nodes must be configured prior to deploying the Dremio cluster.

To configure Dremio for Azure Active Directory:

  1. Edit the dremio.conf file, and add the following properties:
    services: {
      coordinator.enabled: true,
      coordinator.web.auth.type: "azuread",
      coordinator.web.auth.config: "azuread.json"
  2. Edit the azuread.json file, add the following properties:
      "oAuthConfig": {
        "clientId": "<clientId>",
        "clientSecret": "<clientSecret>",
        "redirectUrl": "https://<>:9047/sso",
        "authorityUrl": "<>/v2.0",
        "scope": "openid profile offline_access",
        "jwtClaims": {
          "userName": "preferred_username"
    • clientId: It appears on the Overview screen of your application. This property is also called application ID. A clientId is applicable to the context where you acquire a token using one of the OAuth flows that Azure AD supports. The application ID is same for single application object that corresponds to an application.
    • clientSecret: It is the secret that was created in the Setting Up Azure AD section.
    • redirectUrl: It is the redirect URI that was created in the Setting Up Azure AD section.
    • It appears on the Overview screen of your application. This property is also called tenant ID.
  3. Ensure to copy the modified dremio.conf and azuread.json files to every coordinator node in the Dremio cluster.


The LDAP configuration in the dremio.conf and azuread.json files must exist and match on all coordinator nodes.

Using Azure’s Managed Storage Identities

Dremio supports using Azure’s Managed Storage Identities feature to retrieve the secret when running inside Azure. This feature can be used if you want to avoid storing the secret in plain text.

To setup Azure’s Managed Storage Identities:

  1. Create an Azure Keyvault and create a new secret. The Azure Key vault asks for a name and the value (which will be the secret generated for the application).
  2. Go to the Access policies section for the Key Vault and add the Azure Active Directory application. Make sure that you give it Get permissions for Secrets.
  3. Change the azuread.json value for clientSecret to the following URI:
      "clientSecret": "azure-vault+https://{}{}",

    Note: This special URI tells Dremio to access the Key Vault located at https://{} and load the secret named {}. The KeyVault value is on the Overview page under DNS Name.

OpenID Authentication

To configure Single Sign On with an Identity Provide over OpenID, perform the following steps:

  1. Configure the dremio.conf file to include the following configuration.
services.coordinator.web.auth.type: "oauth"
services.coordinator.web.auth.config: "/path/to/oauth.json"
  1. Create an oauth.json file with the following properties.
  "clientId": "clientId",
  "clientSecret": "clientSecret",
  "redirectUrl": "http://dremioHost:9047/sso",
  "authorityUrl": "authorityUrl",
  "scope": "openid profile email",
  "jwtClaims": {
    “userName": "email"
  "parameters": [
    {"name": "access_type", "value": "offline"},

The following table describes the oauth.json file properties.

Parameter Description
clientId It is based on the OpenID provider.
clientSecret It is based on the OpenID provider.
redirectUrl The URL where Dremio is hosted. The URL must match the redirect url set in the OpenID Provider.
authorityUrl The location where Dremio can find the OpenID discovery document. For example, Google’s location is and the authorityUrl therefore to use is, the base location of the well-known directory.
scope It is based on the OpenID provider. openid scope is always required, other scopes can vary by provider.
jwtClaims Maps fields from the JWT token to fields Dremio requires. The only field currently required is userName, which you should set to the field in JWT that contains the user’s username. For example, this can be email if you want the usernames in Dremio to be the user’s email address.
parameters Optional - any additional parameters required by the OpenID providers.


Logging in with SSO

When SSO is configured, you are redirected to Azure to login using SSO. Dremio also uses Azure Active Directory for directory services and to look up users and groups.

Backing up with SSO

When using a SSO configuration, you must use personal access tokens (PATs) as the SSO password. See Personal Access Tokens for information on enabling PATs.

$ ./dremio-admin backup -u -d /tmp
  Backup created at /tmp/dremio_backup_2019-07-17_23.08, dremio tables 32, uploaded files 1

If you use your SSO password instead of your PAT as the password, you will see the following:

$ ./dremio-admin backup -u -d /tmp
Failed to create backup at / Status 500 (Internal Server Error): 
Something went wrong (more info: Cannot authenticate users when using Azure AD)

Deleting Users


When deleting users from SSO, ensure that all Personal Access Tokens (PATs) are also deleted.

For More Information