# Connection Registration Payloads Reference Guide

The parameters for configuring a connection in Immuta are outlined in the table below.

| Attribute                      | Description                                                                                                                                                                                                                                                                                                                                          | Required or optional                              | Accepted values |
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | --------------- |
| **connectionKey** `string`     | A unique name for the connection. Avoid the use of periods (`.`) or [restricted words](#user-content-fn-1)[^1] in your connection key.                                                                                                                                                                                                               | Required                                          | -               |
| **connection** `object`        | <p>See the following object descriptions:</p><ul><li><a href="#snowflake-connection-object">Snowflake connection object</a></li><li><a href="#databricks-unity-catalog-connection-object">Databricks Unity Catalog connection object</a></li><li><a href="#aws-lake-formation-connection-object">AWS Lake Formation connection object</a>.</li></ul> | Required                                          | -               |
| **settings** `object`          | See [Settings object](#settings-object).                                                                                                                                                                                                                                                                                                             | Optional                                          | -               |
| **options** `object`           | See [Options object](#options-object).                                                                                                                                                                                                                                                                                                               | Optional                                          | -               |
| **nativeIntegration** `object` | See [Native integration object](#native-integration-object).                                                                                                                                                                                                                                                                                         | Required for Snowflake and Databricks connections | -               |

## Connection object

The connection object configures the connection between the technology and Immuta. The sections below outline the child parameters specific to each technology.

### Snowflake connection object

<table><thead><tr><th width="278">Attribute</th><th width="398">Description</th><th>Required or optional</th><th width="238">Accepted values</th></tr></thead><tbody><tr><td><strong>technology</strong> <code>string</code></td><td>The technology backing the new connection.</td><td>Required</td><td><ul><li><code>Snowflake</code></li><li><code>Databricks</code></li><li><code>Glue</code></li></ul></td></tr><tr><td><strong>hostname</strong> <code>string</code></td><td>The URL of your Snowflake account. This is the same as <code>host</code>.</td><td>Required</td><td>-</td></tr><tr><td><strong>port</strong> <code>integer</code></td><td>The port to use when registering your Snowflake account.</td><td>Required</td><td><code>0</code>-<code>65535</code></td></tr><tr><td><strong>warehouse</strong> <code>string</code></td><td>The default pool of compute resources the Immuta system user will use to run queries and perform other Snowflake operations.</td><td>Required</td><td>-</td></tr><tr><td><strong>role</strong> <code>string</code></td><td>The privileged Snowflake role used by the Immuta system account when configuring the Snowflake connection. It must be able to see the data that Immuta will govern.</td><td>Required</td><td>-</td></tr><tr><td><strong>authenticationType</strong> <code>string</code></td><td>The authentication type to register the connection. Make sure this auth type is the same used when requesting the script.</td><td>Required</td><td><ul><li><code>keyPair</code></li><li><code>oAuthClientCredentials</code></li><li><code>userPassword</code></li></ul></td></tr><tr><td><strong>username</strong> <code>string</code></td><td>The username of the system account that can act on Snowflake objects and register the connection.</td><td>Required when <strong>authenticationType</strong> is <code>keyPair</code> or <code>userPassword</code>.</td><td>-</td></tr><tr><td><strong>password</strong> <code>string</code></td><td>The password of the system account that can act on Snowflake objects and register the connection.</td><td>Required when <strong>authenticationType</strong> is <code>userPassword</code>.</td><td>-</td></tr><tr><td><strong>privateKeyPassword</strong> <code>string</code></td><td>The Snowflake private key password.</td><td>Required when <strong>authenticationType</strong> is <code>keyPair</code> and the private key is encrypted.</td><td>-</td></tr><tr><td><strong>privateKey</strong> <code>object</code></td><td>See <a href="#snowflake-private-key-object">Snowflake private key object</a>.</td><td>Required when <strong>authenticationType</strong> is <code>keyPair</code>.</td><td>-</td></tr><tr><td><strong>oAuthClientConfig</strong> <code>object</code></td><td>See <a href="#snowflake-oauth-object">Snowflake OAuth object</a>.</td><td>Required when <strong>authenticationType</strong> is <code>oAuthClientCredentials</code>.</td><td>-</td></tr></tbody></table>

### Databricks Unity Catalog connection object

The **connection** object configures the Databricks Unity Catalog connection information. The table below outlines its child parameters.

<table><thead><tr><th width="278">Attribute</th><th width="398">Description</th><th>Required or optional</th><th width="238">Accepted values</th></tr></thead><tbody><tr><td><strong>technology</strong> <code>string</code></td><td>The technology backing the new connection.</td><td>Required</td><td><ul><li><code>Databricks</code></li><li><code>Snowflake</code></li><li><code>Glue</code></li></ul></td></tr><tr><td><strong>hostname</strong> <code>string</code></td><td>Your Databricks workspace URL. This is the same as <code>host</code> and <code>workspaceURL</code>.</td><td>Required</td><td>-</td></tr><tr><td><strong>port</strong> <code>integer</code></td><td>The port to use when registering your Databricks account connection.</td><td>Required</td><td><code>0</code>-<code>65535</code></td></tr><tr><td><strong>httpPath</strong> <code>string</code></td><td>The HTTP path of your Databricks cluster or SQL warehouse.</td><td>Required</td><td>-</td></tr><tr><td><strong>authenticationType</strong> <code>string</code></td><td>The authentication type to register the connection. Make sure this auth type is the same used when requesting the script.</td><td>Required</td><td><ul><li><code>token</code></li><li><code>oAuthM2M</code></li></ul></td></tr><tr><td><strong>token</strong> <code>string</code></td><td>The Databricks personal access token for the service principal created for Immuta.</td><td>Required if <code>authenticationType</code> is <code>token</code></td><td>-</td></tr><tr><td><strong>oAuthClientConfig</strong> <code>object</code></td><td>See <a href="#databricks-unity-catalog-oauth-object">Databricks Unity Catalog OAuth object</a>.</td><td>Required if <code>authenticationType</code> is <code>oAuthM2M</code></td><td>-</td></tr></tbody></table>

### AWS Lake Formation connection object

The **connection** object configures the AWS Lake Formation connection information. The table below outlines its child parameters.

<table><thead><tr><th width="192">Attribute</th><th width="245">Description</th><th>Required</th><th>Accepted values</th></tr></thead><tbody><tr><td><strong>technology</strong> <code>string</code></td><td>The technology backing the new connection.</td><td><strong>Yes</strong></td><td><ul><li><code>Glue</code></li><li><code>Snowflake</code></li><li><code>Databricks</code></li></ul></td></tr><tr><td><strong>authenticationType</strong> <code>string</code></td><td>The authentication type to register the connection.</td><td><strong>Yes</strong></td><td><ul><li><code>accessKey</code></li><li><code>assumedRole</code></li></ul></td></tr><tr><td><strong>region</strong> <code>string</code></td><td>The region of the AWS account associated with the Glue Data Catalog.</td><td><strong>Yes</strong></td><td>Any valid AWS region (us-east-1, for example)</td></tr><tr><td><strong>accountId</strong> <code>string</code></td><td>The Amazon account ID of the Glue Data Catalog that contains the data you want to register.</td><td><strong>Yes</strong></td><td>-</td></tr><tr><td><strong>accessKeyId</strong> <code>string</code></td><td>The access key ID of an AWS account with the <a href="#id-1.-set-up-the-immuta-service-principal">AWS permissions listed in the set up the Immuta service principal section</a>.</td><td>Required if <strong>authenticationType</strong> is <code>accessKey</code>.</td><td>-</td></tr><tr><td><strong>secretAccessKey</strong> <code>string</code></td><td>The secret access key of an AWS account with the <a href="#id-1.-set-up-the-immuta-service-principal">AWS permissions listed in the set up the Immuta service principal section</a>.</td><td>Required if <strong>authenticationType</strong> is <code>accessKey</code>.</td><td>-</td></tr><tr><td><strong>roleARN</strong> <code>string</code></td><td>The Amazon resource name of the role Immuta will assume from Immuta's AWS account in order to perform any operations in your AWS account.</td><td>Required if <strong>authenticationType</strong> is <code>assumedRole</code>.</td><td>-</td></tr></tbody></table>

## Settings object

The **settings** object configures connection settings. The table below outlines its child parameters.

| Attribute                         | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | Required or optional | Accepted values                                                |
| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- | -------------------------------------------------------------- |
| **isActive** `boolean`            | <p>If <code>true</code>, data objects will be active (enabled) by default when created in Immuta.<br><br>If you enable a Databricks Unity Catalog data object and it has no subscription policy set on it, Immuta will REVOKE access to the data in Databricks for all Immuta users, even if they had been directly granted access to the table in Unity Catalog.</p><p>If a user is not registered in Immuta, Immuta will have no effect on that user's access to data in Unity Catalog. See the <a href="../../../../configuration/integrations/databricks/databricks-unity-catalog/unity-catalog-overview#what-does-immuta-do-in-my-databricks-environment">Databricks Unity Catalog reference guide</a> for more details.</p> | Optional             | <ul><li><code>true</code></li><li><code>false</code></li></ul> |
| **activateNewChildren** `boolean` | If `true`, all new children found during object sync will be registered as active (enabled).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Optional             | <ul><li><code>true</code></li><li><code>false</code></li></ul> |
| **dataOwners** `array`            | A list of users and groups that are data owners on the connection. These users will be data owners for all the data sources under the data object they are assigned to.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Optional             | -                                                              |

## Options object

The **options** object configures an option for your connection. The table below outlines its child parameter.

| Attribute                         | Description                                                                                      | Required or optional | Accepted values                                                |
| --------------------------------- | ------------------------------------------------------------------------------------------------ | -------------------- | -------------------------------------------------------------- |
| **forceRecursiveCrawl** `boolean` | When `true`, both active (enabled) and inactive (disabled) objects will be found by object sync. | Optional             | <ul><li><code>true</code></li><li><code>false</code></li></ul> |

## Native integration object

The **nativeIntegration** object configures integration information and options. The table below outlines its child parameters.

| Attribute                   | Description                                                                                                                                                                                                          | Required or optional                  | Accepted values                                                          |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- | ------------------------------------------------------------------------ |
| **type** `string`           | The type of technology.                                                                                                                                                                                              | Required                              | <ul><li><code>Snowflake</code></li><li><code>Databricks</code></li></ul> |
| **autoBootstrap** `boolean` | When `false`, you must set up your environment manually before registering the connection with the API.                                                                                                              | Required                              | `false`                                                                  |
| **config** `object`         | This object specifies the integration settings. See the config object description for your technology: [Snowflake](#snowflake-config-object) or [Databricks Unity Catalog](#databricks-unity-catalog-config-object). | Required                              | -                                                                        |
| **unityCatalog** `boolean`  | When `true`, the integration is for Databricks Unity Catalog.                                                                                                                                                        | Required if **type** is `Databricks`. | `true`                                                                   |

### Snowflake config object

The **config** object configures the Snowflake integration information and options. The table below outlines its child parameters.

| Attribute                       | Description                                                                                                                                                                                                                                                                                                                                                                                                                              | Required or optional                                                                | Accepted values                                                                                                      |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| **authenticationType** `string` | The authentication type to register the connection. Make sure this auth type is the same as the `config` object.                                                                                                                                                                                                                                                                                                                         | Required                                                                            | <ul><li><code>keyPair</code></li><li><code>oAuthClientCredentials</code></li><li><code>userPassword</code></li></ul> |
| **username** `string`           | The username of the system account that can act on Snowflake objects and register the connection.                                                                                                                                                                                                                                                                                                                                        | Required when **authenticationType** is `keyPair` or `userPassword`.                | -                                                                                                                    |
| **password** `string`           | The password of the system account that can act on Snowflake objects and register the connection.                                                                                                                                                                                                                                                                                                                                        | Required when **authenticationType** is `userPassword`.                             | -                                                                                                                    |
| **privateKeyPassword** `string` | The Snowflake private key password.                                                                                                                                                                                                                                                                                                                                                                                                      | Required when **authenticationType** is `keyPair` and the private key is encrypted. | -                                                                                                                    |
| **keyName** `string`            | The Immuta-given name of your private key.                                                                                                                                                                                                                                                                                                                                                                                               | Required when **authenticationType** is `keyPair`.                                  | `PRIV_KEY_FILE`                                                                                                      |
| **userFilename** `string`       | The name of the private key file on your machine.                                                                                                                                                                                                                                                                                                                                                                                        | Required when **authenticationType** is `keyPair`.                                  | -                                                                                                                    |
| **content** `string`            | <p>The private key. Replace new lines in the private key with a backslash before the new line character: "\n". If you are using another means of configuration, such as a Python script, the "\n" should not be added.<br><br>In the <a href="../../integrations-api/reference-guides/integration-configuration-payload#snowflake-configuration-objects">integrations API</a>, this is the <code>config.privateKey</code> attribute.</p> | Required when **authenticationType** is `keyPair`.                                  | -                                                                                                                    |
| **oAuthClientConfig** `object`  | See [Snowflake OAuth object](#snowflake-oauth-object).                                                                                                                                                                                                                                                                                                                                                                                   | Required when **authenticationType** is `oAuthClientCredentials`.                   | -                                                                                                                    |
| **host** `string`               | The URL of your Snowflake account.                                                                                                                                                                                                                                                                                                                                                                                                       | Required                                                                            | -                                                                                                                    |
| **port** `integer`              | The port to use when registering your Snowflake account.                                                                                                                                                                                                                                                                                                                                                                                 | Optional. Defaults to `443`.                                                        | `0`-`65535`                                                                                                          |
| **warehouse** `string`          | The default pool of compute resources the Immuta system user will use to run queries and perform other Snowflake operations.                                                                                                                                                                                                                                                                                                             | Required                                                                            | -                                                                                                                    |
| **database** `string`           | The name of the Snowflake database Immuta will create to store internal entitlements and other user data specific to Immuta. This database will only be readable for the Immuta user and should not be granted to other users. The database name may only contain letters, numbers, and underscores and cannot start with a number.                                                                                                      | Required                                                                            | -                                                                                                                    |
| **impersonation** `object`      | Enables user impersonation. See the [impersonation object](#snowflake-impersonation-object).                                                                                                                                                                                                                                                                                                                                             | Optional                                                                            | -                                                                                                                    |
| **audit** `object`              | This object enables Snowflake query audit. See the [audit object](#audit-object).                                                                                                                                                                                                                                                                                                                                                        | Optional                                                                            | -                                                                                                                    |
| **workspaces** `object`         | This object represents an Immuta project workspace configured for Snowflake. See the [workspaces object](#snowflake-workspace-object).                                                                                                                                                                                                                                                                                                   | Optional                                                                            | -                                                                                                                    |
| **lineage** `object`            | Enables Snowflake lineage ingestion so that Immuta can apply tags added to Snowflake tables to their descendant data source columns. See the [lineage object](#snowflake-lineage-object).                                                                                                                                                                                                                                                | Optional                                                                            | -                                                                                                                    |
| **userRolePattern** `object`    | This object excludes roles and users from authorization checks. See the user [role pattern object](#snowflake-user-role-pattern-object).                                                                                                                                                                                                                                                                                                 | Optional                                                                            | -                                                                                                                    |

### Databricks Unity Catalog config object

The **config** object configures the Databricks Unity Catalog integration information and options. The table below outlines its child parameters.

| Attribute                       | Description                                                                                                                                                                                                                                                                                                                                    | Required or optional                           | Accepted values                                                    |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------ |
| **host** `string`               | Your Databricks workspace URL. This is the same as `hostname` and `workspaceURL`.                                                                                                                                                                                                                                                              | Required                                       | -                                                                  |
| **port** `integer`              | The port to use when registering your Databricks account connection.                                                                                                                                                                                                                                                                           | Optional. Defaults to `443`.                   | `0`-`65535`                                                        |
| **httpPath** `string`           | The HTTP path of your Databricks cluster or SQL warehouse.                                                                                                                                                                                                                                                                                     | Required                                       | -                                                                  |
| **catalog** `string`            | The name of the Databricks catalog Immuta will create to store internal entitlements and other user data specific to Immuta. This catalog will only be readable for the Immuta service principal and should not be granted to other users. The catalog name may only contain letters, numbers, and underscores and cannot start with a number. | Required                                       | -                                                                  |
| **authenticationType** `string` | The authentication type to register the connection. Make sure this auth type is the same used when requesting the script.                                                                                                                                                                                                                      | Required                                       | <ul><li><code>token</code></li><li><code>oAuthM2M</code></li></ul> |
| **token** `string`              | The Databricks personal access token for the service principal created for Immuta.                                                                                                                                                                                                                                                             | Required if `authenticationType` is `token`    | -                                                                  |
| **oAuthClientConfig** `object`  | See [Databricks Unity Catalog OAuth object](#databricks-unity-catalog-oauth-object).                                                                                                                                                                                                                                                           | Required if `authenticationType` is `oAuthM2M` | -                                                                  |
| **audit** `object`              | This object enables Databricks Unity Catalog query audit. See the [audit object](#audit-object).                                                                                                                                                                                                                                               | Optional                                       | -                                                                  |
| **workspaceIds** `array`        | The optional workspaces to filter audit to.                                                                                                                                                                                                                                                                                                    | Optional                                       | -                                                                  |
| **groupPattern** `object`       | Excludes the listed group from having data policies applied in the Databricks Unity Catalog integration. See the [Databricks Unity Catalog group pattern object](#databricks-group-pattern-object).                                                                                                                                            | Optional                                       | -                                                                  |

## Snowflake objects

### Snowflake private key object

The **privateKey** object represents your private key in Snowflake. This object is required if you set `privateKey` as your authentication type. The table below outlines the object's child parameters

| Attribute                 | Description                                                                                                                                                                                                                                                                                                                                                                   | Accepted values |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- |
| **keyName** `string`      | The Immuta-given name of your private key.                                                                                                                                                                                                                                                                                                                                    | `PRIV_KEY_FILE` |
| **userFilename** `string` | The name of the private key file on your machine.                                                                                                                                                                                                                                                                                                                             | -               |
| **content** `string`      | <p>The private key. Replace new lines in the private key with a backslash before the new line character: "\n". If you are using another means of configuration, such as a Python script, the "\n" should not be added.</p><p>In the <a href="../integrations-api/how-to-guides/snowflake-api">integrations API</a>, this is the <code>config.privateKey</code> attribute.</p> | -               |

### Snowflake OAuth object

The **oAuthClientConfig** object represents your OAuth configuration in Snowflake. This object is required if you set `oAuthClientCredentials` as your authentication type. The table below outlines the object's child parameters

| Attribute                                | Description                                                                                  | Required or optional                       | Accepted values                                                |
| ---------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------ | -------------------------------------------------------------- |
| **useCertificate** `boolean`             | Specifies whether or not to use a certificate and private key for authenticating with OAuth. | Required                                   | <ul><li><code>true</code></li><li><code>false</code></li></ul> |
| **clientId** `string`                    | The client identifier of your registered application.                                        | Required                                   | -                                                              |
| **authorityUrl** `string`                | Authority URL of your identity provider.                                                     | Required                                   | -                                                              |
| **scope** `string`                       | The scope limits the operations and roles allowed in Snowflake by the access token.          | Required                                   | `session:role-any`                                             |
| **resource** `string`                    | An optional resource to pass to the token provider.                                          | Optional                                   | -                                                              |
| **publicCertificateThumbprint** `string` | Your certificate thumbprint.                                                                 | Required if **useCertificate** is `true`.  | -                                                              |
| **oauthPrivateKey** `object`             | See [Snowflake OAuth with certificate/private key.](#snowflake-oauth-private-key)            | Required if **useCertificate** is `true`.  | -                                                              |
| **clientSecret** `string`                | Client secret of the application.                                                            | Required if **useCertificate** is `false`. | -                                                              |

### Snowflake OAuth private key

The **oauthPrivateKey** object represents your OAuth private key in Snowflake. This object is required if you set `oAuthClientCredentials` as your authentication type, and `useCertificate` is set to `true`. The table below outlines the object's child parameters.

| Attribute                 | Description                                                                                                                                                                                                                                                                                                                                                                                                                                  | Accepted values            |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- |
| **keyName** `string`      | The Immuta-given name of your private key.                                                                                                                                                                                                                                                                                                                                                                                                   | `oauth client certificate` |
| **userFilename** `string` | The name of your private key file on your machine.                                                                                                                                                                                                                                                                                                                                                                                           | -                          |
| **content** `string`      | <p>The private key. Replace new lines in the private key with a backslash before the new line character: "\n". If you are using another means of configuration, such as a Python script, the "\n" should not be added.</p><p>In the <a href="../../integrations-api/reference-guides/integration-configuration-payload#snowflake-configuration-objects">integrations API</a>, this is the <code>config.oauthPrivateKey</code> attribute.</p> | -                          |

### Snowflake impersonation object

The **impersonation** object enables and defines roles for user impersonation for Snowflake. The table below outlines its child parameters.

| Parameter             | Description                              | Accepted values   |
| --------------------- | ---------------------------------------- | ----------------- |
| **enabled** `boolean` | When `true`, enables user impersonation. | `true` or `false` |
| **role** `string`     | The name of the user impersonation role. | -                 |

### Snowflake workspace object

The **workspaces** object represents an Immuta project workspace configured for Snowflake. The table below outlines its child parameters.

| Parameter                      | Description                                                                                                                                                                                                                                                                                                                       | Accepted values   |
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
| **enabled** `boolean`          | This setting enables or disables Snowflake project workspaces. If you use Snowflake secure data sharing with Immuta, set this property to `true`, as project workspaces are required. If you use Snowflake table grants, set this property to `false`; project workspaces cannot be used when Snowflake table grants are enabled. | `true` or `false` |
| **warehouses** `array[string]` | This array is a list of warehouses workspace users have usage privileges on.                                                                                                                                                                                                                                                      | -                 |

### Snowflake lineage object

The **lineage** object enables Snowflake lineage ingestion. When this setting is enabled, Immuta automatically applies tags added to a Snowflake table to its descendant data source columns in Immuta so you can build policies using those tags to restrict access to sensitive data. The table below outlines its child parameters.

| Parameter                                  | Description                                                                                                                                                                                                                                                                                      | Required or optional               | Accepted values                                                  |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------- | ---------------------------------------------------------------- |
| **enabled** `boolean`                      | When `true`, enables Snowflake lineage so that Immuta can apply tags added to Snowflake data sources to their descendant data source columns in Immuta.                                                                                                                                          | Optional                           | `true` or `false`                                                |
| **lineageConfig** `object`                 | Configures what tables Immuta will ingest lineage history for, the number of rows to ingest per batch, and what tags to propagate. Child parameters include **tableFilter**, **tagFilterRegex**, and **ingestBatchSize**.                                                                        | Required if **enabled** is `true`. | -                                                                |
| lineageConfig.**tableFilter** `string`     | This child parameter of **lineageConfig** determines which tables Immuta will ingest lineage for. Use a regular expression that excludes `/` from the beginning and end to filter tables. Without this filter, Immuta will attempt to ingest lineage for every table on your Snowflake instance. | Optional                           | Regular expression that excludes `/` from the beginning and end. |
| lineageConfig.**tagFilterRegex** `string`  | This child parameter of **lineageConfig** determines which tags to propagate using lineage. Use a regular expression that excludes `/` from the beginning and end to filter tags. Without this filter, Immuta will ingest lineage for every tag on your Snowflake instance.                      | Optional                           | Regular expression that excludes `/` from the beginning and end. |
| lineageConfig.**ingestBatchSize** `number` | This child parameter of **lineageConfig** configures the number of rows Immuta ingests per batch when streaming Access History data from your Snowflake instance.                                                                                                                                | Optional                           | Minimum value of `1`.                                            |

### Snowflake user role pattern object

The **userRolePattern** object excludes roles and users from authorization checks in the Snowflake integration. The table below outlines its child parameter.

| Parameter                   | Description                                                                                                                    | Accepted values |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | --------------- |
| **exclude** `array[string]` | This array is a list of roles and users (both case-sensitive) to exclude from authorization checks. Wildcards are unsupported. | -               |

## Databricks Unity Catalog objects

### Databricks group pattern object

The **groupPattern** object excludes the listed group from having data policies applied in the Databricks Unity Catalog integration. This account-level group should be used for privileged users and service accounts that require an unmasked view of data. The table below outlines its child parameter.

| Parameter         | Description                                                                                                                                                                                                                                                                                                                                                                                                                                           | Default values           | Accepted values |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ | --------------- |
| **deny** `string` | The name of an account-level group in Databricks that will be excluded from having data policies applied. This group should be used for privileged users and service accounts that require an unmasked view of data. See the [Databricks Unity Catalog integration reference guide](https://documentation.immuta.com/saas/configuration/integrations/databricks/databricks-unity-catalog/unity-catalog-overview#policy-exemption-groups) for details. | `immuta_exemption_group` | -               |

### Databricks Unity Catalog OAuth object

The **oAuthClientConfig** object represents your OAuth configuration in Databricks Unity Catalog. This object is required if you set `oAuthM2M` as your authentication type. The table below outlines the object's child parameters

| Attribute                    | Description                                                                                                                                              | Required or optional | Accepted values |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- | --------------- |
| **useCertificate** `boolean` | Specifies whether or not to use a certificate and private key for authenticating with OAuth.                                                             | Required             | `false`         |
| **clientId** `string`        | The client identifier of your registered application.                                                                                                    | Required             | -               |
| **authorityUrl** `string`    | Authority URL of your identity provider.                                                                                                                 | Required             | -               |
| **scope** `string`           | The scope limits the operations and roles allowed in Databricks. See the [OAuth 2.0 documentation](https://oauth.net/2/scope/) for details about scopes. | Required             | `all-apis`      |
| **clientSecret** `string`    | [Client secret created for the Immuta service principal](https://docs.databricks.com/en/dev-tools/auth/oauth-m2m.html).                                  | Required             | -               |

## Audit object

The **audit** object enables query audit. The table below outlines its child parameter.

| Attribute             | Description                                                                         | Accepted values                                                |
| --------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| **enabled** `boolean` | If `true`, query audit is enabled. Set to `true` for the recommended configuration. | <ul><li><code>true</code></li><li><code>false</code></li></ul> |

[^1]: Your display name cannot be any of the following words: `data`, `connection`, `object`, `crawl`, `search`, `settings`, `metadata`, `permission`, `sync`, `bulk`, and `upgrade`.
