Microsoft Purview
The Microsoft Purview integration enhances data governance and compliance management capabilities. This integration empowers JupiterOne users to more efficiently govern their data landscape, manage compliance across various regulations, and mitigate risks through Purview's advanced data discovery and classification tools.
- Installation
- Authorization
- Data Model
Installation
To use this integration, JupiterOne requires an app registration in Microsoft Entra ID (Azure Active Directory) and the created app's credentials. The app's service principal must then be granted the required roles on your Microsoft Purview root collection.
Prerequisites
The integration authenticates as a service principal and reads from the Microsoft Purview data plane. Before you begin, assign the following collection roles to the service principal on your Purview root collection (a collection administrator must make these assignments):
- Data readers — read-only access to data assets, classifications, classification rules, collections, and glossary terms. This covers reading the account, collections, data map assets, and classifications.
- Data source administrator — manage and monitor data sources and scans. This covers listing data sources and reading their scans.
When a Purview account is created, no one but the creator can use its APIs until they are added to one or more of these roles in a collection. For a service-principal-created account, a collection administrator must grant these roles on the root collection.
Create the app registration in Azure
- Sign in to the Azure portal.
- Go to App registrations and select New registration. After the app is created, record its Application (client) ID and Directory (tenant) ID.
- In the app, go to Certificates & secrets and select New client secret. Record the secret Value; it is shown only once.
Assign the Purview collection roles
- Open your Purview account in the Azure portal and select Open Microsoft Purview governance portal, or go to the Microsoft Purview governance portal.
- From the left-side menu, select Data Map, then Collections.
- Select the root collection, which is named after your Microsoft Purview account and appears at the top of the list.
- Open the Role assignments tab and add the app's service principal to both Data readers and Data source administrator.
Only a collection administrator can add role assignments.
Configuration in JupiterOne
To install this integration, navigate to the Integrations tab in JupiterOne and select Microsoft Purview. Select New Instance to begin configuring the integration.
In the new instance configuration, provide:
-
Account Name used to identify the integration instance in JupiterOne. Ingested entities have this value stored in
tag.AccountNamewhen theAccountNametoggle is enabled. -
Description to assist in identifying the integration instance, if desired.
-
Polling Interval that you feel is sufficient for your monitoring needs. You may leave this as
DISABLEDand manually execute the integration.
Creating an instance requires:
-
Purview Account Name — the name of your Microsoft Purview account. This is the account name used to reach the Purview data plane.
-
Tenant ID — the Microsoft Entra ID directory (tenant) ID from your app registration.
-
Client ID — the application (client) ID from your app registration.
-
Client Secret — the client secret value generated under the app registration's Certificates & secrets.
Select Create once all values are provided to finalize the integration.
Next steps
Now that your integration instance has been configured, it will begin running on the polling interval you provided, populating data within JupiterOne. Continue on to our Instance management guide to learn more about working with and editing integration instances.
Roles
RBAC roles that must be assigned to the integration principal.
Show Roles (2)
Data readersData source administrator
Endpoints
API endpoints that the integration makes requests to.
Show Endpoints (7)
GET https://{purviewAccountName}.purview.azure.com/?api-version=2019-11-01-previewGET https://{purviewAccountName}.purview.azure.com/collections?api-version=2019-11-01-previewGET https://{purviewAccountName}.purview.azure.com/datamap/api/atlas/v2/entity/bulkGET https://{purviewAccountName}.purview.azure.com/datamap/api/atlas/v2/types/classificationdef/name/{classificationName}GET https://{purviewAccountName}.purview.azure.com/scan/datasourcesGET https://{purviewAccountName}.purview.azure.com/scan/datasources/{dataSourceName}/scans?api-version=2023-09-01POST https://{purviewAccountName}.purview.azure.com/datamap/api/search/query?api-version=2023-09-01
Documentation Links
Links to provider documentation relevant to setup and configuration.
Show Documentation Links (8)
- https://learn.microsoft.com/en-us/purview/data-gov-classic-permissions
- https://learn.microsoft.com/en-us/rest/api/purview/accountdataplane/accounts/get-account-properties?view=rest-purview-accountdataplane-2019-11-01-preview
- https://learn.microsoft.com/en-us/rest/api/purview/accountdataplane/collections/list-collections?view=rest-purview-accountdataplane-2019-11-01-preview
- https://learn.microsoft.com/en-us/rest/api/purview/datamapdataplane/discovery/query?view=rest-purview-datamapdataplane-2023-09-01
- https://learn.microsoft.com/en-us/rest/api/purview/datamapdataplane/entity/list-by-guids?view=rest-purview-datamapdataplane-2023-09-01
- https://learn.microsoft.com/en-us/rest/api/purview/datamapdataplane/type/get-classification-def-by-name?view=rest-purview-datamapdataplane-2023-09-01
- https://learn.microsoft.com/en-us/rest/api/purview/scanningdataplane/data-sources/list?view=rest-purview-scanningdataplane-2023-09-01
- https://learn.microsoft.com/en-us/rest/api/purview/scanningdataplane/scans/list-by-data-source?view=rest-purview-scanningdataplane-2023-09-01
Per-Step Breakdown
Detailed authorization requirements for each ingestion step.
Show all steps (4)
| Step | Roles | Endpoints |
|---|---|---|
| Fetch Classifications | Data readers | GET https://{purviewAccountName}.purview.azure.com/datamap/api/atlas/v2/types/classificationdef/name/{classificationName} |
| Fetch Data Sources | Data source administrator | GET https://{purviewAccountName}.purview.azure.com/scan/datasources |
| Fetch Entities | Data readers | POST https://{purviewAccountName}.purview.azure.com/datamap/api/search/query?api-version=2023-09-01, GET https://{purviewAccountName}.purview.azure.com/datamap/api/atlas/v2/entity/bulk |
| Fetch Scans | Data source administrator | GET https://{purviewAccountName}.purview.azure.com/scan/datasources/{dataSourceName}/scans?api-version=2023-09-01 |
Entities
The following entities are created:
| Resources | Entity _type | Entity _class |
|---|---|---|
| Account | microsoft_purview_account | Account |
| Classification | microsoft_purview_classification | Record |
| Collection | microsoft_purview_collection | DataCollection |
| Data Source | microsoft_purview_data_source | DataObject |
| Entity | microsoft_purview_entity | Entity |
| Scan | microsoft_purview_scan | Assessment |
Relationships
The following relationships are created:
Source Entity _type | Relationship _class | Target Entity _type |
|---|---|---|
microsoft_purview_account | HAS | microsoft_purview_collection |
microsoft_purview_classification | HAS | microsoft_purview_entity |
microsoft_purview_collection | HAS | microsoft_purview_collection |
microsoft_purview_collection | HAS | microsoft_purview_data_source |
microsoft_purview_scan | SCANS | microsoft_purview_data_source |
microsoft_purview_scan | IDENTIFIED | microsoft_purview_entity |
Mapped Relationships
The following mapped relationships are created:
Source Entity _type | Relationship _class | Target Entity _type | Direction |
|---|---|---|---|
microsoft_purview_account | HAS | azure_resource_group | REVERSE |
microsoft_purview_data_source | CONNECTS | azure_resource | FORWARD |
microsoft_purview_entity | IS | azure_sql_server | FORWARD |
microsoft_purview_entity | IS | azure_sql_database | FORWARD |
microsoft_purview_entity | IS | azure_postgresql_server | FORWARD |
microsoft_purview_entity | IS | azure_postgresql_database | FORWARD |
microsoft_purview_entity | IS | azure_mysql_server | FORWARD |
microsoft_purview_entity | IS | azure_mysql_database | FORWARD |
microsoft_purview_entity | IS | azure_cosmosdb_account | FORWARD |
microsoft_purview_entity | IS | azure_cosmosdb_sql_database | FORWARD |
microsoft_purview_entity | IS | azure_storage_account | FORWARD |
microsoft_purview_entity | IS | azure_mariadb_server | FORWARD |
microsoft_purview_entity | IS | azure_mariadb_database | FORWARD |