> For the complete documentation index, see [llms.txt](https://docs.collibra.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.collibra.com/data-quality-self-hosted/admin-configuration/more-admin-settings/multi-tenancy-and-tenant-manager/configuring-sso-for-tenant-manager.md).

# Configuring SSO for Tenant Manager

Tenant Manager is a separate DQ application for managing multi-tenant environments. The following steps describe how to enable single sign-on (SSO) for the Tenant Manager. For more information on Tenant Manager, see [Using Tenant Manager](/data-quality-self-hosted/admin-configuration/more-admin-settings/multi-tenancy-and-tenant-manager/using-tenant-manager.md).

{% hint style="warning" %}
The Tenant Manager is considered a new application by the entity provider (Idp). Do not change any existing IdP or SSO configuration settings for the DQ Web application.
{% endhint %}

## Configure the identity provider for the new application

Begin by configuring the IdP for the Tenant Manager application.

{% stepper %}
{% step %}
Set the **Identifier (Entity ID)** for the new IdP application as `DQTenantManager`. Do not change the existing entity ID for the original SSO application.
{% endstep %}

{% step %}
Set the **Reply URL (Assertion Consumer Service URL)** for the new IdP application to the following (replacing `{host}` with your DQ host endpoint):

`https://{host}/tenant/saml/sso/tenantmanager`
{% endstep %}

{% step %}
Assign tenant admin users to the IdP application.
{% endstep %}

{% step %}
Assign tenant admin groups to the IdP application.
{% endstep %}
{% endstepper %}

## Set the SAML authentication properties

Add the following properties to your configuration.

{% tabs %}
{% tab title="Standalone" %}
{% stepper %}
{% step %}
Add the following property to your owl-env.sh file:

`export SAML_TENANT_MANAGER_ENABLED=true`
{% endstep %}

{% step %}
Add additional properties as needed (see below). Prefix each property with the export statement.
{% endstep %}

{% step %}
Restart the DQ Web application.
{% endstep %}
{% endstepper %}
{% endtab %}

{% tab title="Cloud Native" %}
{% stepper %}
{% step %}
Add the following property as an environment variable to your DQ-web Configmap:

`SAML_TENANT_MANAGER_ENABLED: true`
{% endstep %}

{% step %}
Add additional properties as needed (see below)
{% endstep %}

{% step %}
Recycle the pod.
{% endstep %}
{% endstepper %}
{% endtab %}
{% endtabs %}

### Required properties

| Property              | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| SAML\_ENTITY\_BASEURL | <p>The base URL that is provided in the service provider metadata. It is used to generate the ACS URL, which is the entity base URL with <code>/saml/sso</code> appended to it. It must include a port number if one is configured on the IdP side.</p><p>Once you have enabled and configured SAML authentication, you can download the service provider metadata from <code>https\://\<your\_dq\_environment\_url>/saml/metadata/SSO</code>.</p><div data-gb-custom-block data-tag="hint" data-style="warning" class="hint hint-warning"><p>If you use Data Quality & Observability (self-hosted) with a Java version older than 21, such as Java 11, download your service provider metadata from <code>https\://\<your\_dq\_environment\_url>/saml/metadata</code> instead.</p></div> |

{% hint style="danger" %}
If you have SAML configured in Collibra DQ, or if the app sits behind a load balancer, see the CORS\_ALLOWED\_ORIGINS property below.
{% endhint %}

### Optional properties: general

| Property                                              | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| CORS\_ALLOWED\_ORIGINS=${IDP-BASE-URL},${DQ-BASE-URL} | Allows cross-origin requests between Collibra DQ and SAML.Replace `${IDP-BASE-URL}` with the value of the actual IdP URL. For example, `https://ping.auth.com/`.Replace `${DQ-BASE-URL}` with the value of the actual DQ Base URL. For example, `https://dq-env.com`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| SAML\_LB\_EXISTS                                      | <p>Whether the application needs to configure a load balancer.</p><p>You generally need this setting only when the Load Balancer is set for SSL Termination.</p><p>The default value is <code>false</code>.</p><p>If set to <code>true</code>, you must also provide a value for SAML\_LB\_SERVER\_NAME.</p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>If the SAML\_LB\_EXISTS property is set to true and SAML\_LB\_INCLUDE\_PORT\_IN\_REQUEST set to false, you may need to update SAML\_ENTITY\_BASEURL to include the port in the URL. The SAML\_ENTITY\_BASEURL should match the IdP's ACS URL.</p></div>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| SAML\_ROLES\_PROP\_NAME                               | <p>The attribute in which the identity provider stores the role of the user authenticating in the SAML response.</p><p>The default value is <code>memberOf</code>.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| SAML\_USER\_NAME\_PROP                                | The name of the attribute in the SAML response that contains the username of the user who is authenticating.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| SAML\_KEYSTORE\_FILE                                  | <p>The path to the keystore for SSL validation.</p><p>The store should contain the keypair of the identity provider for SSL verification.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| SAML\_KEYSTORE\_PASS                                  | The password for the keystore provided in `SAML_KEYSTORE_FILE`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| SAML\_KEYSTORE\_ALIAS                                 | The alias of the keypair (private and public) in the keystore used for SSL verification.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| LOCAL\_REGISTRATION\_ENABLED                          | <p>Allows you to display or hide the registration link for local users on the Collibra DQ sign-in page. Because the registration link is displayed on the sign-in page by default, this property is set to <code>true</code>.To display or hide the registration link from the owl-env.sh file, select from the following properties:</p><ul><li><strong>export LOCAL\_REGISTRATION\_ENABLED=true</strong>: Displays the registration link on the sign-in page for local users. This is set to <code>true</code> by default.</li><li><strong>export LOCAL\_REGISTRATION\_ENABLED=false</strong>: Hides the registration link on the sign-in page for local users.</li></ul><p>To display or hide the registration link from a K8s ConfigMap, select the from the following properties:</p><ul><li><strong>LOCAL\_REGISTRATION\_ENABLED:"true"</strong>: Displays the registration link on the sign-in page for local users. This is set to <code>true</code> by default.</li><li><strong>LOCAL\_REGISTRATION\_ENABLED:"false"</strong>: Hides the registration link on the sign-in page for local users.</li></ul><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>This property must be set globally on deployment.</p></div> |
| CSRF\_TOKEN\_ENABLED                                  | Enables the use of Spring CSRF token implementation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| CSRF\_TOKEN\_IGNORE\_URL\_PATTERN                     | Requests URL patterns to be ignored for CSRF token validation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| CSRF\_TOKEN\_IGNORE\_REFERER\_PATTERN                 | Requests header referer patterns to be ignored for CSRF token validation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

{% hint style="info" %}
While CORS is still an optional configuration, it is required if you have SAML configured in Collibra DQ, or if you have Collibra DQ behind a load balancer.CORS is also enforced for multi-tenancy.
{% endhint %}

### Optional properties: load balancer

When `SAML_LB_EXISTS` is set to `true`, the following additional properties are available.

<table><thead><tr><th width="152">Property</th><th>Description</th></tr></thead><tbody><tr><td>SAML_LB_INCLUDE_PORT_IN_REQUEST</td><td><p>Whether to include the port number in the request.</p><p>The default value is <code>false</code>.</p></td></tr><tr><td>SAML_LB_PORT</td><td><p>The port number of the load balancer.</p><p>The default value is <code>443</code>.</p></td></tr><tr><td>SAML_LB_SCHEME</td><td><p>The protocol of the load balancer.</p><p>The default value is <code>https</code>.</p></td></tr><tr><td>SAML_LB_SERVER_NAME</td><td><p>The server or DNS name.</p><p>Usually, the same as <code>SAML_ENTITY_BASEURL</code> without specifying the protocol, for example without <em>https://</em>.</p><p>This property is required and has no default.</p><div data-gb-custom-block data-tag="hint" data-style="warning" class="hint hint-warning"><p>Don't include a trailing slash at the end of this value. A trailing slash can cause the base URL and port number to be parsed incorrectly, which results in authentication failures.</p></div></td></tr><tr><td>SAML_LB_CONTEXT_PATH</td><td>Any path that may be defined on the load balancer.</td></tr></tbody></table>

## Update settings in Tenant Manager

When you are ready with your IdP settings, add the final configuration settings in the Tenant Manager:

{% stepper %}
{% step %}
Sign in to Tenant Manager using the **Sign in as Tenant Manager** link.
{% endstep %}

{% step %}
Click <img src="https://4121921244-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWCrP7Albs8DfJjIQxUxw%2Fuploads%2Fgit-blob-268a786d787f353b92e094a60945df32bf9cb208%2FCogwheelIcon.svg?alt=media" alt="Cogwheel icon" data-size="line"> in the left navigation pane.\ <i class="fa-chevrons-right">:chevrons-right:</i> The SAML Security Settings page opens.
{% endstep %}

{% step %}
Click the **SAML Enabled** dropdown menu, then select **Enabled**.
{% endstep %}

{% step %}
Under the SAML Enabled dropdown menu, to the far right side of the page, click <img src="https://4121921244-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWCrP7Albs8DfJjIQxUxw%2Fuploads%2Fgit-blob-5d5a447dce86ff44cb212f6fa822c736f80b3704%2FPlusIcon.svg?alt=media" alt="Plus icon" data-size="line">.\ <i class="fa-chevrons-right">:chevrons-right:</i> The Add Meta Data Configuration dialog box appears.
{% endstep %}

{% step %}
Enter the required information.

| Option          | Description                                                                                                                                                                                                                                                                                                                                                             |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Meta-Data URL   | <p>The URL of the identity provider metadata XML file or the location of the downloaded XML file.</p><div data-gb-custom-block data-tag="hint" data-style="warning" class="hint hint-warning"><p>The name of the XML file must begin with the prefix <strong>file:</strong> and typically uses <strong>file:/opt/owl/config/idp-metadata.xml</strong> format.</p></div> |
| Meta-Data Label | The name for this specific configuration.                                                                                                                                                                                                                                                                                                                               |
| IDP URL         | The URL of the Collibra DQ application that is provisioned by the identity provider.                                                                                                                                                                                                                                                                                    |

{% hint style="info" %}
The IDP\_URL is the IdP Initiated SSO login URL. For Example, in Azure, it would be `https://myapps.microsoft.com/signin/<sp-app-id>?tenantId=<sp-tenant-id>`. In multi-tenant mode, this URL should contain a `RelayState` for DQ to set the tenant on completing the SSO.
{% endhint %}
{% endstep %}

{% step %}
Click **Add**.
{% endstep %}

{% step %}
Click the **AD Security Settings** icon in the left navigation page.\ <i class="fa-chevrons-right">:chevrons-right:</i> The AD Security Settings page opens.
{% endstep %}

{% step %}
Click **Mappings**.
{% endstep %}

{% step %}
Edit the existing tenant admin group in the IdP and assign it the role ROLE\_TENANT\_ADMIN.
{% endstep %}

{% step %}
Restart the DQ Application and test the login.
{% endstep %}
{% endstepper %}
