Connect to and manage a Power BI tenant in Microsoft Purview (Same Tenant)
This article outlines how to register a Power BI tenant in a same-tenant scenario, and how to authenticate and interact with the tenant in Microsoft Purview. For more information about Microsoft Purview, read the introductory article.
Note
Starting from September 18th 2023, the Power BI data source in Microsoft Purview will be renamed to Fabric in all regions. You can still use “Power BI” as the keyword to quickly locate the source to register a Power BI tenant and set up a scan. Together with the change of data source name, the Power BI Capacity and Power BI Workspace will be renamed to Fabric Capacity and Fabric Workspace accordingly. Besides the renaming related changes on UI, there are no changes to the existing functionalities and user experience for data source registration or setting up scans. All existing sources or scans for Power BI will continue to work with no changes needed and currently only Power BI items can be scanned in Fabric tenants.
Supported capabilities
Metadata Extraction | Full Scan | Incremental Scan | Scoped Scan | Classification | Labeling | Access Policy | Lineage | Data Sharing | Live view |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | Yes | No | No | No | No | Yes | No | No |
When scanning Power BI source, Microsoft Purview supports:
Extracting technical metadata including:
- Workspaces
- Dashboards
- Reports
- Datasets including the tables and columns
- Dataflows
- Datamarts
Fetching static lineage on assets relationships among above Power BI artifacts as well as external data source assets. Learn more from Power BI lineage.
For a list of metadata available for Power BI, see our available metadata documentation.
Supported scenarios for Power BI scans
Scenarios | Microsoft Purview public access allowed/denied | Power BI public access allowed /denied | Runtime option | Authentication option | Deployment checklist |
---|---|---|---|---|---|
Public access with Azure IR | Allowed | Allowed | Azure Runtime | Microsoft Purview Managed Identity | Review deployment checklist |
Public access with Self-hosted IR | Allowed | Allowed | Self-hosted runtime | Delegated authentication / Service principal | Review deployment checklist |
Private access | Allowed | Denied | Self-hosted runtime | Delegated authentication / Service principal | Review deployment checklist |
Private access | Denied | Allowed | Self-hosted runtime | Delegated authentication / Service principal | Review deployment checklist |
Private access | Denied | Denied | Self-hosted runtime | Delegated authentication / Service principal | Review deployment checklist |
Known limitations
- If Microsoft Purview or Power BI tenant is protected behind a private endpoint, Self-hosted runtime is the only option to scan.
- Delegated authentication and service principal are the only supported authentication options when self-hosted integration runtime is used during the scan.
- You can create only one scan for a Power BI data source that is registered in your Microsoft Purview account.
- If Power BI dataset schema isn't shown after scan, it's due to one of the current limitations with Power BI Metadata scanner.
- Empty workspaces are skipped.
- Payload is currently limited to 2MB and 800 columns when scanning an asset.
Prerequisites
Before you start, make sure you have the following prerequisites:
An Azure account with an active subscription. Create an account for free.
An active Microsoft Purview account.
Authentication options
- Managed Identity
- Delegated Authentication
- Service Principal
Deployment checklist
Use any of the following deployment checklists during the setup or for troubleshooting purposes, based on your scenario:
Scan same-tenant Power BI using Azure IR and Managed Identity in public network
Make sure Power BI and Microsoft Purview accounts are in the same tenant.
Make sure Power BI tenant ID is entered correctly during the registration.
Make sure your Power BI Metadata model is up to date by enabling metadata scanning.
From Azure portal, validate if Microsoft Purview account Network is set to public access.
From Power BI tenant Admin Portal, make sure Power BI tenant is configured to allow public network.
In Azure Active Directory tenant, create a security group.
From Azure Active Directory tenant, make sure Microsoft Purview account MSI is member of the new security group.
On the Power BI Tenant Admin portal, validate if Allow service principals to use read-only Power BI admin APIs is enabled for the new security group.
Register Power BI tenant
This section describes how to register a Power BI tenant in Microsoft Purview for same-tenant scenario.
Select the Data Map on the left navigation.
Then select Register.
Select Power BI as your data source.
Give your Power BI instance a friendly name.
The name must be between 3-63 characters long and must contain only letters, numbers, underscores, and hyphens. Spaces aren't allowed.
By default, the system will find the Power BI tenant that exists in the same Azure Active Directory tenant.
Scan same-tenant Power BI
Tip
To troubleshoot any issues with scanning:
- Confirm you have completed the deployment checklist for your scenario.
- Review our scan troubleshooting documentation.
Authenticate to Power BI tenant
In Azure Active Directory Tenant, where Power BI tenant is located:
In the Azure portal, search for Azure Active Directory.
Create a new security group in your Azure Active Directory, by following Create a basic group and add members using Azure Active Directory.
Tip
You can skip this step if you already have a security group you want to use.
Select Security as the Group Type.
Add relevant user to the security group:
If you are using Managed Identity as authentication method, add your Microsoft Purview managed identity to this security group. Select Members, then select + Add members.
If you are using delegated authentication or service principal as authentication method, add your service principal to this security group. Select Members, then select + Add members.
Search for your Microsoft Purview managed identity or service principal and select it.
You should see a success notification showing you that it was added.
Associate the security group with Power BI tenant
Log into the Power BI admin portal.
Select the Tenant settings page.
Important
You need to be a Power BI Admin to see the tenant settings page.
Select Admin API settings > Allow service principals to use read-only Power BI admin APIs (Preview).
Select Specific security groups.
Select Admin API settings > Enhance admin APIs responses with detailed metadata and Enhance admin APIs responses with DAX and mashup expressions > Enable the toggle to allow Microsoft Purview Data Map automatically discover the detailed metadata of Power BI datasets as part of its scans.
Important
After you update the Admin API settings on your power bi tenant, wait around 15 minutes before registering a scan and test connection.
Caution
When you allow the security group you created (that has your Microsoft Purview managed identity as a member) to use read-only Power BI admin APIs, you also allow it to access the metadata (e.g. dashboard and report names, owners, descriptions, etc.) for all of your Power BI artifacts in this tenant. Once the metadata has been pulled into the Microsoft Purview, Microsoft Purview's permissions, not Power BI permissions, determine who can see that metadata.
Note
You can remove the security group from your developer settings, but the metadata previously extracted won't be removed from the Microsoft Purview account. You can delete it separately, if you wish.
Create scan for same-tenant Power BI using Azure IR and Managed Identity
This is a suitable scenario, if both Microsoft Purview and Power BI tenant are configured to allow public access in the network settings.
To create and run a new scan, do the following:
In the Microsoft Purview Studio, navigate to the Data map in the left menu.
Navigate to Sources.
Select the registered Power BI source.
Select + New scan.
Give your scan a name. Then select the option to include or exclude the personal workspaces.
Note
Switching the configuration of a scan to include or exclude a personal workspace will trigger a full scan of Power BI source.
Select Test Connection before continuing to next steps. If Test Connection failed, select View Report to see the detailed status and troubleshoot the problem.
- Access - Failed status means the user authentication failed. Scans using managed identity will always pass because no user authentication required.
- Assets (+ lineage) - Failed status means the Microsoft Purview - Power BI authorization has failed. Make sure the Microsoft Purview managed identity is added to the security group associated in Power BI admin portal.
- Detailed metadata (Enhanced) - Failed status means the Power BI admin portal is disabled for the following setting - Enhance admin APIs responses with detailed metadata
Set up a scan trigger. Your options are Recurring, and Once.
On Review new scan, select Save and run to launch your scan.
Create scan for same-tenant using self-hosted IR with service principal
This scenario can be used when Microsoft Purview and Power BI tenant or both, are configured to use private endpoint and deny public access. Additionally, this option is also applicable if Microsoft Purview and Power BI tenant are configured to allow public access.
For more information related to Power BI network, see How to configure private endpoints for accessing Power BI.
For more information about Microsoft Purview network settings, see Use private endpoints for your Microsoft Purview account.
To create and run a new scan, do the following:
In the Azure portal, select Azure Active Directory and create an App Registration in the tenant. Provide a web URL in the Redirect URI. For information about the Redirect URI see this documentation from Azure Active Directory.
Take note of Client ID(App ID).
From Azure Active Directory dashboard, select newly created application and then select App registration. From API Permissions, assign the application the following delegated permissions:
- Microsoft Graph openid
- Microsoft Graph User.Read
Under Advanced settings, enable Allow Public client flows.
Under Certificates & secrets, create a new secret and save it securely for next steps.
In Azure portal, navigate to your Azure key vault.
Select Settings > Secrets and select + Generate/Import.
Enter a name for the secret and for Value, type the newly created secret for the App registration. Select Create to complete.
If your key vault isn't connected to Microsoft Purview yet, you'll need to create a new key vault connection
In the Microsoft Purview Studio, navigate to the Data map in the left menu.
Navigate to Sources.
Select the registered Power BI source.
Select + New scan.
Give your scan a name. Then select the option to include or exclude the personal workspaces.
Note
Switching the configuration of a scan to include or exclude a personal workspace will trigger a full scan of Power BI source.
Select your self-hosted integration runtime from the drop-down list.
For the Credential, select service principal and select + New to create a new credential.
Create a new credential and provide required parameters:
- Name: Provide a unique name for credential
- Authentication method: Service principal
- Tenant ID: Your Power BI tenant ID
- Client ID: Use Service Principal Client ID (App ID) you created earlier
Select Test Connection before continuing to next steps. If Test Connection failed, select View Report to see the detailed status and troubleshoot the problem
- Access - Failed status means the user authentication failed. Scans using managed identity will always pass because no user authentication required.
- Assets (+ lineage) - Failed status means the Microsoft Purview - Power BI authorization has failed. Make sure the Microsoft Purview managed identity is added to the security group associated in Power BI admin portal.
- Detailed metadata (Enhanced) - Failed status means the Power BI admin portal is disabled for the following setting - Enhance admin APIs responses with detailed metadata
Set up a scan trigger. Your options are Recurring, and Once.
On Review new scan, select Save and run to launch your scan.
Create scan for same-tenant using self-hosted IR with delegated authentication
This scenario can be used when Microsoft Purview and Power BI tenant or both, are configured to use private endpoint and deny public access. Additionally, this option is also applicable if Microsoft Purview and Power BI tenant are configured to allow public access.
For more information related to Power BI network, see How to configure private endpoints for accessing Power BI.
For more information about Microsoft Purview network settings, see Use private endpoints for your Microsoft Purview account.
To create and run a new scan, do the following:
Create a user account in Azure Active Directory tenant and assign the user to Azure Active Directory role, Power BI Administrator. Take note of username and sign in to change the password.
Assign proper Power BI license to the user.
Navigate to your Azure key vault.
Select Settings > Secrets and select + Generate/Import.
Enter a name for the secret and for Value, type the newly created password for the Azure AD user. Select Create to complete.
If your key vault isn't connected to Microsoft Purview yet, you'll need to create a new key vault connection
Create an App Registration in your Azure Active Directory tenant. Provide a web URL in the Redirect URI.
Take note of Client ID(App ID).
From Azure Active Directory dashboard, select newly created application and then select App registration. Assign the application the following delegated permissions, and grant admin consent for the tenant:
- Power BI Service Tenant.Read.All
- Microsoft Graph openid
- Microsoft Graph User.Read
Under Advanced settings, enable Allow Public client flows.
In the Microsoft Purview Studio, navigate to the Data map in the left menu.
Navigate to Sources.
Select the registered Power BI source.
Select + New scan.
Give your scan a name. Then select the option to include or exclude the personal workspaces.
Note
Switching the configuration of a scan to include or exclude a personal workspace will trigger a full scan of Power BI source.
Select your self-hosted integration runtime from the drop-down list.
For the Credential, select Delegated authentication and select + New to create a new credential.
Create a new credential and provide required parameters:
- Name: Provide a unique name for credential
- Authentication method: Delegated auth
- Client ID: Use Service Principal Client ID (App ID) you created earlier
- User name: Provide the username of Power BI Administrator you created earlier
- Password: Select the appropriate Key vault connection and the Secret name where the Power BI account password was saved earlier.
Select Test Connection before continuing to next steps. If Test Connection failed, select View Report to see the detailed status and troubleshoot the problem
- Access - Failed status means the user authentication failed. Scans using managed identity will always pass because no user authentication required.
- Assets (+ lineage) - Failed status means the Microsoft Purview - Power BI authorization has failed. Make sure the Microsoft Purview managed identity is added to the security group associated in Power BI admin portal.
- Detailed metadata (Enhanced) - Failed status means the Power BI admin portal is disabled for the following setting - Enhance admin APIs responses with detailed metadata
Set up a scan trigger. Your options are Recurring, and Once.
On Review new scan, select Save and run to launch your scan.
Next steps
Now that you've registered your source, follow the below guides to learn more about Microsoft Purview and your data.