# App Settings

## Navigate to the App Settings Page

1. Click the **App Settings** icon in the left sidebar.
2. Click the link in the **App Settings** panel to navigate to that section.

## Use Existing Identity Access Manager

See the identity manager pages for a tutorial to connect an [Microsoft Entra ID](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/people/section-contents/how-to-guides/microsoft-entra-id), [Okta](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/people/section-contents/how-to-guides/okta/okta-ldap), or [OneLogin](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/people/section-contents/how-to-guides/onelogin) identity manager.

To configure Immuta to use all other existing IAMs,

1. Click the **Add IAM** button.
2. Complete the **Display Name** field and select your IAM type from the **Identity Provider Type** dropdown: **LDAP/Active Directory**, **SAML**, or **OpenID**.

{% tabs %}
{% tab title="Add LDAP or Active Directory" %}
Once you have selected **LDAP/Active Directory** from the **Identity Provider Type** dropdown menu,

1. Adjust **Default Permissions** granted to users by selecting from the list in this dropdown menu, and then complete the required fields in the **Credentials** and **Options** sections. *Note: Either **User Attribute** OR **User Search Filter** is required, not both. Completing one of these fields disables the other.*
2. Opt to have **Case-insensitive user names** by clicking the checkbox.
3. Opt to **Enable Debug Logging** or **Enable SSL** by clicking the checkboxes.
4. In the **Profile Schema** section, map attributes in LDAP/Active Directory to automatically fill in a user's Immuta profile. *Note: Fields that you specify in this schema will not be editable by users within Immuta.*
5. Opt to **Link SQL Account**.
6. Opt to **Enable scheduled LDAP Sync support for LDAP/Active Directory** and **Enable pagination for LDAP Sync**. Once enabled, confirm the sync schedule written in [Cron rule](https://crontab.guru/#0_*/1_*_*_*); the default is every hour. Confirm the LDAP page size for pagination; the default is 1,000.
7. Opt to **Sync groups from LDAP/Active Directory to Immuta**. Once enabled, map attributes in LDAP/Active Directory to automatically pull information about the groups into Immuta.
8. Opt to **Sync attributes from LDAP/Active Directory to Immuta**. Once enabled, add attribute mappings in the attribute schema. The desired attribute prefix should be mapped to the relevant schema URN.
9. Opt to enable **External Groups and Attributes Endpoint**, **Make Default IAM**, or **Migrate Users** from another IAM by selecting the checkbox.
10. Then click the **Test Connection** button.
11. Once the connection is successful, click the **Test User Login** button.
12. Click the **Test LDAP Sync** button if scheduled sync has been enabled.
    {% endtab %}

{% tab title="Add SAML" %}
See the [SAML protocol configuration guide](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/people/section-contents/reference-guides/reference).
{% endtab %}

{% tab title="Add OpenID" %}
Once you have selected **OpenID** from the **Identity Provider Type** dropdown menu,

1. Take note of the ID. You will need this value to reference the IAM in the callback URL in your identity provider with the format `<base url>/bim/iam/<id>/user/authenticate/callback`.
2. Note the **SSO Callback URL** shown. Navigate out of Immuta and register the client application with the OpenID provider. If prompted for client application type, choose **web**.
3. Adjust **Default Permissions** granted to users by selecting from the list in this dropdown menu.
4. Back in Immuta, enter the **Client ID**, **Client Secret**, and **Discover URL** in the form field.
5. Configure OpenID provider settings. There are two options:
   1. Set **Discover URL** to the `/.well-known/openid-configuration` URL provided by your OpenID provider.
   2. If you are unable to use the **Discover URL** option, you can fill out **Authorization Endpoint**, **Issuer**, **Token Endpoint**, **JWKS Uri**, and **Supported ID Token Signing Algorithms**.
6. If necessary, add additional **Scopes**.
7. Opt to **Enable SCIM support for OpenID** by clicking the checkbox, which will generate a SCIM API Key.
8. In the **Profile Schema** section, map attributes in OpenID to automatically fill in a user's Immuta profile. *Note: Fields that you specify in this schema will not be editable by users within Immuta.*
9. Opt to **Allow Identity Provider Initiated Single Sign On** or **Migrate Users** from another IAM by selecting the checkboxes.
10. Click the **Test Connection** button.
11. Once the connection is successful, click the **Test User Login** button.
    {% endtab %}
    {% endtabs %}

## Immuta Accounts

To set the default permissions granted to users when they log in to Immuta, click the **Default Permissions** dropdown menu, and then select permissions from this list.

## Link External Catalogs

See the [External Catalogs page](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/integrations/catalogs/configure).

## Enable External Masking

{% hint style="warning" %}
**Deprecation notice**: Support for this feature has been deprecated.
{% endhint %}

To enable [external masking](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/secure-your-data/authoring-policies-in-secure/data-policies/reference-guides/data-policies#external-masking),

1. Navigate to the **App Settings** page and click **External Masking** in the left sidebar.
2. Click **Add Configuration** and specify an external endpoint in the **External URI** field.
3. Click **Configure**, and then add at least one tag by selecting from the **Search for tags** dropdown menu. *Note: Tag hierarchies are supported, so tagging a column as `Sensitive.Customer` would drive the policy if external masking was configured with the tag `Sensitive`).*
4. **Select Authentication Method** and then complete the authentication fields (when applicable).
5. Click **Test Connection** and then **Save**.

## Add a Native Workspace

1. Select **Add Workspace**.
2. Use the dropdown menu to select the **Databricks** **Workspace Type.**
   * Before creating a workspace, the cluster must send its configuration to Immuta; to do this, run a simple query on the cluster (i.e., `show tables`). Otherwise, an error message will occur when users attempt to create a workspace.
   * The **Databricks API Token** used for native workspace access must be **non-expiring**. Using a token that expires risks losing access to projects that are created using that configuration.
3. Use the dropdown menu to select the **Schema** and refer to the corresponding tab below.

{% tabs %}
{% tab title="abfss" %}

1. Enter the **Name**.
2. Click **Add Workspace**.
3. Enter the **Hostname**, **Workspace ID**, **Account Name**, **Databricks API Token**, and **Storage Container**.
4. Enter the **Workspace Base Directory**.
5. Click **Test Workspace Directory**.
6. Once the credentials are successfully tested, click **Save**.
   {% endtab %}

{% tab title="gs" %}

1. Enter the **Name**.
2. Click **Add Workspace**.
3. Enter the **Hostname**, **Workspace ID**, **Account Name**, and **Databricks API Token**.
4. Use the dropdown menu to select the **Google Cloud Region**.
5. Enter the **GCS Bucket**.
6. Opt to enter the **GCS Object Prefix**.
7. Click **Test Workspace Directory**.
8. Once the credentials are successfully tested, click **Save**.
   {% endtab %}
   {% endtabs %}

{% hint style="info" %}
**Databricks API Token Expiration**

The **Databricks API Token** used for native workspace access must be **non-expiring**. Using a token that expires risks losing access to projects that are created using that configuration.
{% endhint %}

## Add An Integration

1. Select **Add Native Integration**.
2. Use the dropdown menu to select the **Integration Type.** Follow one of the guides below to finish configuring your integration:
   * [Azure Synapse Analytics](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/integrations/azure-synapse-analytics/synapse-1)
   * [Databricks Spark](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/integrations/databricks-spark/how-to-guides/configuration/simplified)
   * [Databricks Unity Catalog](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/integrations/databricks-unity-catalog/how-to-guides/configure)
   * [Redshift](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/integrations/redshift/how-to-guides/redshift)
   * [Snowflake](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/integrations/snowflake/how-to-guides/enterprise)
   * [Starburst (Trino)](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/integrations/starburst-trino/how-to-guides/configure)

## Initialize Kerberos

To configure Immuta to protect data in a kerberized Hadoop cluster,

1. Upload your **Kerberos Configuration File**, and then you can add modify the Kerberos configuration in the window pictured below.

   <figure><img src="https://1751699907-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlWBda5Pt4s8apEhzXGl7%2Fuploads%2FKiwMa0pCloEd2xqVidc6%2Fkdc-config.png?alt=media&#x26;token=cad28fd1-662a-40cf-9293-fd95903416f2" alt=""><figcaption></figcaption></figure>
2. Upload your **Keytab File**.
3. Enter the principal Immuta will use to authenticate with your KDC in the **Username** field. *Note: This must match a principal in the Keytab file.*
4. Adjust how often (in milliseconds) Immuta needs to re-authenticate with the KDC in the **Ticket Refresh Interval** field.
5. Click **Test Kerberos Initialization**.

## Generate System API Key

1. Click the **Generate Key** button.
2. Save this API key in a secure location.

## Enable Sensitive Data Discovery

To enable Sensitive Data Discovery and configure its settings, see the [Sensitive Data Discovery page](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/discover-your-data/data-discovery/how-to-guides/enable-sdd).

## Audit Settings

### Enable Exclude Query Text

By default, query text is included in native query audit events from Snowflake, Databricks, and Starburst (Trino).

When query text is excluded from audit events, Immuta will retain query event metadata such as the columns and tables accessed. However, the query text used to make the query will not be included in the event. This setting is a global control for all configured integrations.

To exclude query text from audit events,

1. Scroll to the **Audit** section.
2. Check the box to **Exclude query text from audit events**.
3. Click **Save**.

## Allow Policy Exemptions

{% hint style="warning" %}
**Deprecation notice**

The ability to exclude users from all data policies at the data source level has been deprecated. In order to exempt users from having policies being applied to them, add them in the [exception criteria of your policies](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/secure-your-data/secure-introduction/scalability-and-evolvability#exception-based-policy-authoring).
{% endhint %}

Click the **Allow Policy Exemptions** checkbox to allow users to specify who can bypass all policies on a data source.

## Manage the Default Subscription Policy

{% hint style="warning" %}
**Deprecation notice**

The ability to configure the behavior of the default subscription policy has been deprecated. Once this configuration setting is removed from the app settings page, Immuta will not apply a subscription policy to registered data sources unless an existing global policy applies to them. To set an "Allow individually selected users" subscription policy on all data sources, [create a global subscription policy](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/secure-your-data/authoring-policies-in-secure/section-contents/how-to-guides/subscription-policy-tutorial) with that condition that applies to all data sources or apply a [local subscription policy](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/secure-your-data/authoring-policies-in-secure/section-contents/how-to-guides/subscription-policy-tutorial) to individual data sources.
{% endhint %}

1. Click the **App Settings** icon in the navigation menu.
2. Scroll to the **Default Subscription Policy** section.
3. Select the **radio button** to define the behavior of subscription policies when new data sources are registered in Immuta:
   * **None**: When this option is selected, Immuta will not apply any subscription policies to data sources when they are registered. Changing the default subscription policy to none will only apply to newly created data sources. Existing data sources will retain their existing subscription policies.
   * **Allow individually selected users**: When a data source is created, Immuta will apply a subscription policy to it that requires users to be individually selected to access the underlying table. In most cases, users who were able to query the table before the data source was created will no longer be able to query the table in the remote data platform until they are subscribed to the data source in Immuta.
4. Click **Save** and confirm your changes.

## Default Subscription Merge Options

Immuta merges multiple Global Subscription policies that apply to a single data source; by default, users must meet all the conditions outlined in each policy to get access (i.e., the conditions of the policies are combined with `AND`). To change the default behavior to allow users to meet the condition of at least one policy that applies (i.e., the conditions of the policies are combined with `OR`),

1. Click the **Default Subscription Merge Options** text in the left pane.
2. Select the **Default "allow shared policy responsibility" to be checked** checkbox.
3. Click **Save**.

*Note: Even with this setting enabled, Governors can opt to have their Global Subscription policies combined with `AND` during policy creation.*

## Configure Governor and Admin Settings

These options allow you to restrict the power individual users with the GOVERNANCE and USER\_ADMIN permissions have in Immuta. Click the **checkboxes** to enable or disable these options.

## Create Custom Permissions

You can create custom permissions that can then be assigned to users and leveraged when building subscription policies. *Note: You cannot configure actions users can take within the console when creating a custom permission, nor can the actions associated with existing permissions in Immuta be altered.*

To add a custom permission, click the **Add Permission** button, and then name the permission in the **Enter Permission** field.

## Create Custom Data Source Access Requests

To create a custom questionnaire that all users must complete when requesting access to a data source, fill in the following fields:

1. Opt for the questionnaire to be required.
2. **Key**: Any unique value that identifies the question.
3. **Header**: The text that will display on reports.
4. **Label**: The text that will display in the questionnaire for the user. They will be prompted to type the answer in a text box.

## Create Custom Login Message

To create a custom message for the login page of Immuta, enter text in the **Enter Login Message** box. *Note: The message can be formatted in markdown.*

Opt to adjust the **Message Text Color** and **Message Background Color** by clicking in these dropdown boxes.

## Prevent Automatic Table Statistics

{% hint style="warning" %}
**Without fingerprints, some policies will be unavailable**

These policies will be unavailable until a data owner manually generates a fingerprint:

* Masking with format preserving masking
* Masking with K-Anonymization
* Masking using randomized response
  {% endhint %}

To disable the automatic collection of statistics with a particular tag,

1. Use the **Select Tags** dropdown to select the tag(s).
2. Click **Save**.

### K-anonymization

{% hint style="info" %}
**Query engine and legacy fingerprint required**

K-anonymization policies require the query engine and legacy fingerprint service, which are disabled by default. If you need to use k-anonymization policies, work with your Immuta representative to enable the query engine and legacy fingerprint service when you deploy Immuta.
{% endhint %}

When a k-anonymization policy is applied to a data source, the columns targeted by the policy are queried under a fingerprinting process that generates rules enforcing k-anonymity. The results of this query, which may contain data that is subject to regulatory constraints such as GDPR or HIPAA, are stored in Immuta's metadata database.

The location of the metadata database depends on your deployment:

* Self-managed Immuta deployment: The metadata database is located in the server where you have your external metadata database deployed.
* SaaS Immuta deployment: The metadata database is located in the AWS global segment you have chosen to deploy Immuta.

To ensure this process does not violate your organization's data localization regulations, you need to first activate this masking policy type before you can use it in your Immuta tenant.

1. Click **Other Settings** in the left panel and scroll to the **K-Anonymization** section.
2. Select the **Allow users to create masking policies using K-Anonymization** checkbox to enable k-anonymization policies for your organization.
3. Click **Save** and confirm your changes.

## Advanced Settings

### Preview Features

If you enable any Preview features, provide feedback on how you would like these features to evolve.

#### Policy Adjustments

1. Click **Advanced Settings** in the left panel, and scroll to the **Preview Features** section.
2. Check the **Enable Policy Adjustments** checkbox.
3. Click **Save**.

#### Complex Data Types

1. Click **Advanced Settings** in the left panel, and scroll to the **Preview Features** section.
2. Check the **Allow Complex Data Types** checkbox.
3. Click **Save**.

#### Enhanced Subscription Policy Variables

For instructions on enabling this feature, navigate to the [Global Subscription Policies Advanced DSL Tutorial](https://documentation.immuta.com/saas/~/changes/l3NnvynMHxi6VvqRtJhK/secure-your-data/authoring-policies-in-secure/section-contents/how-to-guides/advanced-dsl-policies).

## Deploy Configuration Changes

When you are ready to finalize your configuration changes, click the **Save** button at the bottom of the left panel, and then click **Confirm** to deploy your changes.
