> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dqlabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Setup

> Connect Prizm to Microsoft Purview: service principal, connection details, push and pull configuration, and scheduling.

## Connecting Microsoft Purview to Prizm

### Prerequisites

| Requirement | Notes |
| - | - |
| Azure subscription and Purview account | The Purview account name. The base URL has the form `https://<account>.purview.azure.com` |
| Microsoft Entra tenant | The **Tenant ID** (Directory ID) |
| App registration | Register an application in Microsoft Entra ID and note its **Client ID**. Create a **Client Secret** and copy it immediately, because Azure shows it only once |
| Purview roles | Assign the service principal **Data Reader** to pull and **Data Curator** to push, on the collections you include. A **Collection Admin** role is needed only if Prizm creates custom metadata types |
| Storage access | **Storage Blob Data Reader** on any Azure Data Lake Storage Gen2 account that holds the assets, if Prizm needs to read the linked storage |
| Network access | Outbound HTTPS (port 443) from Prizm to the Purview account and to `login.microsoftonline.com`, including any proxy, firewall, or allowlist entries |
| Credential storage | Store the client secret in a vault and select **Enable Vault**, rather than sharing it in email, chat, or tickets |
| Prizm access | Admin or privileged user access to configure integrations |

Role assignments can take a few minutes to take effect. If Prizm returns an authorization error, confirm the service principal has the **Data Reader** role on the collection that holds your assets.

> [!NOTE]
>
> Don't share the client secret in email, chat, or tickets. Store it in a vault and select **Enable Vault** in Prizm.

***

## Step 1: Open Integration settings

Navigate to **Organization** → **Integration**, click the **+** icon to open the Channels catalog, and select **Microsoft Purview**. Existing integrations are listed on the Integration page with their valid and active status.

## Step 2: Enter connection details

| Field | Description |
| - | - |
| **Purview Account Name** | Your Purview account. The form shows the base URL format `https://{account}.purview.azure.com` |
| **Enable Vault** | Select to fetch the credentials from a connected vault instead of typing them |
| **Tenant ID** | Microsoft Entra tenant (Directory) ID |
| **Client ID** | Application (client) ID of the service principal |
| **Client Secret** | Client secret of the service principal. Prizm stores it encrypted |

## Step 3: Configure Push settings

Under **PUSH**, select **Asset** and **Attribute**. For each level, turn on the data you want to push:

| Option | What is pushed |
| - | - |
| **Summary** | The quality summary for the asset or attribute |
| **Alerts** | Alert information |
| **Issues** | Issue information |
| **Metrics** | Measure results |

## Step 4: Configure Pull settings

Under **PULL**, select what to import from Purview: **Domains**, **Tags**, **Products**, and **Terms**. Pulled items appear on the semantics page with source type "Purview".

## Step 5: Save and schedule

Click **Create Integration** to save. To change a saved integration, open it from the Integration list, edit the fields, and click **Update Integration**.

> [!NOTE]
>
> When a schedule is active, per-asset automatic runs are disabled and the schedule controls when data is pushed.

## Validate Before Production

1. Confirm the integration shows as valid and active on the Integration page.
2. Run a limited pull and check that the expected domains, tags, and terms appear on the semantics page.
3. Push to a few test assets and check the values in Purview. Confirm unrelated Purview metadata is unchanged.
4. If the integration shows as invalid, recheck the Tenant ID, Client ID, secret, and the service principal's Purview roles.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.