Azure Synapse Analytics
Last updated
Last updated
Audience: Data Governors, Data Owners, and System Administrators
Content Summary: This page describes the Azure Synapse Analytics integration, through which Immuta applies policies directly in Azure Synapse Analytics.
For a tutorial on configuring Azure Synapse Analytics see the .
The Azure Synapse Analytics is a policy push integration that allows Immuta to apply policies directly in Azure Synapse Analytics Dedicated SQL pools without the need for users to go through a proxy. Instead, users can work within their existing Synapse Studio and have per-user policies dynamically applied at query time.
This integration works on a per-Dedicated-SQL-pool basis: all of Immuta's policy definitions and user entitlements data need to be in the same pool as the target data sources because Dedicated SQL pools do not support cross-database joins. Immuta creates schemas inside the configured Dedicated SQL pool that contain policy-enforced views that users query.
When the integration is configured, the Application Admin specifies the
Immuta Database: This is the pre-existing database Immuta uses. Immuta will create views from the tables contained in this database, and all schemas and views created by Immuta will exist in this database, such as the schemas immuta_system
, immuta_functions
, and the immuta_procedures
that contain the tables, views, UDFs, and stored procedures that support the integration.
Immuta Schema: The schema that Immuta manages. All views generated by Immuta for tables registered as data sources will be created in this schema.
User Profile Delimiters: Since Azure Synapse Analytics dedicated SQL pools do not support array or hash objects, certain user access information is stored as delimited strings; the Application Admin can modify those delimiters to ensure they do not conflict with possible characters in strings.
For a tutorial on configuring the integration see the .
Synapse data sources are represented as views and are under one schema instead of a database, so their view names are a combination of their schema and table name, separated by an underscore.
For example, with a configuration that uses IMMUTA
as the schema in the database dedicated_pool
, the view name for the data source dedicated_pool.tpc.case
would be dedicated_pool.IMMUTA.tpc_case
.
You can see the view information on the data source overview page under Connection Information.
This integration uses webhooks to keep views up-to-date with the corresponding Immuta data sources. When a data source or policy is created, updated, or disabled, a webhook is called that creates, modifies, or deletes the dynamic view in the Immuta schema. Note that only standard views are available because Azure Synapse Analytics Dedicated SQL pools do not support secure views.
Immuta creates Immuta schemas inside the configured Synapse Dedicated SQL pool.
Data source metadata, tags, user metadata, and policy definitions are stored in Immuta's Metadata Database.
The Immuta Web Service calls a stored procedure that modifies the user entitlements or policies and updates data source view definitions as necessary.
An Immuta Application Administrator , registering their initial Synapse Dedicated SQL pool with Immuta.
A Data Owner in Immuta as data sources. A Data Owner, Data Governor, or Administrator or in Immuta.
A Synapse user who is subscribed to the data source in Immuta in Synapse and sees policy-enforced data.