# Integrations Overview

Immuta does not require users to learn a new API or language to access protected data. Instead, Immuta integrates with existing tools and data platforms while remaining invisible to downstream consumers.

The table below outlines features supported by each of Immuta's data platform integrations.

<table><thead><tr><th width="138"></th><th>Subscription policies</th><th>Data policies</th><th>Identification</th><th>Impersonation</th><th>Query audit</th><th>Tag ingestion</th></tr></thead><tbody><tr><td>Amazon Redshift</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td></tr><tr><td>Amazon S3</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td></tr><tr><td>Azure Synapse Analytics</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td></tr><tr><td>Databricks Spark</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td></tr><tr><td>Databricks Unity Catalog</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td>Google BigQuery</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td></tr><tr><td>Snowflake</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><a data-footnote-ref href="#user-content-fn-1">Supported with caveats</a></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td>Starburst (Trino)</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td></tr></tbody></table>

## Subscription policy support matrix

The table below illustrates the subscription policy access types supported by each integration. If a data platform isn't included in the table, that integration does not support any subscription policies. For more details about read and write access policy support for these data platforms, see the [Subscription policy access types reference guide](/latest/governance/author-policies-for-data-access-control/authoring-policies-in-secure/section-contents/reference-guides/subscription-access-types.md).

<table><thead><tr><th>Integration</th><th width="199">Read access policies</th><th>Write access policies</th></tr></thead><tbody><tr><td><a href="/pages/G79ouaNp3yHuOsE5CI53#granting-redshift-privileges">Amazon Redshift</a></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span> View-based integrations are read-only</td></tr><tr><td><a href="/pages/G79ouaNp3yHuOsE5CI53#granting-amazon-s3-privileges">Amazon S3</a></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td><a href="/pages/G79ouaNp3yHuOsE5CI53#granting-azure-synapse-analytics-privileges">Azure Synapse Analytics</a></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span> View-based integrations are read-only</td></tr><tr><td><a href="/pages/G79ouaNp3yHuOsE5CI53#granting-databricks-spark-privileges">Databricks Spark</a></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span> Write access is controlled through <a href="/pages/0yKJfQWQbdo0NWR9TcGG#databricks-spark-project-workspaces">workspaces</a> and <a href="/pages/JitRRPK5wrKpDBJ2o1yI">scratch paths</a></td></tr><tr><td><a href="/pages/G79ouaNp3yHuOsE5CI53#granting-databricks-unity-catalog-privileges">Databricks Unity Catalog</a></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td><a href="/pages/G79ouaNp3yHuOsE5CI53#granting-google-bigquery-privileges">Google BigQuery</a></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span> View-based integrations are read-only</td></tr><tr><td><a href="/pages/G79ouaNp3yHuOsE5CI53#granting-snowflake-privileges">Snowflake</a></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td><a href="/pages/G79ouaNp3yHuOsE5CI53#granting-starburst-trino-privileges">Starburst (Trino)</a></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr></tbody></table>

## Data policy support matrix

The table below outlines the types of data policies supported for various data platforms. If a data platform isn't included in the table, that integration does not support any data policies.

For details about each of these policies, see the [Data policy types page](/latest/governance/author-policies-for-data-access-control/authoring-policies-in-secure/data-policies/reference-guides/data-policies.md).

|                                           | Amazon Redshift      | Azure Synapse Analytics | Databricks Spark                                 | Databricks Unity Catalog                         | Google BigQuery      | Snowflake            | Starburst (Trino)    |
| ----------------------------------------- | -------------------- | ----------------------- | ------------------------------------------------ | ------------------------------------------------ | -------------------- | -------------------- | -------------------- |
| Cell-level masking                        | :white\_check\_mark: | :white\_check\_mark:    | :white\_check\_mark:                             | :white\_check\_mark:                             | :x:                  | :white\_check\_mark: | :white\_check\_mark: |
| [Custom function](#user-content-fn-2)[^2] | :white\_check\_mark: | :white\_check\_mark:    | :white\_check\_mark:                             | :white\_check\_mark:                             | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark: |
| Format preserving masking                 | :x:                  | :x:                     | :x:                                              | :x:                                              | :x:                  | :white\_check\_mark: | :x:                  |
| Hashing                                   | :white\_check\_mark: | :white\_check\_mark:    | :white\_check\_mark:                             | :white\_check\_mark:                             | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark: |
| Masking fields within STRUCT columns      | :x:                  | :x:                     | :white\_check\_mark:                             | [Supported with caveats](#user-content-fn-3)[^3] | :x:                  | :x:                  | :x:                  |
| Minimize                                  | :white\_check\_mark: | :white\_check\_mark:    | :white\_check\_mark:                             | :white\_check\_mark:                             | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark: |
| Only show data by time                    | :white\_check\_mark: | :white\_check\_mark:    | :white\_check\_mark:                             | :white\_check\_mark:                             | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark: |
| Only show rows (matching)                 | :white\_check\_mark: | :white\_check\_mark:    | :white\_check\_mark:                             | :white\_check\_mark:                             | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark: |
| Randomized response                       | :x:                  | :x:                     | :x:                                              | :x:                                              | :x:                  | :white\_check\_mark: | :x:                  |
| Regex                                     | :white\_check\_mark: | :x:                     | :white\_check\_mark:                             | :white\_check\_mark:                             | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark: |
| Replace with NULL or constant             | :white\_check\_mark: | :white\_check\_mark:    | [Supported with caveats](#user-content-fn-4)[^4] | :white\_check\_mark:                             | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark: |
| Reversible masking                        | :white\_check\_mark: | :x:                     | :white\_check\_mark:                             | :x:                                              | :x:                  | :white\_check\_mark: | :white\_check\_mark: |
| Rounding                                  | :white\_check\_mark: | :white\_check\_mark:    | :white\_check\_mark:                             | :white\_check\_mark:                             | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark: |
| WHERE clause                              | :white\_check\_mark: | :white\_check\_mark:    | :white\_check\_mark:                             | :white\_check\_mark:                             | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark: |

## Identification support matrix

Identification has varied support for data sources from different technologies based on the identifier type. For details about how identification works in Immuta, see the [Data identification page](/latest/configuration/manage-data-metadata/data-discovery.md).

| Technology              | Regex                | Dictionary           | Column name regex    |
| ----------------------- | -------------------- | -------------------- | -------------------- |
| Amazon Redshift         | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark: |
| Amazon S3               | :x:                  | :x:                  | :white\_check\_mark: |
| Azure Synapse Analytics | :x:                  | :x:                  | :white\_check\_mark: |
| Databricks              | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark: |
| Google BigQuery         | :x:                  | :x:                  | :white\_check\_mark: |
| Snowflake               | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark: |
| Starburst (Trino)       | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark: |

## Query audit support for platform queries

The table below outlines what information is included in the query audit logs for each integration where query audit is supported.

<table data-full-width="false"><thead><tr><th></th><th>Databricks Spark</th><th>Databricks Unity Catalog</th><th>Snowflake</th><th>Starburst (Trino)</th></tr></thead><tbody><tr><td>Table and user coverage</td><td>Registered data sources and users</td><td>All tables and users</td><td>Registered data sources and users</td><td>Registered data sources and users</td></tr><tr><td>Object queried</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td>Columns returned</td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td>Rows returned</td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td>Query text</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td>Unauthorized information</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><a data-footnote-ref href="#user-content-fn-5">Limited support</a></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td></tr></tbody></table>

**Legend**:

* :white\_check\_mark: This is available and the information is included in audit logs.
* :x: This is not available and the information is not included in audit logs.

[^1]: Impersonation is not supported in Snowflake if [table grants](/latest/configuration/integrations/snowflake/reference-guides/table-grants-overview.md) or [low row access policy mode](/latest/configuration/integrations/snowflake/reference-guides/low-row-access-overview.md) is enabled.

[^2]: Poorly written functions can lead to data leaks.

[^3]: Databricks Unity Catalog ARRAY, MAP, or STRUCT type columns only support masking with NULL.

[^4]: On Databricks data sources, joins will not be allowed on data protected with replace with NULL or constant policies.

[^5]: Unauthorized information is only available when the integration has table grants enabled. Unauthorized audit records will show a table name, but will not be connected to an Immuta data source.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.immuta.com/latest/configuration/integrations/integrations-overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
