> For the complete documentation index, see [llms.txt](https://documentation.immuta.com/latest/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.immuta.com/latest/configuration/integrations/azure-synapse-analytics/reference-guides/pre-configuration.md).

# Azure Synapse Analytics Pre-Configuration Details

This page describes the Azure Synapse integration, configuration options, and features. See the [Azure Synapse integration page](/latest/configuration/integrations/azure-synapse-analytics/configure-azure-synapse-analytics-integration.md) for a tutorial on enabling the integration and these features through the app settings page.

## Feature availability

| Project Workspaces | Tag Ingestion | User Impersonation   | Query Audit | Multiple Integrations |
| ------------------ | ------------- | -------------------- | ----------- | --------------------- |
| :x:                | :x:           | :white\_check\_mark: | :x:         | :white\_check\_mark:  |

## Prerequisite

A running dedicated SQL pool

## Authentication methods

The Azure Synapse Analytics integration supports the following authentication methods to configure the integration and create data sources:

* **Username and password**: Immuta supports SQL authentication with username and password for Azure Synapse Analytics. See the [SQL Authentication in Azure Synapse Analytics documentation](https://learn.microsoft.com/en-us/azure/synapse-analytics/sql/sql-authentication?tabs=serverless) for details.
* **OAuth authentication with Microsoft Entra ID**: You can use this authentication method to register data sources or configure the Azure Synapse Analytics integration using the [manual setup method](/latest/configuration/integrations/azure-synapse-analytics/configure-azure-synapse-analytics-integration.md#manual-setup). To use this authentication method, OAuth must be set up via [Microsoft Entra ID app registration with a **client secret**](https://learn.microsoft.com/en-us/azure/azure-sql/database/authentication-aad-service-principal-tutorial?view=azuresql#create-an-application-in-microsoft-entra-id). See the [Microsoft Entra documentation](https://learn.microsoft.com/en-us/entra/identity-platform/v2-protocols) for details about using OAuth authentication with Microsoft Entra ID.

## Tag ingestion

Immuta cannot ingest tags from Synapse, but you can connect any of these [supported external catalogs](/latest/configuration/manage-data-metadata/catalogs/reference-guides/pre-configuration.md) to work with your integration.

## User impersonation

Impersonation allows users to query data as another Immuta user in Azure Synapse Analytics. To enable user impersonation, see the [Configure Azure Synapse Analytics integration guide](/latest/configuration/integrations/azure-synapse-analytics/configure-azure-synapse-analytics-integration.md).

## Multiple integrations

A user can [configure multiple integrations of Synapse](/latest/configuration/integrations/azure-synapse-analytics/configure-azure-synapse-analytics-integration.md) to a single Immuta tenant.

## Limitations

* Immuta does not support the following masking types in this integration because of limitations with dedicated SQL pools (linked below). Any column assigned one of these masking types will be masked to NULL:
  * Reversible Masking: Synapse UDFs currently only support SQL, but Immuta needs to execute code (such as JavaScript or Python) to support this masking feature. See the [Synapse Documentation for details](https://docs.microsoft.com/en-us/sql/t-sql/statements/create-function-sql-data-warehouse?view=azure-sqldw-latest).
  * Format Preserving Masking: Synapse UDFs currently only support SQL, but Immuta needs to execute code (such as JavaScript or Python) to support this masking feature. See the [Synapse Documentation for details](https://docs.microsoft.com/en-us/sql/t-sql/statements/create-function-sql-data-warehouse?view=azure-sqldw-latest).
  * Regex: The built in string replace function does not support full regex. See the [Synapse Documentation for details](https://docs.microsoft.com/en-us/sql/t-sql/functions/replace-transact-sql?view=azure-sqldw-latest).
* The delimiters configured when enabling the integration cannot be changed once they are set. To change the delimiters, the integration has to be disabled and re-enabled.
* If the generated view name is more than 128 characters, then the view name is shortened to 128 characters. This could cause collisions between view names if the shortened version is the same for two different data sources.
* For proper updates, the dedicated SQL pools have to be running when changes are made to users or data sources in Immuta.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://documentation.immuta.com/latest/configuration/integrations/azure-synapse-analytics/reference-guides/pre-configuration.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
